use of com.epam.pipeline.entity.pipeline.Folder in project cloud-pipeline by epam.
the class FolderManagerTest method shouldCloneFolderWithDataStorages.
@Test
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void shouldCloneFolderWithDataStorages() {
Folder sourceFolder = new Folder();
sourceFolder.setName(FOLDER_TO_CLONE);
folderManager.create(sourceFolder);
DataStorageVO dataStorageVO = constructDataStorageVO(TEST_NAME, TEST_DESCRIPTION, DataStorageType.S3, TEST_PATH, STS_DURATION, LTS_DURATION, sourceFolder.getId(), TEST_MOUNT_POINT, TEST_MOUNT_OPTIONS);
StoragePolicy storagePolicy = dataStorageVO.getStoragePolicy();
storagePolicy.setBackupDuration(BACKUP_DURATION);
dataStorageVO.setStoragePolicy(storagePolicy);
AbstractDataStorage expectedDataStorage = dataStorageManager.create(dataStorageVO, true, true, false);
Folder childSourceFolder = new Folder();
childSourceFolder.setName(CHILD_FOLDER_TO_CLONE);
childSourceFolder.setParentId(sourceFolder.getId());
folderManager.create(childSourceFolder);
dataStorageVO.setParentFolderId(childSourceFolder.getId());
dataStorageVO.setName(TEST_NAME_1);
dataStorageVO.setPath(TEST_NAME_1);
dataStorageManager.create(dataStorageVO, true, true, false);
Folder destinationFolder = new Folder();
destinationFolder.setName(TEST_NAME);
folderManager.create(destinationFolder);
folderManager.cloneFolder(sourceFolder.getId(), destinationFolder.getId(), TEST_CLONE_PREFIX);
destinationFolder = folderManager.loadByNameOrId(TEST_NAME);
destinationFolder = folderManager.load(destinationFolder.getId());
Folder clonedFolder = destinationFolder.getChildFolders().get(0);
AbstractDataStorage clonedDataStorage = clonedFolder.getStorages().get(0);
clonedDataStorage = dataStorageManager.load(clonedDataStorage.getId());
assertTrue(clonedDataStorage.getName().startsWith(TEST_CLONE_PREFIX + storageSuffix));
assertTrue(clonedDataStorage.getPath().startsWith((TEST_CLONE_PREFIX + storageSuffix).toLowerCase()));
assertDataStorages(expectedDataStorage, clonedDataStorage);
Folder clonedChildFolder = clonedFolder.getChildFolders().get(0);
clonedDataStorage = clonedChildFolder.getStorages().get(0);
clonedDataStorage = dataStorageManager.load(clonedDataStorage.getId());
assertTrue(clonedDataStorage.getName().startsWith(TEST_CLONE_PREFIX + storageSuffix));
assertTrue(clonedDataStorage.getPath().startsWith((TEST_CLONE_PREFIX + storageSuffix).toLowerCase()));
assertDataStorages(expectedDataStorage, clonedDataStorage);
}
use of com.epam.pipeline.entity.pipeline.Folder in project cloud-pipeline by epam.
the class FolderManagerTest method cloneFolderWithExistentFolderNameShouldFail.
@Test(expected = IllegalStateException.class)
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void cloneFolderWithExistentFolderNameShouldFail() {
Folder sourceFolder = new Folder();
sourceFolder.setName(FOLDER_TO_CLONE);
folderManager.create(sourceFolder);
Folder childSourceFolder = new Folder();
childSourceFolder.setName(CHILD_FOLDER_TO_CLONE);
childSourceFolder.setParentId(sourceFolder.getId());
folderManager.create(childSourceFolder);
folderManager.cloneFolder(childSourceFolder.getId(), sourceFolder.getId(), CHILD_FOLDER_TO_CLONE);
}
use of com.epam.pipeline.entity.pipeline.Folder in project cloud-pipeline by epam.
the class FolderManagerTest method createFolderTest.
@Test
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void createFolderTest() throws Exception {
folderManager.create(folder);
Folder loaded = folderManager.load(folder.getId());
assertEquals(folder.getId(), loaded.getId());
assertEquals(folder.getName(), loaded.getName());
assertNull(folder.getParentId());
}
use of com.epam.pipeline.entity.pipeline.Folder in project cloud-pipeline by epam.
the class FolderManagerTest method loadFolderWithPipelineAndStorage.
@Test
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void loadFolderWithPipelineAndStorage() throws Exception {
folderManager.create(folder);
PipelineVO pipelineVO = constructPipelineVO(TEST_NAME, TEST_REPO, folder.getId());
DataStorageVO storageVO = constructDataStorageVO(TEST_NAME, TEST_DESCRIPTION, DataStorageType.S3, TEST_PATH, STS_DURATION, LTS_DURATION, folder.getId(), TEST_MOUNT_POINT, TEST_MOUNT_OPTIONS);
Pipeline pipeline = pipelineManager.create(pipelineVO);
AbstractDataStorage storage = dataStorageManager.create(storageVO, false, false, false);
Folder loaded = folderManager.load(folder.getId());
Pipeline loadedPipe = loaded.getPipelines().get(0);
assertNotNull(loadedPipe);
assertEquals(pipeline.getId(), loadedPipe.getId());
assertEquals(pipeline.getName(), loadedPipe.getName());
assertEquals(pipeline.getParentFolderId(), loadedPipe.getParentFolderId());
AbstractDataStorage loadedStorage = loaded.getStorages().get(0);
assertNotNull(loadedStorage);
assertEquals(storage.getId(), loadedStorage.getId());
assertEquals(storage.getName(), loadedStorage.getName());
assertEquals(storage.getParentFolderId(), loadedStorage.getParentFolderId());
}
use of com.epam.pipeline.entity.pipeline.Folder in project cloud-pipeline by epam.
the class FolderManagerTest method testListProjectsShouldReturnFolderWithIndicatorSet.
@Test
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public void testListProjectsShouldReturnFolderWithIndicatorSet() {
folderManager.create(folder);
MetadataVO metadataVO = new MetadataVO();
metadataVO.setEntity(new EntityVO(folder.getId(), AclClass.FOLDER));
metadataVO.setData(Collections.singletonMap(PROJECT_INDICATOR_TYPE, new PipeConfValue(DEFAULT_PARAM_TYPE, PROJECT_INDICATOR_VALUE)));
metadataManager.updateMetadataItem(metadataVO);
List<Folder> folders = folderManager.loadAllProjects().getChildFolders();
assertThat(folders.size(), is(1));
assertThat(folders.get(0).getId(), is(folder.getId()));
}
Aggregations