2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.aai.rest;
23 import static org.hamcrest.CoreMatchers.containsString;
24 import static org.hamcrest.CoreMatchers.not;
25 import static org.hamcrest.MatcherAssert.assertThat;
26 import static org.hamcrest.core.Is.is;
27 import static org.junit.Assert.assertNotNull;
29 import com.jayway.jsonpath.JsonPath;
33 import javax.ws.rs.core.Response;
35 import org.apache.tinkerpop.gremlin.structure.Edge;
36 import org.junit.Before;
37 import org.junit.Test;
38 import org.junit.runner.RunWith;
39 import org.junit.runners.Parameterized;
40 import org.onap.aai.AAISetup;
41 import org.onap.aai.HttpTestUtil;
42 import org.onap.aai.PayloadUtil;
43 import org.onap.aai.dbmap.AAIGraph;
44 import org.onap.aai.serialization.engines.QueryStyle;
45 import org.onap.aai.setup.SchemaVersion;
46 import org.springframework.test.annotation.DirtiesContext;
48 @RunWith(value = Parameterized.class)
49 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
50 public class PrivateEdgeIntegrationOldClientTest extends AAISetup {
52 private HttpTestUtil httpTestUtil;
53 private Map<String, String> relationshipMap;
55 private String modelId;
56 private String modelVerId;
58 @Parameterized.Parameter(value = 0)
59 public QueryStyle queryStyle;
61 @Parameterized.Parameter(value = 1)
62 public SchemaVersion version;
64 @Parameterized.Parameters(name = "QueryStyle.{0} {1}")
65 public static Collection<Object[]> data() {
66 return Arrays.asList(new Object[][] {{QueryStyle.TRAVERSAL, new SchemaVersion("v14")},
67 {QueryStyle.TRAVERSAL_URI, new SchemaVersion("v14")},});
71 public void setUpModelData() throws Exception {
72 httpTestUtil = new HttpTestUtil(QueryStyle.TRAVERSAL);
73 relationshipMap = new HashMap<>();
75 modelId = "test-model-" + UUID.randomUUID().toString();
76 modelVerId = "test-model-ver-" + UUID.randomUUID().toString();
78 Map<String, String> modelTemplateValues = new HashMap<>();
79 modelTemplateValues.put("model-invariant-id", modelId);
81 String modelPayload = PayloadUtil.getTemplatePayload("model.json", modelTemplateValues);
83 Response response = httpTestUtil.doPut(
84 "/aai/" + version.toString() + "/service-design-and-creation/models/model/" + modelId, modelPayload);
86 assertNotNull(response);
87 assertThat("Model was not successfully created", response.getStatus(), is(201));
89 Map<String, String> modelVersionTemplateValues = new HashMap<>();
90 modelVersionTemplateValues.put("model-version-id", modelVerId);
91 modelVersionTemplateValues.put("model-name", "some-model");
92 modelVersionTemplateValues.put("model-version", "testValue");
94 String modelVersionPayload = PayloadUtil.getTemplatePayload("model-ver.json", modelVersionTemplateValues);
96 response = httpTestUtil.doPut("/aai/" + version.toString() + "/service-design-and-creation/models/model/"
97 + modelId + "/model-vers/model-ver/" + modelVerId, modelVersionPayload);
98 assertNotNull(response);
99 assertThat("Model was not successfully created", response.getStatus(), is(201));
103 public void testPutGenericVnfWithModelInfoToMatchExistingModelAndCheckIfPrivateEdgeCreatedAndDoGetOnOldModelAndMakeSureNoRelationship()
106 Map<String, String> genericVnfHashMap = new HashMap<>();
107 String genericVnf = "test-generic-" + UUID.randomUUID().toString();
109 genericVnfHashMap.put("vnf-id", genericVnf);
110 genericVnfHashMap.put("model-invariant-id", modelId);
111 genericVnfHashMap.put("model-version-id", modelVerId);
112 String genericVnfPayload = PayloadUtil.getTemplatePayload("generic-vnf.json", genericVnfHashMap);
114 Response response = httpTestUtil.doPut(
115 "/aai/" + version.toString() + "/network/generic-vnfs/generic-vnf/" + genericVnf, genericVnfPayload);
116 assertNotNull("Response returned null", response);
117 assertThat("Check the generic vnf is created", response.getStatus(), is(201));
119 response = httpTestUtil.doGet("/aai/" + version.toString() + "/network/generic-vnfs/generic-vnf/" + genericVnf);
120 assertNotNull("Response returned null", response);
121 assertThat("Check the generic vnf is created", response.getStatus(), is(200));
122 assertThat(response.getEntity().toString(), not(containsString("relationship-list")));
125 AAIGraph.getInstance().getGraph().newTransaction().traversal().E().has("private", true).toList();
126 assertNotNull("List of edges should not be null", edges);
127 assertThat(edges.size(), is(1));
128 Edge oldEdge = edges.get(0);
129 assertNotNull(oldEdge);
131 response = httpTestUtil.doGet("/aai/v11/network/generic-vnfs/generic-vnf/" + genericVnf);
132 assertNotNull("Response returned null", response);
133 assertThat("Check the generic vnf is created", response.getStatus(), is(200));
134 assertThat(response.getEntity().toString(), not(containsString("relationship-list")));
136 String resourceVersion = JsonPath.read(response.getEntity().toString(), "$.resource-version");
137 response = httpTestUtil.doDelete(
138 "/aai/" + version.toString() + "/network/generic-vnfs/generic-vnf/" + genericVnf, resourceVersion);
139 assertNotNull("Response returned null", response);
140 assertThat("Check the generic vnf is deleted", response.getStatus(), is(204));
142 edges = AAIGraph.getInstance().getGraph().newTransaction().traversal().E().has("private", true).toList();
143 assertNotNull("List of edges should not be null", edges);
144 assertThat(edges.size(), is(0));