summaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MibManagerImplTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MibManagerImplTest.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MibManagerImplTest.java139
1 files changed, 139 insertions, 0 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MibManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MibManagerImplTest.java
new file mode 100644
index 0000000000..54e979cdaf
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MibManagerImplTest.java
@@ -0,0 +1,139 @@
+package org.openecomp.sdc.vendorsoftwareproduct.impl;
+
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.openecomp.core.enrichment.types.ArtifactType;
+import org.openecomp.sdc.common.errors.CoreException;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.MibDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.MibEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MibUploadStatus;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Optional;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+public class MibManagerImplTest {
+
+ private static final String USER1 = "ComponentsUploadTestUser";
+ private static final String COMPONENT_ID = "COMPONENT_ID";
+ private static final String VSP_ID = "vspId";
+ private static final Version VERSION = new Version(0, 1);
+ private static final String trapFileName = "MMSC.zip";
+ private static final String pollFileName = "MNS OAM FW.zip";
+ private static final String notZipFileName = "notZipFile";
+ private static final String zipWithFoldersFileName = "zipFileWithFolder.zip";
+ private static final String emptyZipFileName = "emptyZip.zip";
+ private static final String ZIP_DIR = "/vspmanager/zips/";
+
+ @Mock
+ private VendorSoftwareProductDao vendorSoftwareProductDaoMock;
+ @Mock
+ private MibDao mibDaoMock;
+ @InjectMocks
+ private MibManagerImpl mibManager;
+
+ @BeforeMethod
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test(expectedExceptions = CoreException.class)
+ public void testUploadEmptyZip() {
+ InputStream zis = getFileInputStream(ZIP_DIR + emptyZipFileName);
+ mibManager.upload(zis, emptyZipFileName, VSP_ID, VERSION, COMPONENT_ID,
+ ArtifactType.SNMP_TRAP, USER1);
+ }
+
+ @Test
+ public void testUploadInvalidZip() {
+ URL url = this.getClass().getResource("/notZipFile");
+ try {
+ mibManager
+ .upload(url.openStream(), notZipFileName, VSP_ID, VERSION, COMPONENT_ID,
+ ArtifactType.SNMP_TRAP, USER1);
+ Assert.fail();
+ } catch (Exception exception) {
+ Assert.assertEquals(exception.getMessage(), "Invalid zip file");
+ }
+ }
+
+ @Test
+ public void testUploadZipWithFolders() {
+ InputStream zis = getFileInputStream(ZIP_DIR + zipWithFoldersFileName);
+
+ try {
+ mibManager
+ .upload(zis, zipWithFoldersFileName, VSP_ID, VERSION, COMPONENT_ID,
+ ArtifactType.SNMP_TRAP, USER1);
+ Assert.fail();
+ } catch (Exception exception) {
+ Assert.assertEquals(exception.getMessage(), "Zip file should not contain folders");
+ }
+ }
+
+
+ @Test
+ public void testListMibFilenames() {
+ MibEntity artifact1 =
+ new MibEntity(VSP_ID, VERSION, COMPONENT_ID, "artifact1");
+ artifact1.setType(ArtifactType.SNMP_TRAP);
+ artifact1.setArtifactName(trapFileName);
+
+ MibEntity artifact2 =
+ new MibEntity(VSP_ID, VERSION, COMPONENT_ID, "artifact2");
+ artifact2.setType(ArtifactType.SNMP_POLL);
+ artifact2.setArtifactName(pollFileName);
+
+ doReturn(Arrays.asList(artifact1, artifact2))
+ .when(mibDaoMock).list(anyObject());
+
+ MibUploadStatus mibUploadStatus =
+ mibManager.listFilenames(VSP_ID, VERSION, COMPONENT_ID, USER1);
+
+ Assert.assertEquals(mibUploadStatus.getSnmpTrap(), trapFileName);
+ Assert.assertEquals(mibUploadStatus.getSnmpPoll(), pollFileName);
+ }
+
+ @Test (expectedExceptions = CoreException.class)
+ public void testDeleteComponentMibWhenNone() {
+ doReturn(Optional.empty()).when(mibDaoMock).getByType(any());
+ mibManager.delete(VSP_ID, VERSION, COMPONENT_ID, ArtifactType.SNMP_POLL, USER1);
+
+ verify(mibDaoMock, never()).delete(anyObject());
+ }
+
+ @Test
+ public void testDeleteComponentMib() {
+ doReturn(Optional.of(new MibEntity(VSP_ID, VERSION, COMPONENT_ID, "artifactId"))).when
+ (mibDaoMock).getByType(anyObject());
+
+ mibManager.delete(VSP_ID, VERSION, COMPONENT_ID, ArtifactType.SNMP_POLL, USER1);
+
+ verify(mibDaoMock).delete(anyObject());
+ }
+
+
+ private InputStream getFileInputStream(String fileName) {
+ URL url = this.getClass().getResource(fileName);
+ try {
+ return url.openStream();
+ } catch (IOException exception) {
+ exception.printStackTrace();
+ return null;
+ }
+ }
+}