Catalog alignment
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / distribution / engine / DistributionEngineTest.java
index 9e7930d..8473bb2 100644 (file)
 package org.openecomp.sdc.be.components.distribution.engine;
 
 import mockit.Deencapsulation;
-import java.util.LinkedList;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.ArgumentMatchers;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.be.components.BeConfDependentTest;
 import org.openecomp.sdc.be.components.utils.OperationalEnvironmentBuilder;
+import org.openecomp.sdc.be.config.Configuration;
 import org.openecomp.sdc.be.config.DistributionEngineConfiguration;
-import org.openecomp.sdc.be.config.DistributionEngineConfiguration.CreateTopicConfig;
 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.DistributionStatusTopicConfig;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
 import org.openecomp.sdc.be.model.Service;
@@ -52,10 +49,11 @@ import java.util.stream.Stream;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
-public class DistributionEngineTest extends BeConfDependentTest{
+public class DistributionEngineTest{
 
        public static final String DISTRIBUTION_ID = "distId";
        public static final String ENV_ID = "envId";
@@ -70,19 +68,18 @@ public class DistributionEngineTest extends BeConfDependentTest{
 
        @Mock
        private DistributionNotificationSender distributionNotificationSender;
-
+       
        @Mock
        private ServiceDistributionArtifactsBuilder serviceDistributionArtifactsBuilder;
-
-       @Mock
-       private DistributionEngineClusterHealth distributionEngineClusterHealth;
-
+       
        private DummyDistributionConfigurationManager distributionEngineConfigurationMock;
 
        private Map<String, OperationalEnvironmentEntry> envs;
 
     private User modifier = new User();
 
+    private Configuration.EnvironmentContext environmentContext = mock(Configuration.EnvironmentContext.class);
+
        @Before
        public void setUpMock() throws Exception {
                MockitoAnnotations.initMocks(this);
@@ -91,6 +88,9 @@ public class DistributionEngineTest extends BeConfDependentTest{
         modifier.setUserId(USER_ID);
         modifier.setFirstName(MODIFIER);
         modifier.setLastName(MODIFIER);
+        when(environmentContext.getDefaultValue()).thenReturn("General_Revenue-Bearing");
+        when(distributionEngineConfigurationMock.getConfiguration().getEnvironmentContext())
+                               .thenReturn(environmentContext);
        }
 
     @Test
@@ -135,58 +135,17 @@ public class DistributionEngineTest extends BeConfDependentTest{
                                .collect(Collectors.toMap(OperationalEnvironmentEntry::getEnvironmentId, Function.identity()));
        }
 
-       @Test
-       public void testIsActive() throws Exception {
-               // default test
-               testInstance.isActive();
+       private DistributionEngine createTestSubject() {
+               return new DistributionEngine();
        }
-       
-       @Test
-       public void testInitDisabled() throws Exception {
-               // default test
-               Deencapsulation.invoke(testInstance, "init");
-       }
-
-       @Test
-       public void testInitNotValidConfig() throws Exception {
-               DistributionEngine testSubject;
 
-               // default test
-               Mockito.when(distributionEngineConfigurationMock.getConfigurationMock().isStartDistributionEngine())
-                               .thenReturn(true);
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getDistributionStatusTopic())
-                               .thenReturn(new DistributionStatusTopicConfig());
-               Deencapsulation.invoke(testInstance, "init");
-       }
-
-       @Test
+       @Test(expected=NullPointerException.class)
        public void testInit() throws Exception {
                DistributionEngine testSubject;
 
                // default test
-               Mockito.when(distributionEngineConfigurationMock.getConfigurationMock().isStartDistributionEngine())
-                               .thenReturn(true);
-               DistributionStatusTopicConfig value = new DistributionStatusTopicConfig();
-               value.setConsumerId("mock");
-               value.setConsumerGroup("mock");
-               value.setFetchTimeSec(0);
-               value.setPollingIntervalSec(0);
-               LinkedList<String> value2 = new LinkedList<>();
-               value2.add("uebsb91kcdc.it.att.com:3904");
-               value2.add("uebsb92kcdc.it.att.com:3904");
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getUebServers()).thenReturn(value2);
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getEnvironments()).thenReturn(value2);
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getUebPublicKey()).thenReturn("mock");
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getUebSecretKey()).thenReturn("mock");
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getDistributionNotifTopicName())
-                               .thenReturn("mock");
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getDistributionStatusTopicName())
-                               .thenReturn("mock");
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getCreateTopic())
-                               .thenReturn(new CreateTopicConfig());
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getDistributionStatusTopic())
-                               .thenReturn(value);
-               Deencapsulation.invoke(testInstance, "init");
+               testSubject = createTestSubject();
+               Deencapsulation.invoke(testSubject, "init");
        }
 
        @Test
@@ -194,94 +153,109 @@ public class DistributionEngineTest extends BeConfDependentTest{
                DistributionEngine testSubject;
 
                // default test
-               testInstance.shutdown();
+               testSubject = createTestSubject();
+               testSubject.shutdown();
        }
 
        @Test
        public void testValidateConfiguration() throws Exception {
+               DistributionEngine testSubject;
                DistributionEngineConfiguration deConfiguration = new DistributionEngineConfiguration();
                deConfiguration.setDistributionStatusTopic((new DistributionStatusTopicConfig()));
                boolean result;
 
                // default test
-               result = Deencapsulation.invoke(testInstance, "validateConfiguration", deConfiguration);
+               testSubject = createTestSubject();
+               result = Deencapsulation.invoke(testSubject, "validateConfiguration", deConfiguration);
        }
 
        @Test
        public void testIsValidServers() throws Exception {
+               DistributionEngine testSubject;
                List<String> uebServers = null;
                String methodName = "";
                String paramName = "";
                boolean result;
 
                // test 1
+               testSubject = createTestSubject();
                uebServers = null;
-               result = Deencapsulation.invoke(testInstance, "isValidServers",
+               result = Deencapsulation.invoke(testSubject, "isValidServers",
                                new Object[] { List.class, methodName, paramName });
                Assert.assertEquals(false, result);
        }
 
        @Test
        public void testIsValidFqdn() throws Exception {
+               DistributionEngine testSubject;
                String serverFqdn = "";
                boolean result;
 
                // default test
-               result = Deencapsulation.invoke(testInstance, "isValidFqdn", new Object[] { serverFqdn });
+               testSubject = createTestSubject();
+               result = Deencapsulation.invoke(testSubject, "isValidFqdn", new Object[] { serverFqdn });
        }
 
        @Test
        public void testIsValidParam() throws Exception {
+               DistributionEngine testSubject;
                String paramValue = "";
                String methodName = "";
                String paramName = "";
                boolean result;
 
                // default test
-               result = Deencapsulation.invoke(testInstance, "isValidParam",
+               testSubject = createTestSubject();
+               result = Deencapsulation.invoke(testSubject, "isValidParam",
                                new Object[] { paramValue, methodName, paramName });
        }
 
        @Test
        public void testIsValidParam_1() throws Exception {
+               DistributionEngine testSubject;
                List<String> paramValue = null;
                String methodName = "";
                String paramName = "";
                boolean result;
 
                // default test
-               result = Deencapsulation.invoke(testInstance, "isValidParam",
+               testSubject = createTestSubject();
+               result = Deencapsulation.invoke(testSubject, "isValidParam",
                                new Object[] { List.class, methodName, paramName });
        }
 
        @Test
        public void testIsValidObject() throws Exception {
+               DistributionEngine testSubject;
                Object paramValue = null;
                String methodName = "";
                String paramName = "";
                boolean result;
 
                // test 1
+               testSubject = createTestSubject();
                paramValue = null;
-               result = Deencapsulation.invoke(testInstance, "isValidObject",
+               result = Deencapsulation.invoke(testSubject, "isValidObject",
                                new Object[] { Object.class, methodName, paramName });
                Assert.assertEquals(false, result);
        }
 
        @Test
        public void testGetEnvironmentErrorDescription() throws Exception {
+               DistributionEngine testSubject;
                StorageOperationStatus status = null;
                String result;
 
                // default test
-               result = Deencapsulation.invoke(testInstance, "getEnvironmentErrorDescription",
-                               StorageOperationStatus.DISTR_ENVIRONMENT_NOT_AVAILABLE);
-               result = Deencapsulation.invoke(testInstance, "getEnvironmentErrorDescription",
-                               StorageOperationStatus.DISTR_ENVIRONMENT_NOT_FOUND);
-               result = Deencapsulation.invoke(testInstance, "getEnvironmentErrorDescription",
-                               StorageOperationStatus.DISTR_ENVIRONMENT_SENT_IS_INVALID);
-               result = Deencapsulation.invoke(testInstance, "getEnvironmentErrorDescription",
-                               StorageOperationStatus.ARTIFACT_NOT_FOUND);
+               testSubject = createTestSubject();
+               result = Deencapsulation.invoke(testSubject, "getEnvironmentErrorDescription",
+                                StorageOperationStatus.DISTR_ENVIRONMENT_NOT_AVAILABLE);
+               result = Deencapsulation.invoke(testSubject, "getEnvironmentErrorDescription",
+                                StorageOperationStatus.DISTR_ENVIRONMENT_NOT_FOUND);
+               result = Deencapsulation.invoke(testSubject, "getEnvironmentErrorDescription",
+                                StorageOperationStatus.DISTR_ENVIRONMENT_SENT_IS_INVALID);
+               result = Deencapsulation.invoke(testSubject, "getEnvironmentErrorDescription",
+                                StorageOperationStatus.ARTIFACT_NOT_FOUND);
        }
 
        @Test
@@ -291,36 +265,61 @@ public class DistributionEngineTest extends BeConfDependentTest{
                StorageOperationStatus result;
 
                // test 1
+               testSubject = createTestSubject();
                envName = null;
-               result = testInstance.isEnvironmentAvailable(envName);
+               result = testSubject.isEnvironmentAvailable(envName);
                Assert.assertEquals(StorageOperationStatus.DISTR_ENVIRONMENT_SENT_IS_INVALID, result);
 
                // test 2
+               testSubject = createTestSubject();
                envName = "mock";
-               result = testInstance.isEnvironmentAvailable(envName);
+               result = testSubject.isEnvironmentAvailable(envName);
                Assert.assertEquals(StorageOperationStatus.DISTR_ENVIRONMENT_NOT_FOUND, result);
        }
 
-       @Test
+       //TODO Create test coverage for this method
+       /*@Test
        public void testIsEnvironmentAvailable_1() throws Exception {
                DistributionEngine testSubject;
                StorageOperationStatus result;
 
-               LinkedList<String> value = new LinkedList<>();
-               value.add("mock");
-               Mockito.when(distributionEngineConfigurationMock.configurationMock.getEnvironments()).thenReturn(value);
-               testInstance.isEnvironmentAvailable();
+               // default test
+               testSubject = createTestSubject();
+               result = testInstance.isEnvironmentAvailable();
+       }*/
+
+       @Test(expected=NullPointerException.class)
+       public void testDisableEnvironment() throws Exception {
+               DistributionEngine testSubject;
+               String envName = "";
+
+               // default test
+               testSubject = createTestSubject();
+               testSubject.disableEnvironment(envName);
        }
 
        @Test
        public void testBuildTopicName() throws Exception {
+               DistributionEngine testSubject;
                String envName = "";
                String result;
 
                // default test
-               result = Deencapsulation.invoke(testInstance, "buildTopicName", new Object[] { envName });
+               testSubject = createTestSubject();
+               result = Deencapsulation.invoke(testSubject, "buildTopicName", new Object[] { envName });
        }
 
+       @Test
+       public void testIsReadyForDistribution() throws Exception {
+               DistributionEngine testSubject;
+               Service service = null;
+               String envName = "";
+               StorageOperationStatus result;
+
+               // default test
+               testSubject = createTestSubject();
+               result = testSubject.isReadyForDistribution(envName);
+       }
 
 
        @Test
@@ -330,8 +329,7 @@ public class DistributionEngineTest extends BeConfDependentTest{
                OperationalEnvironmentEntry result;
 
                // default test
-               when(environmentsEngine.getEnvironmentById(ArgumentMatchers.anyString()))
-                               .thenReturn(new OperationalEnvironmentEntry());
+               when(environmentsEngine.getEnvironmentById(ArgumentMatchers.anyString())).thenReturn(new OperationalEnvironmentEntry());
                result = testInstance.getEnvironmentById(opEnvId);
        }
 
@@ -343,9 +341,8 @@ public class DistributionEngineTest extends BeConfDependentTest{
                INotificationData result;
 
                // default test
-               // testSubject = createTestSubject();
-               when(serviceDistributionArtifactsBuilder.buildResourceInstanceForDistribution(ArgumentMatchers.any(),
-                               ArgumentMatchers.any(), ArgumentMatchers.any())).thenReturn(new NotificationDataImpl());
+               //testSubject = createTestSubject();
+               when(serviceDistributionArtifactsBuilder.buildResourceInstanceForDistribution(ArgumentMatchers.any(), ArgumentMatchers.any(), ArgumentMatchers.any())).thenReturn(new NotificationDataImpl());
                result = testInstance.buildServiceForDistribution(service, distributionId, workloadContext);
        }
 }