diff options
Diffstat (limited to 'aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java')
-rw-r--r-- | aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java | 99 |
1 files changed, 98 insertions, 1 deletions
diff --git a/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java b/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java index 95220b1f..0adcbfe0 100644 --- a/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java +++ b/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java @@ -23,6 +23,9 @@ package org.onap.aai.rest.db; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.javatuples.Pair; +import org.json.JSONArray; +import org.json.JSONObject; +import org.junit.Assert; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; @@ -136,7 +139,7 @@ public class HttpEntryTest extends AAISetup { objType = "relationship"; } Introspector obj; - if (method.equals(HttpMethod.GET)) { + if (method.equals(HttpMethod.GET) || method.equals(HttpMethod.GET_RELATIONSHIP)) { obj = loader.introspectorFromName(objType); } else { obj = loader.unmarshal(objType, content, org.onap.aai.restcore.MediaType.getEnum("application/json")); @@ -603,4 +606,98 @@ public class HttpEntryTest extends AAISetup { assertThat("Related to pserver is returned.", respBody, containsString("\"hostname\":\"junit-abstract-test-pserver\"")); } + + @Test + public void getRelationshipListTest() throws UnsupportedEncodingException, AAIException { + traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion()); + Loader loader = traversalHttpEntry.getLoader(); + TransactionalGraphEngine dbEngine = traversalHttpEntry.getDbEngine(); + + // Put pserver + String uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + String content = "{\"hostname\":\"httpEntryTest-pserver-01\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + // Put complex + uri = "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01"; + content = + "{\"physical-location-id\":\"httpEntryTest-complex-01\",\"physical-location-type\":\"AAIDefault\",\"street1\":\"AAIDefault\",\"city\":\"AAIDefault\",\"state\":\"NJ\",\"postal-code\":\"07748\",\"country\":\"USA\",\"region\":\"US\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + + // Put Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01/relationship-list/relationship"; + content = "{\"related-to\":\"complex\",\"related-link\":\"/aai/" + schemaVersions.getDefaultVersion().toString() + + "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\"}" + + "\"relationship-daasSta\":[{" + + "\"relationship-key\":\"complex.physical-location-id\"," + + "\"relationship-value\":\"httpEntryTest-complex-01\"" + + "}]"; + Response response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT_EDGE, uri, content); + assertEquals("Expected the pserver relationship to be created", 200, response.getStatus()); + + // Get Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + content = ""; + response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.GET_RELATIONSHIP, uri, content); + String expected = "{\"relationship\":[{\"related-to\":\"complex\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\",\"related-link\":\"/aai/v14/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-data\":[{\"relationship-key\":\"complex.physical-location-id\",\"relationship-value\":\"httpEntryTest-complex-01\"}]}]}"; + Assert.assertEquals(expected, response.getEntity().toString()); + + dbEngine.rollback(); + } + + @Test + public void getRelationshipListTestWithFormatSimple() throws UnsupportedEncodingException, AAIException { + traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion()); + Loader loader = traversalHttpEntry.getLoader(); + TransactionalGraphEngine dbEngine = traversalHttpEntry.getDbEngine(); + + // Put pserver + String uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + String content = "{\"hostname\":\"httpEntryTest-pserver-01\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + // Put complex + uri = "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01"; + content = + "{\"physical-location-id\":\"httpEntryTest-complex-01\",\"physical-location-type\":\"AAIDefault\",\"street1\":\"AAIDefault\",\"city\":\"AAIDefault\",\"state\":\"NJ\",\"postal-code\":\"07748\",\"country\":\"USA\",\"region\":\"US\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + + // Put Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01/relationship-list/relationship"; + content = "{\"related-to\":\"complex\",\"related-link\":\"/aai/" + schemaVersions.getDefaultVersion().toString() + + "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\"}" + + "\"relationship-daasSta\":[{" + + "\"relationship-key\":\"complex.physical-location-id\"," + + "\"relationship-value\":\"httpEntryTest-complex-01\"" + + "}]"; + Response response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT_EDGE, uri, content); + assertEquals("Expected the pserver relationship to be created", 200, response.getStatus()); + + // GET complex + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + content = ""; + response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.GET, uri, content); + + // Get Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + queryParameters.add("format", "resource"); + content = ""; + response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.GET_RELATIONSHIP, uri, content); + String responsePayload = response.getEntity().toString(); + JSONObject responseJsonObject = new JSONObject(responsePayload); + JSONArray responseResultsArray = responseJsonObject.getJSONArray("results"); + String responseResults = responseResultsArray.get(0).toString(); + JSONObject pserverResponseObject = new JSONObject(responseResults); + String pserverResponse = pserverResponseObject.get("pserver").toString(); + JSONObject pserverResponseFields = new JSONObject(pserverResponse); + String pserverResponseRelationshipList = pserverResponseFields.get("relationship-list").toString(); + + String expected = "{\"relationship\":[{\"related-to\":\"complex\",\"relationship-data\":[{\"relationship-value\":\"httpEntryTest-complex-01\",\"relationship-key\":\"complex.physical-location-id\"}],\"related-link\":\"/aai/v14/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\"}]}"; + assertEquals(expected, pserverResponseRelationshipList); +// Assert.assertEquals(expected, response.getEntity().toString()); + queryParameters.remove("format"); + + dbEngine.rollback(); + } + + + } |