Fix locally failing TCs in catalog-be
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / catalog / impl / DmaapProducerTest.java
index cd0c321..be84780 100644 (file)
 
 package org.openecomp.sdc.be.catalog.impl;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.fail;
+import static org.mockito.Mockito.mock;
+import static org.openecomp.sdc.be.catalog.enums.ResultStatusEnum.FAIL;
+import static org.openecomp.sdc.be.catalog.enums.ResultStatusEnum.SERVICE_DISABLED;
+
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.openecomp.sdc.be.catalog.api.IComponentMessage;
 import org.openecomp.sdc.be.catalog.api.IStatus;
 import org.openecomp.sdc.be.catalog.enums.ChangeTypeEnum;
+import org.openecomp.sdc.be.components.distribution.engine.DmaapClientFactory;
+import org.openecomp.sdc.be.config.Configuration;
 import org.openecomp.sdc.be.config.ConfigurationManager;
+import org.openecomp.sdc.be.config.DmaapProducerConfiguration;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.model.CatalogUpdateTimestamp;
@@ -35,41 +46,42 @@ import org.openecomp.sdc.be.model.LifecycleStateEnum;
 import org.openecomp.sdc.be.model.Resource;
 import org.openecomp.sdc.be.model.category.CategoryDefinition;
 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
+import org.openecomp.sdc.common.api.ConfigurationSource;
+import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-import java.util.ArrayList;
-import java.util.List;
 
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.fail;
-import static org.openecomp.sdc.be.catalog.enums.ResultStatusEnum.FAIL;
-import static org.openecomp.sdc.be.catalog.enums.ResultStatusEnum.SERVICE_DISABLED;
-import static org.openecomp.sdc.be.config.ConfigurationManager.getConfigurationManager;
-
-@RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration("classpath:application-context-test.xml")
-public class DmaapProducerTest {
-    private static final Logger LOG = LoggerFactory.getLogger(DmaapProducer.class);
+class DmaapProducerTest {
 
-    @Autowired
-    ConfigurationManager configurationManager;
-    @Autowired
-    private DmaapProducer dmaapProducer;
-   
-
-    //actually sends the message
+    private static final Logger LOG = LoggerFactory.getLogger(DmaapProducerTest.class);
 
+    private ConfigurationManager configurationManager;
+    private DmaapProducer dmaapProducer;
+    private DmaapClientFactory dmaapClientFactory;
+
+    @BeforeEach
+    public void setup() {
+        final ConfigurationSource configurationSource = new FSConfigurationSource(
+            ExternalConfiguration.getChangeListener(),
+            "src/test/resources/config/catalog-be");
+        configurationManager = new ConfigurationManager(configurationSource);
+        final Configuration configuration = new Configuration();
+        final DmaapProducerConfiguration dmaapProducerConfiguration = new DmaapProducerConfiguration();
+        dmaapProducerConfiguration.setActive(true);
+        configuration.setJanusGraphInMemoryGraph(true);
+        configurationManager.setConfiguration(configuration);
+        configurationManager.getConfiguration().setDmaapProducerConfiguration(dmaapProducerConfiguration);
+        ExternalConfiguration.setAppName("catalog-be");
+        dmaapProducer = new DmaapProducer(mock(DmaapClientFactory.class), mock(DmaapProducerHealth.class));
+    }
 
     @Test
-    public void pushComponentMessageTest() {
+    void pushComponentMessageTest() {
         boolean oldVal = isActive();
-
-        Resource resource = new Resource();
+        final Resource resource = new Resource();
         resource.setUniqueId("mockUniqueId");
         resource.setUUID("mockNameUUID");
         resource.setResourceType(ResourceTypeEnum.VF);
@@ -84,56 +96,51 @@ public class DmaapProducerTest {
         resource.setHighestVersion(true);
         resource.setArchived(false);
 
-        List<CategoryDefinition> categories = new ArrayList<>();
-        CategoryDefinition cat = new CategoryDefinition();
-        cat.setName("mockCategory");
-        cat.setNormalizedName("mockCategory");
-        cat.setUniqueId("uniqueId");
-        SubCategoryDefinition subcat = new SubCategoryDefinition();
-        subcat.setName("mockSubCategory");
-        subcat.setNormalizedName("mockSubCategory");
-        subcat.setUniqueId("mockSubCategoryUniqueId");
-        cat.addSubCategory(subcat);
-        categories.add(cat);
+        final List<CategoryDefinition> categories = new ArrayList<>();
+        final CategoryDefinition categoryDefinition = new CategoryDefinition();
+        categoryDefinition.setName("mockCategory");
+        categoryDefinition.setNormalizedName("mockCategory");
+        categoryDefinition.setUniqueId("uniqueId");
+        final SubCategoryDefinition subCategoryDefinition = new SubCategoryDefinition();
+        subCategoryDefinition.setName("mockSubCategory");
+        subCategoryDefinition.setNormalizedName("mockSubCategory");
+        subCategoryDefinition.setUniqueId("mockSubCategoryUniqueId");
+        categoryDefinition.addSubCategory(subCategoryDefinition);
+        categories.add(categoryDefinition);
         resource.setCategories(categories);
 
-        IComponentMessage message = new ComponentMessage(resource, ChangeTypeEnum.LIFECYCLE, new CatalogUpdateTimestamp(123, 1234));
-        ObjectMapper mapper = new ObjectMapper();
+        final IComponentMessage message = new ComponentMessage(resource, ChangeTypeEnum.LIFECYCLE,
+            new CatalogUpdateTimestamp(123, 1234));
         try {
-            String jsonInString = mapper.writeValueAsString(message);
-            LOG.info("[DmaapProducer] pushing message =>{}",jsonInString);
-            //push msg by configuration => will send the message if configuration enables
-            //IStatus status = dmaapProducer.pushComponentMessage(message);
+            LOG.info("[DmaapProducer] pushing message =>{}", new ObjectMapper().writeValueAsString(message));
+            //push message by configuration => will send the message if configuration enables
             //will not test network connectivity to avoid build server automation fail
-
             toggleInactive();
             IStatus status = dmaapProducer.pushMessage(message);
             assertThat(status.getResultStatus()).isEqualTo(SERVICE_DISABLED);
-
             toggleActive();
             dmaapProducer.shutdown();
             status = dmaapProducer.pushMessage(message);
             assertThat(status.getResultStatus()).isEqualTo(FAIL);
-
-        } catch (JsonProcessingException e) {
+        } catch (final JsonProcessingException e) {
             fail("'JsonProcessingException' detected!", e);
-        } catch (Exception e) {
+        } catch (final Exception e) {
             fail("Unknown exception detected", e);
-        }finally {
+        } finally {
             configurationManager.getConfiguration().getDmaapProducerConfiguration().setActive(oldVal);
         }
     }
 
-    private boolean isActive(){
+    private boolean isActive() {
         return configurationManager.getConfiguration().getDmaapProducerConfiguration().getActive();
     }
 
-    private void toggleInactive(){
+    private void toggleInactive() {
         configurationManager.getConfiguration().getDmaapProducerConfiguration().setActive(false);
     }
 
-    private void toggleActive(){
+    private void toggleActive() {
         configurationManager.getConfiguration().getDmaapProducerConfiguration().setActive(true);
     }
 
-}
\ No newline at end of file
+}