ETags on resources
[aai/gizmo.git] / src / test / java / org / onap / crud / service / CrudRestServiceTest.java
index 3d1ce12..68c876c 100644 (file)
@@ -29,18 +29,18 @@ import java.io.IOException;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.mockito.Mockito;
-import org.onap.crud.dao.TestDao;
 import org.onap.crud.exception.CrudException;
+import org.onap.crud.service.TestDao;
 import org.onap.crud.service.util.TestHeaders;
 import org.onap.crud.service.util.TestRequest;
 import org.onap.crud.service.util.TestUriInfo;
-import org.onap.schema.RelationshipSchemaLoader;
-
+import org.onap.schema.EdgeRulesLoader;
 
 
 public class CrudRestServiceTest {
@@ -78,18 +78,18 @@ public class CrudRestServiceTest {
 
   @Before
   public void init() throws Exception {
-      ClassLoader classLoader = getClass().getClassLoader();
-      File dir = new File(classLoader.getResource("model").getFile());
-      System.setProperty("CONFIG_HOME", dir.getParent());
-      RelationshipSchemaLoader.resetVersionContextMap();
-      
-      CrudGraphDataService service = new CrudGraphDataService(new TestDao());
-      CrudRestService restService = new CrudRestService(service, null);
-      mockService = Mockito.spy(restService);
-      
-      Mockito.doReturn(true).when(mockService).validateRequest(Mockito.any(HttpServletRequest.class), 
-          Mockito.anyString(), Mockito.anyString(), Mockito.any(CrudRestService.Action.class), Mockito.anyString(), 
-          Mockito.any(HttpHeaders.class));
+    ClassLoader classLoader = getClass().getClassLoader();
+    File dir = new File(classLoader.getResource("model").getFile());
+    System.setProperty("CONFIG_HOME", dir.getParent());
+    EdgeRulesLoader.resetSchemaVersionContext();
+
+    CrudGraphDataService service = new CrudGraphDataService(new TestDao());
+    CrudRestService restService = new CrudRestService(service, null);
+    mockService = Mockito.spy(restService);
+
+    Mockito.doReturn(true).when(mockService).validateRequest(Mockito.any(HttpServletRequest.class),
+        Mockito.anyString(), Mockito.anyString(), Mockito.any(CrudRestService.Action.class), Mockito.anyString(),
+        Mockito.any(HttpHeaders.class));
   }
   
   @Test
@@ -100,7 +100,8 @@ public class CrudRestServiceTest {
         "services/inventory/v11", new TestHeaders(), null, new TestRequest());
     assertTrue(response.getStatus() == 200);
     
-    response = mockService.deleteEdge("", "v11", "tosca.relationships.HostedOn", "872dd5df-0be9-4167-95e9-2cf4b21165ed", 
+        response = mockService.deleteEdge("", "v11", "tosca.relationships.HostedOn",
+                "872dd5df-0be9-4167-95e9-2cf4b21165ed",
         "services/inventory/v11", new TestHeaders(), null, new TestRequest());
     assertTrue(response.getStatus() == 200);
   }
@@ -109,25 +110,36 @@ public class CrudRestServiceTest {
   public void testAddVertex() throws CrudException {
     Response response;
     
+       // Cannot find OXM version
+    response = mockService.addVertex(postVertexPayload, "v8", "services/inventory/v8",
+            new TestHeaders(), null, new TestRequest());
+    System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
+    assertTrue(response.getStatus() == 500);
+    Assert.assertNull(response.getEntityTag());
+       
     response = mockService.addVertex(postMissingPropVertexPayload, "v11", "services/inventory/v11", 
         new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 400);
+       Assert.assertNull(response.getEntityTag());
     
     response = mockService.addVertex(postVertexPayload, "v11", "services/inventory/v11", 
         new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 201);
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
     
     response = mockService.addVertex(postMissingPropVertexPayload, "v11", "pserver", "services/inventory/v11", 
         new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
-    assertTrue(response.getStatus() == 400); 
+    assertTrue(response.getStatus() == 400);
+       Assert.assertNull(response.getEntityTag());
     
     response = mockService.addVertex(postVertexPayload, "v11", "pserver", "services/inventory/v11", 
         new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
-    assertTrue(response.getStatus() == 201);   
+    assertTrue(response.getStatus() == 201);
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
   }
   
   @Test
@@ -138,34 +150,46 @@ public class CrudRestServiceTest {
         new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 201);
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
     
     response = mockService.addEdge(postEdgePayload, "v11", "tosca.relationships.HostedOn", "services/inventory/v11", 
         new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
-    assertTrue(response.getStatus() == 201);   
+    assertTrue(response.getStatus() == 201);
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
   }
   
   @Test
   public void testUpdateVertex() throws CrudException {
     Response response;
 
+       // Cannot find OXM version
+    response = mockService.updateVertex(putVertexPayload, "v8", "pserver", "test-uuid", "services/inventory/v8",
+            new TestHeaders(), null, new TestRequest());
+    System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
+    assertTrue(response.getStatus() == 500);
+    Assert.assertNull(response.getEntityTag());
+       
     // Test ID mismatch
     response = mockService.updateVertex(putVertexPayload, "v11", "pserver", "bad-id", 
         "services/inventory/v11", new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
-    assertTrue(response.getStatus() == 400);  
+    assertTrue(response.getStatus() == 400);
+    Assert.assertNull(response.getEntityTag());        
     
     // Success case
-    response = mockService.updateVertex(putVertexPayload, "v11", "pserver", "test-uuid", 
-        "services/inventory/v11", new TestHeaders(), null, new TestRequest());
+    response = mockService.updateVertex(putVertexPayload, "v11", "pserver", "test-uuid", "services/inventory/v11",
+                new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 200);  
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
     
     // Patch
     response = mockService.patchVertex(putVertexPayload, "v11", "pserver", "test-uuid", 
         "services/inventory/v11", new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 200);  
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
   }
   
   @Test
@@ -176,12 +200,14 @@ public class CrudRestServiceTest {
         "services/inventory/v11", new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 200);  
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
     
     // Patch
     response = mockService.patchEdge(postEdgePayload, "v11", "tosca.relationships.HostedOn", "my-uuid", 
         "services/inventory/v11", new TestHeaders(), null, new TestRequest());
     System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
     assertTrue(response.getStatus() == 200);
+       Assert.assertEquals(response.getEntityTag().getValue(), "test123");
   }
   
   @Test
@@ -255,6 +281,32 @@ public class CrudRestServiceTest {
     mockService.validateRequestHeader(testHeaders);
   }
 
+  @Test
+    public void testGetMultiOxm() throws CrudException {
+        Response response;
+
+        response = mockService.getVertex("", "v13", "pserver", "872dd5df-0be9-4167-95e9-2cf4b21165ed",
+                "services/inventory/v11", new TestHeaders(), new TestUriInfo(), new TestRequest());
+        System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
+        assertTrue(response.getStatus() == 200);
+
+        response =
+                mockService.getEdge("", "v11", "tosca.relationships.HostedOn", "872dd5df-0be9-4167-95e9-2cf4b21165ed",
+                        "services/inventory/v11", new TestHeaders(), new TestUriInfo(), new TestRequest());
+        System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
+        assertTrue(response.getStatus() == 200);
+
+        response = mockService.getVertices("", "v13", "pserver", "services/inventory/v11", new TestHeaders(),
+                new TestUriInfo(), new TestRequest());
+        System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
+        assertTrue(response.getStatus() == 200);
+
+        response = mockService.getEdges("", "v11", "tosca.relationships.HostedOn", "services/inventory/v11",
+                new TestHeaders(), new TestUriInfo(), new TestRequest());
+        System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString());
+        assertTrue(response.getStatus() == 200);
+    }
+  
   @Test
   public void testBulk() throws CrudException, IOException {
     Response response;