summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java657
1 files changed, 317 insertions, 340 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java
index e3c17dd489..6325f983b5 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java
@@ -23,371 +23,348 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.List;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.*;
public class ImageManagerImplTest {
- private static final String IMAGE_NOT_EXIST_MSG =
- "Vendor Software Product Image with Id image1 does not exist for Vendor Software Product with" +
- " id VSP_ID and version 0.1";
-
- private static final String VSP_ID = "VSP_ID";
- private static final Version VERSION = new Version(0, 1);
- private static final String COMPONENT_ID = "COMPONENT_ID";
- private static final String IMAGE1_ID = "image1";
- private static final String IMAGE2_ID = "image2";
-
- @Mock
- private ImageDao imageDao;
- @Mock
- private CompositionEntityDataManager compositionEntityDataManagerMock;
- @Mock
- private VendorSoftwareProductInfoDao vspInfoDao;
- @InjectMocks
- @Spy
- private ImageManagerImpl imageManager;
-
- @BeforeMethod
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
- }
-
- @AfterMethod
- public void tearDown() {
- imageManager = null;
- }
-
-
- @Test
- public void testListWhenNone() {
- final Collection<ImageEntity> imageEntities =
- imageManager.listImages(VSP_ID, VERSION, COMPONENT_ID);
- Assert.assertEquals(imageEntities.size(), 0);
- }
-
- @Test
- public void testList() {
-
- doReturn(Arrays.asList(
- createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID),
- createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE2_ID)))
- .when(imageDao).list(anyObject());
-
-
- final Collection<ImageEntity> images =
- imageManager.listImages(VSP_ID, VERSION, COMPONENT_ID);
- Assert.assertEquals(images.size(), 2);
- for (ImageEntity image : images) {
- Assert.assertEquals(image.getImageCompositionData().getFileName(),
- IMAGE1_ID.equals(image.getId()) ? IMAGE1_ID + "_name" : IMAGE2_ID + "_name");
+ private static final String IMAGE_NOT_EXIST_MSG =
+ "Vendor Software Product Image with Id image1 does not exist for Vendor Software Product with"
+ + " id VSP_ID and version 0.1";
+
+ private static final String VSP_ID = "VSP_ID";
+ private static final Version VERSION = new Version(0, 1);
+ private static final String COMPONENT_ID = "COMPONENT_ID";
+ private static final String IMAGE1_ID = "image1";
+ private static final String IMAGE2_ID = "image2";
+
+ private static final String IMAGE_QUEST_SCHEMA =
+ "{\n" + "\"$schema\": \"http://json-schema.org/draft-04/schema#\",\n" + "\"type\": \"object\",\n"
+ + "\"properties\": {\n" + " \"format\": {\n" + " \"type\": \"string\",\n"
+ + " \"enum\": [\n"
+ + " \"aki\",\"ami\",\"ari\",\"iso\",\"qcow2\",\"raw\", \"vdi\",\"vhd\",\"vmdk\"\n"
+ + " ]\n" + " },\n" + " \"version\": {\n" + " \"type\": \"string\",\n"
+ + " \"minLength\": 1\n" + " },\n" + " \"md5\": {\n" + " \"type\": \"string\",\n"
+ + " \"maxLength\": 32\n" + " }\n" + "},\n" + " \"additionalProperties\": false,\n"
+ + " \"required\": [\n" + " \"version\"\n" + " ]\n" + "}";
+
+ @Mock
+ private ImageDao imageDao;
+ @Mock
+ private CompositionEntityDataManager compositionEntityDataManagerMock;
+ @Mock
+ private VendorSoftwareProductInfoDao vspInfoDao;
+ @InjectMocks
+ @Spy
+ private ImageManagerImpl imageManager;
+
+ @BeforeMethod
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
}
- }
-
- @Test
- public void testCreateOnNotManualImage_negative() {
-
- testCreate_negative(new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, null),
- VendorSoftwareProductErrorCodes.ADD_IMAGE_NOT_ALLOWED_IN_HEAT_ONBOARDING);
- }
-
- @Test
- public void testCreateManualImage() {
- ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
- imageManager.createImage(expected);
- verify(compositionEntityDataManagerMock).createImage(expected);
- verify(compositionEntityDataManagerMock).createImage(expected);
- }
-
- /*@Test
- public void testCreateManualImageWithDuplicateName() {
- ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
-
- ImageEntity expectedDiffName = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- Image image = expectedDiffName.getImageCompositionData();
- image.setFileName(IMAGE1_ID + "_Name");
- expectedDiffName.setImageCompositionData(image);
- List<ImageEntity> vfcImageList = new ArrayList<>();
- vfcImageList.add(expectedDiffName);
- doReturn(vfcImageList).when(imageDao).list(anyObject());
- try {
- imageManager.createImage(expected);
- Assert.fail();
- } catch (CoreException ex) {
- Assert.assertEquals(VendorSoftwareProductErrorCodes.DUPLICATE_IMAGE_NAME_NOT_ALLOWED,
- ex.code().id());
+
+ @AfterMethod
+ public void tearDown() {
+ imageManager = null;
+ }
+
+
+ @Test
+ public void testListWhenNone() {
+ final Collection<ImageEntity> imageEntities = imageManager.listImages(VSP_ID, VERSION, COMPONENT_ID);
+ Assert.assertEquals(imageEntities.size(), 0);
}
- }*/
-
- @Test
- public void testUpdateNonExistingImageId_negative() {
- testUpdate_negative(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID,
- VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
- }
-
- @Test
- public void testUpdateImage() {
- doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID))
- .when(imageDao).get(anyObject());
-
- doReturn(new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID))
- .when(compositionEntityDataManagerMock)
- .validateEntity(anyObject(), anyObject(), anyObject());
-
- ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- Image imageData = new Image();
- imageData.setFileName(IMAGE1_ID + "_name");
- imageData.setDescription(IMAGE1_ID + " desc updated");
- imageEntity.setImageCompositionData(imageData);
-
- CompositionEntityValidationData validationData =
- imageManager.updateImage(imageEntity);
- Assert.assertTrue(validationData == null || validationData.getErrors() == null);
- verify(imageDao).update(imageEntity);
- }
-
- @Test
- public void testIllegalImageUpdate() {
- doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID))
- .when(imageDao).get(anyObject());
-
- doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
-
- CompositionEntityValidationData toBeReturned =
- new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID);
- toBeReturned.setErrors(Arrays.asList("error1", "error2"));
- doReturn(toBeReturned)
- .when(compositionEntityDataManagerMock)
- .validateEntity(anyObject(), anyObject(), anyObject());
-
- ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- Image imageData = new Image();
- imageData.setFileName(IMAGE1_ID + "_name_updated");
- imageData.setDescription(IMAGE1_ID + " desc updated");
- imageEntity.setImageCompositionData(imageData);
-
- CompositionEntityValidationData validationData = imageManager.updateImage(imageEntity);
- Assert.assertNotNull(validationData);
- Assert.assertEquals(validationData.getErrors().size(), 2);
-
- verify(imageDao, never()).update(imageEntity);
- }
-
- @Test
- public void testUpdateHEATImageFileName() throws Exception {
- doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID))
- .when(imageDao).get(anyObject());
-
- String updatedName = IMAGE1_ID +" name updated";
- CompositionEntityValidationData toBeReturned =
- new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID);
-
- toBeReturned.setErrors(Arrays.asList("#/name: "+updatedName+" is not a valid value."+
- IMAGE1_ID+"is the only possible value for this field"));
- doReturn(toBeReturned).when(compositionEntityDataManagerMock).validateEntity(anyObject(),anyObject(),anyObject());
-
- ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- Image imageData = new Image();
- imageData.setFileName(updatedName);
- imageData.setDescription(IMAGE1_ID + " desc updated");
- imageEntity.setImageCompositionData(imageData);
-
- CompositionEntityValidationData output = imageManager.updateImage(imageEntity);
- Assert.assertEquals(output.getErrors(), toBeReturned.getErrors());
-
- }
-
- @Test
- public void testGetNonExistingImageId_negative() {
- testGet_negative(VSP_ID, VERSION, COMPONENT_ID, "non existing image id",
- VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
- }
-
- @Test
- public void testGet() {
- ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- doReturn(expected).when(imageDao).get(anyObject());
- String compositionSchema = "schema string";
- doReturn(compositionSchema).when(imageManager).getImageCompositionSchema(anyObject());
-
- CompositionEntityResponse<Image> response =
- imageManager.getImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- Assert.assertEquals(response.getId(), expected.getId());
- Assert.assertEquals(response.getData().getFileName(), expected.getImageCompositionData().
- getFileName());
- Assert.assertEquals(response.getData().getDescription(), expected.getImageCompositionData().
- getDescription());
- Assert.assertEquals(response.getSchema(), compositionSchema);
- }
-
- @Test
- public void testDeleteOnNotManualImage() {
- ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- doReturn(expected).when(imageDao).get(anyObject());
- testDelete_negative(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID,
- VendorSoftwareProductErrorCodes.DELETE_IMAGE_NOT_ALLOWED);
- }
-
- @Test
- public void testDeleteOnNotExistImage() {
- testDelete_negative(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID,
- VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
- }
-
- @Test
- public void testDeleteOnManualImage() {
- ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- doReturn(expected).when(imageDao).get(anyObject());
- doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
- imageManager.deleteImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- verify(imageDao).delete(anyObject());
- }
-
- @Test
- public void testGetQuestionnaire() throws Exception {
- ImageEntity image = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- image.setQuestionnaireData("{}");
- doReturn(image).when(imageDao).getQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
-
- String schema = "schema string";
- doReturn(schema).when(imageManager).getImageQuestionnaireSchema(anyObject());
-
- QuestionnaireResponse questionnaire =
- imageManager.getImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- Assert.assertNotNull(questionnaire);
- Assert.assertEquals(questionnaire.getData(), image.getQuestionnaireData());
- Assert.assertEquals(questionnaire.getSchema(), schema);
- Assert.assertNull(questionnaire.getErrorMessage());
- }
-
- @Test
- public void testUpdateManualImageQuestionnaire() throws Exception {
- String json = "{\"md5\" :\"FFDSD33SS\"}";
- doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
- doReturn(new ImageEntity()).when(imageDao).get(anyObject());
-
- imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json);
- verify(imageDao).updateQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json);
- }
-
- /*
- @Test
- public void testUpdateManDupImageVerQuestionnaire() throws Exception {
- try{
- String json = "{\"md5\" :\"FFDSD33SS\", \"version\" :\"1.0\"}";
- ImageEntity imageEntity = new ImageEntity();
- imageEntity.setId(IMAGE2_ID);
- imageEntity.setQuestionnaireData(json);
- List<ImageEntity> imageEntities = new ArrayList(){{
- add(imageEntity);
- }};
+ @Test
+ public void testList() {
+
+ doReturn(Arrays.asList(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID),
+ createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE2_ID))).when(imageDao).list(anyObject());
+
+
+ final Collection<ImageEntity> images = imageManager.listImages(VSP_ID, VERSION, COMPONENT_ID);
+ Assert.assertEquals(images.size(), 2);
+ for (ImageEntity image : images) {
+ Assert.assertEquals(image.getImageCompositionData().getFileName(),
+ IMAGE1_ID.equals(image.getId()) ? IMAGE1_ID + "_name" : IMAGE2_ID + "_name");
+ }
+ }
+
+ @Test
+ public void testCreateOnNotManualImage_negative() {
+
+ testCreate_negative(new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, null),
+ VendorSoftwareProductErrorCodes.ADD_IMAGE_NOT_ALLOWED_IN_HEAT_ONBOARDING);
+ }
+
+ @Test
+ public void testCreateManualImage() {
+ ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
- doReturn(imageEntity).when(imageDao).get(anyObject());
- doReturn(imageEntities).when(imageDao).list(anyObject());
- doReturn(imageEntities.get(0)).when(imageDao).getQuestionnaireData(anyObject(), anyObject(), anyObject(), anyObject());
+ imageManager.createImage(expected);
+ verify(compositionEntityDataManagerMock).createImage(expected);
+ verify(compositionEntityDataManagerMock).createImage(expected);
+ }
- imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json);
- Assert.fail();
- } catch (CoreException exception) {
- Assert.assertEquals(exception.code().id(), VendorSoftwareProductErrorCodes.DUPLICATE_IMAGE_VERSION_NOT_ALLOWED);
+ @Test
+ public void testUpdateNonExistingImageId_negative() {
+ testUpdate_negative(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID,
+ VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
+ }
+ @Test
+ public void testUpdateImage() {
+ doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID)).when(imageDao).get(anyObject());
+
+ doReturn(new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID))
+ .when(compositionEntityDataManagerMock).validateEntity(anyObject(), anyObject(), anyObject());
+
+ ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ Image imageData = new Image();
+ imageData.setFileName(IMAGE1_ID + "_name");
+ imageData.setDescription(IMAGE1_ID + " desc updated");
+ imageEntity.setImageCompositionData(imageData);
+
+ CompositionEntityValidationData validationData = imageManager.updateImage(imageEntity);
+ Assert.assertTrue(validationData == null || validationData.getErrors() == null);
+ verify(imageDao).update(imageEntity);
}
- }
- */
+ @Test
+ public void testIllegalImageUpdate() {
+ doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID)).when(imageDao).get(anyObject());
- /*
+ doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
- @Test
- public void testUpdateHEATImageQuestionnaireWithFormat() throws Exception {
- String json = "{\"format\" :\"qcow2\"}";
- ImageEntity image = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- image.setQuestionnaireData(json);
- doReturn(image).when(imageDao).get(anyObject());
+ CompositionEntityValidationData toBeReturned =
+ new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID);
+ toBeReturned.setErrors(Arrays.asList("error1", "error2"));
+ doReturn(toBeReturned).when(compositionEntityDataManagerMock)
+ .validateEntity(anyObject(), anyObject(), anyObject());
- doReturn(false).when(vspInfoDao).isManual(anyObject(), anyObject());
- doReturn(image).when(imageDao).getQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ Image imageData = new Image();
+ imageData.setFileName(IMAGE1_ID + "_name_updated");
+ imageData.setDescription(IMAGE1_ID + " desc updated");
+ imageEntity.setImageCompositionData(imageData);
- String updJson = "{\"format\" :\"aki\"}";
- try {
- imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, updJson);
- Assert.fail();
- } catch (CoreException ex) {
- Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_IMAGE_NOT_ALLOWED);
+ CompositionEntityValidationData validationData = imageManager.updateImage(imageEntity);
+ Assert.assertNotNull(validationData);
+ Assert.assertEquals(validationData.getErrors().size(), 2);
+
+ verify(imageDao, never()).update(imageEntity);
}
- }
-
- */
-
- @Test
- public void testUpdateHEATImageQuestionnaireWithInvalidFormat() throws Exception {
- String json = "{\"format\" :\"qcow2\"}";
- ImageEntity image = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
- image.setQuestionnaireData(json);
- doReturn(image).when(imageDao).get(anyObject());
-
- String updJson = "{\"format\" :\"a22\"}";
- try {
- imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, updJson);
- Assert.fail();
- } catch (CoreException ex) {
- Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.VFC_IMAGE_INVALID_FORMAT);
+
+ @Test
+ public void testUpdateHEATImageFileName() throws Exception {
+ doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID)).when(imageDao).get(anyObject());
+
+ String updatedName = IMAGE1_ID + " name updated";
+ CompositionEntityValidationData toBeReturned =
+ new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID);
+
+ toBeReturned.setErrors(Arrays.asList("#/name: " + updatedName + " is not a valid value." + IMAGE1_ID
+ + "is the only possible value for this field"));
+ doReturn(toBeReturned).when(compositionEntityDataManagerMock)
+ .validateEntity(anyObject(), anyObject(), anyObject());
+
+ ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ Image imageData = new Image();
+ imageData.setFileName(updatedName);
+ imageData.setDescription(IMAGE1_ID + " desc updated");
+ imageEntity.setImageCompositionData(imageData);
+
+ CompositionEntityValidationData output = imageManager.updateImage(imageEntity);
+ Assert.assertEquals(output.getErrors(), toBeReturned.getErrors());
+
}
- }
-
- private void testCreate_negative(ImageEntity image, String expectedErrorCode) {
- try {
- imageManager.createImage(image);
- Assert.fail();
- } catch (CoreException exception) {
- Assert.assertEquals(exception.code().id(), expectedErrorCode);
+
+ @Test
+ public void testGetNonExistingImageId_negative() {
+ testGet_negative(VSP_ID, VERSION, COMPONENT_ID, "non existing image id",
+ VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
}
- }
-
- private void testDelete_negative(String vspId, Version version, String componentId, String nicId,
- String expectedErrorCode) {
- try {
- imageManager.deleteImage(vspId, version, componentId, nicId);
- Assert.fail();
- } catch (CoreException exception) {
- Assert.assertEquals(exception.code().id(), expectedErrorCode);
+
+ @Test
+ public void testGet() {
+ ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ doReturn(expected).when(imageDao).get(anyObject());
+ String compositionSchema = "schema string";
+ doReturn(compositionSchema).when(imageManager).getImageCompositionSchema(anyObject());
+
+ CompositionEntityResponse<Image> response = imageManager.getImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ Assert.assertEquals(response.getId(), expected.getId());
+ Assert.assertEquals(response.getData().getFileName(), expected.getImageCompositionData()
+ .getFileName());
+ Assert.assertEquals(response.getData().getDescription(), expected.getImageCompositionData().getDescription());
+ Assert.assertEquals(response.getSchema(), compositionSchema);
}
- }
-
- private static ImageEntity createImage(String vspId, Version version, String compId,
- String imageId) {
- ImageEntity imageEntity = new ImageEntity(vspId, version, compId, imageId);
- Image imageData = new Image();
- imageData.setFileName(imageId + "_name");
- imageData.setDescription(imageId + " desc");
- imageEntity.setImageCompositionData(imageData);
- return imageEntity;
- }
-
- private void testUpdate_negative(String vspId, Version version, String componentId,
- String imageId, String expectedErrorCode) {
- try {
- imageManager.updateImage(new ImageEntity(vspId, version, componentId, imageId));
- Assert.fail();
- } catch (CoreException exception) {
- Assert.assertEquals(exception.code().id(), expectedErrorCode);
+
+ @Test
+ public void testDeleteOnNotManualImage() {
+ ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ doReturn(expected).when(imageDao).get(anyObject());
+ testDelete_negative(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID,
+ VendorSoftwareProductErrorCodes.DELETE_IMAGE_NOT_ALLOWED);
}
- }
-
- private void testGet_negative(String vspId, Version version, String componentId, String imageId,
- String expectedErrorCode) {
- try {
- imageManager.getImage(vspId, version, componentId, imageId);
- Assert.fail();
- } catch (CoreException exception) {
- Assert.assertEquals(exception.code().id(), expectedErrorCode);
+
+ @Test
+ public void testDeleteOnNotExistImage() {
+ testDelete_negative(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID,
+ VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
+ }
+
+ @Test
+ public void testDeleteOnManualImage() {
+ ImageEntity expected = createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ doReturn(expected).when(imageDao).get(anyObject());
+ doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
+ imageManager.deleteImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ verify(imageDao).delete(anyObject());
+ }
+
+ @Test
+ public void testGetQuestionnaire() throws Exception {
+ ImageEntity image = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ image.setQuestionnaireData("{}");
+ doReturn(image).when(imageDao).getQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+
+ String schema = "schema string";
+ doReturn(schema).when(imageManager).getImageQuestionnaireSchema(anyObject());
+
+ QuestionnaireResponse questionnaire =
+ imageManager.getImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ Assert.assertNotNull(questionnaire);
+ Assert.assertEquals(questionnaire.getData(), image.getQuestionnaireData());
+ Assert.assertEquals(questionnaire.getSchema(), schema);
+ Assert.assertNull(questionnaire.getErrorMessage());
+ }
+
+ @Test
+ public void testUpdateManualImageQuestionnaire() throws Exception {
+ String json = "{\"md5\" :\"FFDSD33SS\"}";
+ doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
+ doReturn(new ImageEntity()).when(imageDao).get(anyObject());
+
+ imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json);
+ verify(imageDao).updateQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json);
+ }
+
+
+ @Test
+ public void testUpdateManDupImageVerQuestionnaire() throws Exception {
+ try {
+ String json = "{\"md5\" :\"FFDSD33SS\", \"version\" :\"1.0\"}";
+ ImageEntity imageEntity = new ImageEntity();
+ imageEntity.setId(IMAGE2_ID);
+ imageEntity.setQuestionnaireData(json);
+ List<ImageEntity> imageEntities = new ArrayList<ImageEntity>() {{
+ add(imageEntity);
+ }};
+
+ doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject());
+ doReturn(imageEntity).when(imageDao).get(anyObject());
+ doReturn(imageEntities).when(imageDao).list(anyObject());
+ doReturn(imageEntities.get(0)).when(imageDao)
+ .getQuestionnaireData(anyObject(), anyObject(), anyObject(), anyObject());
+
+ doReturn(IMAGE_QUEST_SCHEMA).when(imageManager).getImageQuestionnaireSchema(anyObject());
+
+ imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(),
+ VendorSoftwareProductErrorCodes.DUPLICATE_IMAGE_VERSION_NOT_ALLOWED);
+
+ }
+ }
+
+ @Test
+ public void testUpdateHEATImageQuestionnaireWithFormat() throws Exception {
+ String json = "{\"format\" :\"qcow2\"}";
+ ImageEntity image = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ image.setQuestionnaireData(json);
+ doReturn(image).when(imageDao).get(anyObject());
+
+ doReturn(false).when(vspInfoDao).isManual(anyObject(), anyObject());
+ doReturn(IMAGE_QUEST_SCHEMA).when(imageManager).getImageQuestionnaireSchema(anyObject());
+ doReturn(image).when(imageDao).getQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ String updJson = "{\"format\" :\"aki\"}";
+ try {
+ imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, updJson);
+ Assert.fail();
+ } catch (CoreException ex) {
+ Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_IMAGE_NOT_ALLOWED);
+ }
+ }
+
+ @Test
+ public void testUpdateImageQuestionnaireWithInvalidFormat() throws Exception {
+ String json = "{\"format\" :\"qcow2\"}";
+ ImageEntity image = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID);
+ image.setQuestionnaireData(json);
+ doReturn(image).when(imageDao).get(anyObject());
+
+ String updJson = "{\"format\" :\"a22\"}";
+ try {
+ imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, updJson);
+ Assert.fail();
+ } catch (CoreException ex) {
+ Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.VFC_IMAGE_INVALID_FORMAT);
+ }
+ }
+
+ private void testCreate_negative(ImageEntity image, String expectedErrorCode) {
+ try {
+ imageManager.createImage(image);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private void testDelete_negative(String vspId, Version version, String componentId, String nicId,
+ String expectedErrorCode) {
+ try {
+ imageManager.deleteImage(vspId, version, componentId, nicId);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private static ImageEntity createImage(String vspId, Version version, String compId, String imageId) {
+ ImageEntity imageEntity = new ImageEntity(vspId, version, compId, imageId);
+ Image imageData = new Image();
+ imageData.setFileName(imageId + "_name");
+ imageData.setDescription(imageId + " desc");
+ imageEntity.setImageCompositionData(imageData);
+ return imageEntity;
+ }
+
+ private void testUpdate_negative(String vspId, Version version, String componentId, String imageId,
+ String expectedErrorCode) {
+ try {
+ imageManager.updateImage(new ImageEntity(vspId, version, componentId, imageId));
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private void testGet_negative(String vspId, Version version, String componentId, String imageId,
+ String expectedErrorCode) {
+ try {
+ imageManager.getImage(vspId, version, componentId, imageId);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
}
- }
}