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 {
@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
"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);
}
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
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
"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
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;