Create a camel route that would retrieve all the DCAE blueprints
[clamp.git] / src / test / java / org / onap / clamp / clds / model / dcae / DcaeInventoryResponseCacheTestItCase.java
 package org.onap.clamp.clds.model.dcae;
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.assertEquals;
 
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.ExchangeBuilder;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.clamp.clds.Application;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
 
-public class DcaeInventoryResponseCacheTest {
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class DcaeInventoryResponseCacheTestItCase {
 
     public static DcaeInventoryCache inventoryCache = new DcaeInventoryCache();
 
+    @Autowired
+    CamelContext camelContext;
+
     /**
      * Initialize the responses.
      */
@@ -78,4 +95,32 @@ public class DcaeInventoryResponseCacheTest {
         }
     }
 
+    @Test
+    public void testDcaeInventoryResponse() {
+        Exchange exchange = ExchangeBuilder.anExchange(camelContext).build();
+        Exchange exchangeResponse = camelContext.createProducerTemplate()
+                .send("direct:get-all-dcae-blueprint-inventory", exchange);
+        assertThat(exchangeResponse.getIn().getHeader("CamelHttpResponseCode")).isEqualTo(200);
+        Set<DcaeInventoryResponse> blueprint = inventoryCache.getAllBlueprintsPerLoopId("testAsdcServiceId");
+        assertThat(blueprint.size()).isEqualTo(2);
+
+        DcaeInventoryResponse response1 = new DcaeInventoryResponse();
+        response1.setAsdcResourceId("0");
+        response1.setTypeName("testTypeName");
+        response1.setAsdcServiceId("testAsdcServiceId");
+        response1.setBlueprintTemplate("testBlueprintTemplate");
+        response1.setTypeId("testtypeId");
+        DcaeInventoryResponse response2 = new DcaeInventoryResponse();
+        response2.setAsdcResourceId("1");
+        response2.setTypeName("testTypeName2");
+        response2.setAsdcServiceId("testAsdcServiceId");
+        response2.setBlueprintTemplate("testBlueprintTemplate2");
+        response2.setTypeId("testtypeId2");
+
+        Set<DcaeInventoryResponse> expectedBlueprint = new HashSet<>();
+        expectedBlueprint.add(response1);
+        expectedBlueprint.add(response2);
+
+        assertEquals(blueprint, expectedBlueprint);
+    }
 }