--- /dev/null
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright © 2017 Amdocs\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ *\r
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ */\r
+package org.onap.aai.sparky.config.oxm;\r
+\r
+import static org.junit.Assert.assertNotEquals;\r
+\r
+import java.io.File;\r
+import java.io.IOException;\r
+\r
+import org.junit.Test;\r
+import org.mockito.Mockito;\r
+\r
+public class OxmModelLoaderTest {\r
+\r
+ OxmModelLoader loader;\r
+ \r
+ @Test\r
+ public void testLoadModel_ShouldSucceed() throws IOException {\r
+ String version = "v11";\r
+ System.setProperty("AJSC_HOME", new File(".").getCanonicalPath().replace('\\', '/'));\r
+\r
+ loader = Mockito.spy(new OxmModelLoader());\r
+ Mockito.when(loader.loadOxmFileName(version)).thenReturn(\r
+ System.getProperty("AJSC_HOME") + "/bundleconfig-local/oxm/aai_oxm_" + version + ".xml");\r
+\r
+ loader.loadModel(version);\r
+\r
+ assertNotEquals(null, loader.getOxmModel());\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright © 2017 Amdocs\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ *\r
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ */\r
+package org.onap.aai.sparky.dal.aai;\r
+\r
+import java.io.File;\r
+import java.io.IOException;\r
+import java.util.NoSuchElementException;\r
+\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.mockito.Mockito;\r
+import org.onap.aai.sparky.config.oxm.OxmModelLoader;\r
+import org.onap.aai.sparky.dal.exception.ElasticSearchOperationException;\r
+import org.onap.aai.sparky.dal.rest.RestClientBuilder;\r
+import org.onap.aai.sparky.viewandinspect.config.TierSupportUiConstants;\r
+\r
+public class ActiveInventoryAdapterTest {\r
+ \r
+ OxmModelLoader oxmModelLoader;\r
+ ActiveInventoryAdapter adapter;\r
+ \r
+ @Before\r
+ public void init() throws IOException, ElasticSearchOperationException {\r
+ String version = "v11";\r
+ System.setProperty("AJSC_HOME", new File(".").getCanonicalPath().replace('\\', '/'));\r
+ TierSupportUiConstants.DYNAMIC_CONFIG_APP_LOCATION = System.getProperty("AJSC_HOME")+"/src/test/resources/appconfig/";\r
+ oxmModelLoader = Mockito.spy(new OxmModelLoader());\r
+ Mockito.when(oxmModelLoader.loadOxmFileName(version)).thenReturn(\r
+ System.getProperty("AJSC_HOME") + "/bundleconfig-local/oxm/aai_oxm_" + version + ".xml");\r
+ \r
+ adapter = new ActiveInventoryAdapter(new RestClientBuilder());\r
+ }\r
+ \r
+ @Test\r
+ public void testQueryActiveInventoryWithRetries() {\r
+\r
+ adapter.queryActiveInventoryWithRetries("https://localhost:9517/model/aai/webapp/index.html", "response-type-1", 1);\r
+ }\r
+ \r
+ @Test(expected=NullPointerException.class)\r
+ public void testGetSelfLinkForEntity_NullEntityType() throws Exception {\r
+\r
+ adapter.getSelfLinkForEntity(null, "key", "value");\r
+ }\r
+ \r
+ @Test(expected=NullPointerException.class)\r
+ public void testGetSelfLinkForEntity_NullKeyName() throws Exception {\r
+\r
+ adapter.getSelfLinkForEntity("entity", null, "value");\r
+ }\r
+ \r
+ @Test(expected=NullPointerException.class)\r
+ public void testGetSelfLinkForEntity_NullKeyValue() throws Exception {\r
+\r
+ adapter.getSelfLinkForEntity("entity", "key", null);\r
+ }\r
+ \r
+ @Test\r
+ public void testGetSelfLinkForEntity_ServiceInstance() throws Exception {\r
+\r
+ adapter.getSelfLinkForEntity("service-instance", "key", "value");\r
+ }\r
+ \r
+ @Test\r
+ public void testGetSelfLinkForEntity_NotServiceInstance() throws Exception {\r
+ \r
+ adapter.getSelfLinkForEntity("service", "key", "value");\r
+ }\r
+ \r
+ @Test(expected=NullPointerException.class)\r
+ public void testGetSelfLinkByEntityType_NullEntity() throws Exception {\r
+\r
+ adapter.getSelfLinksByEntityType(null);\r
+ }\r
+ \r
+ @Test(expected=NoSuchElementException.class)\r
+ public void testGetSelfLinkByEntityType_NullEntityDescriptor() throws Exception {\r
+\r
+ adapter.getSelfLinksByEntityType("entity-1");\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright © 2017 Amdocs\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ *\r
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ */\r
+package org.onap.aai.sparky.dal.elasticsearch;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
+import org.onap.aai.sparky.config.oxm.OxmEntityDescriptor;\r
+import org.onap.aai.sparky.config.oxm.OxmModelLoader;\r
+import org.onap.aai.sparky.dal.NetworkTransaction;\r
+import org.onap.aai.sparky.dal.rest.HttpMethod;\r
+import org.onap.aai.sparky.dal.rest.OperationResult;\r
+\r
+public class ElasticSearchEntityStatisticsTest {\r
+\r
+ @Test\r
+ public void testInitializeCountersFromOxmEntityDescriptors_NotNullDescriptors() {\r
+ \r
+ ElasticSearchEntityStatistics eses = new ElasticSearchEntityStatistics(new OxmModelLoader());\r
+ Map<String, OxmEntityDescriptor> descriptors = new HashMap<>();\r
+ \r
+ OxmEntityDescriptor oxmEd = new OxmEntityDescriptor();\r
+ oxmEd.setEntityName("entity-1");\r
+ oxmEd.setGeoLatName("geoLatName-1");\r
+ \r
+ descriptors.put("entity-1", oxmEd);\r
+ \r
+ eses.initializeCountersFromOxmEntityDescriptors(descriptors); \r
+ eses.reset();\r
+ }\r
+ \r
+ @Test\r
+ public void testInitializeCountersFromOxmEntityDescriptors_NullDescriptors() {\r
+ \r
+ ElasticSearchEntityStatistics eses = new ElasticSearchEntityStatistics(new OxmModelLoader());\r
+ Map<String, OxmEntityDescriptor> descriptors = null;\r
+ eses.initializeCountersFromOxmEntityDescriptors(descriptors);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdateCounters() {\r
+ \r
+ ElasticSearchEntityStatistics eses = new ElasticSearchEntityStatistics(new OxmModelLoader());\r
+ Map<String, OxmEntityDescriptor> descriptors = new HashMap<>();\r
+ \r
+ OxmEntityDescriptor oxmEd = new OxmEntityDescriptor();\r
+ oxmEd.setEntityName("entity-1");\r
+ oxmEd.setGeoLatName("geoLatName-1");\r
+ descriptors.put("entity-1", oxmEd);\r
+ \r
+ eses.initializeCountersFromOxmEntityDescriptors(descriptors);\r
+ \r
+ OperationResult result = new OperationResult();\r
+ result.setResultCode(200);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ eses.updateCounters(ntwTxn);\r
+ \r
+ result.setResultCode(201);\r
+ NetworkTransaction ntwTxn1 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ eses.updateCounters(ntwTxn1);\r
+ \r
+ result.setResultCode(202);\r
+ NetworkTransaction ntwTxn2 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ eses.updateCounters(ntwTxn2);\r
+ NetworkTransaction ntwTxn3 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ eses.updateCounters(ntwTxn3);\r
+ \r
+ result.setResultCode(101);\r
+ NetworkTransaction ntwTxn4 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ eses.updateCounters(ntwTxn4);\r
+ NetworkTransaction ntwTxn5 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ eses.updateCounters(ntwTxn5);\r
+ \r
+ String statistics = eses.getStatisticsReport();\r
+ Assert.assertNotNull(statistics);\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright © 2017 Amdocs\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ *\r
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ */\r
+package org.onap.aai.sparky.dal.rest;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
+import org.onap.aai.sparky.dal.NetworkTransaction;\r
+\r
+public class RestOperationalStatisticsTest {\r
+\r
+ @Test\r
+ public void testUpdateCounters_Get() {\r
+ RestOperationalStatistics ros = new RestOperationalStatistics();\r
+ \r
+ OperationResult result = new OperationResult();\r
+ result.setResultCode(101);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn1 = new NetworkTransaction(HttpMethod.GET, "entity-1", result);\r
+ ros.updateCounters(ntwTxn1);\r
+ \r
+ result.setResultCode(201);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn2 = new NetworkTransaction(HttpMethod.GET, "entity-1", result);\r
+ ros.updateCounters(ntwTxn2);\r
+ \r
+ result.setResultCode(301);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn3 = new NetworkTransaction(HttpMethod.GET, "entity-1", result);\r
+ ros.updateCounters(ntwTxn3);\r
+ \r
+ result.setResultCode(401);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn4 = new NetworkTransaction(HttpMethod.GET, "entity-1", result);\r
+ ros.updateCounters(ntwTxn4);\r
+ \r
+ result.setResultCode(501);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn5 = new NetworkTransaction(HttpMethod.GET, "entity-1", result);\r
+ ros.updateCounters(ntwTxn5);\r
+ \r
+ result.setResultCode(601);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn6 = new NetworkTransaction(HttpMethod.GET, "entity-1", result);\r
+ ros.updateCounters(ntwTxn6); \r
+ \r
+ String statistics = ros.getStatisticsReport();\r
+ Assert.assertNotNull(statistics);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdateCounters_Put() {\r
+ RestOperationalStatistics ros = new RestOperationalStatistics();\r
+ \r
+ OperationResult result = new OperationResult();\r
+ result.setResultCode(101);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn1 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ ros.updateCounters(ntwTxn1);\r
+ \r
+ result.setResultCode(201);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn2 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ ros.updateCounters(ntwTxn2);\r
+ \r
+ result.setResultCode(301);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn3 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ ros.updateCounters(ntwTxn3);\r
+ \r
+ result.setResultCode(401);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn4 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ ros.updateCounters(ntwTxn4);\r
+ \r
+ result.setResultCode(501);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn5 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ ros.updateCounters(ntwTxn5);\r
+ \r
+ result.setResultCode(601);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn6 = new NetworkTransaction(HttpMethod.PUT, "entity-1", result);\r
+ ros.updateCounters(ntwTxn6);\r
+ \r
+ String statistics = ros.getStatisticsReport();\r
+ Assert.assertNotNull(statistics);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdateCounters_Post() {\r
+ RestOperationalStatistics ros = new RestOperationalStatistics();\r
+ \r
+ OperationResult result = new OperationResult();\r
+ result.setResultCode(101);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn1 = new NetworkTransaction(HttpMethod.POST, "entity-1", result);\r
+ ros.updateCounters(ntwTxn1);\r
+ \r
+ result.setResultCode(201);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn2 = new NetworkTransaction(HttpMethod.POST, "entity-1", result);\r
+ ros.updateCounters(ntwTxn2);\r
+ \r
+ result.setResultCode(301);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn3 = new NetworkTransaction(HttpMethod.POST, "entity-1", result);\r
+ ros.updateCounters(ntwTxn3);\r
+ \r
+ result.setResultCode(401);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn4 = new NetworkTransaction(HttpMethod.POST, "entity-1", result);\r
+ ros.updateCounters(ntwTxn4);\r
+ \r
+ result.setResultCode(501);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn5 = new NetworkTransaction(HttpMethod.POST, "entity-1", result);\r
+ ros.updateCounters(ntwTxn5);\r
+ \r
+ result.setResultCode(601);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn6 = new NetworkTransaction(HttpMethod.POST, "entity-1", result);\r
+ ros.updateCounters(ntwTxn6);\r
+ \r
+ String statistics = ros.getStatisticsReport();\r
+ Assert.assertNotNull(statistics);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdateCounters_Delete() {\r
+ RestOperationalStatistics ros = new RestOperationalStatistics();\r
+ \r
+ OperationResult result = new OperationResult();\r
+ result.setResultCode(101);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn1 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ ros.updateCounters(ntwTxn1);\r
+ \r
+ result.setResultCode(201);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn2 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ ros.updateCounters(ntwTxn2);\r
+ \r
+ result.setResultCode(301);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn3 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ ros.updateCounters(ntwTxn3);\r
+ \r
+ result.setResultCode(401);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn4 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ ros.updateCounters(ntwTxn4);\r
+ \r
+ result.setResultCode(501);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn5 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ ros.updateCounters(ntwTxn5);\r
+ \r
+ result.setResultCode(601);\r
+ result.setResult("result-1");\r
+ result.setNumRequestRetries(1);\r
+ NetworkTransaction ntwTxn6 = new NetworkTransaction(HttpMethod.DELETE, "entity-1", result);\r
+ ros.updateCounters(ntwTxn6);\r
+ \r
+ String statistics = ros.getStatisticsReport();\r
+ Assert.assertNotNull(statistics);\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright © 2017 Amdocs\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ *\r
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ */\r
+package org.onap.aai.sparky.viewandinspect.services;\r
+\r
+import java.io.File;\r
+import java.io.IOException;\r
+import java.security.SecureRandom;\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.HashMap;\r
+import java.util.concurrent.ExecutorService;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.mockito.InjectMocks;\r
+import org.mockito.Mockito;\r
+import org.mockito.MockitoAnnotations;\r
+import org.onap.aai.cl.eelf.LoggerFactory;\r
+import org.onap.aai.sparky.config.oxm.OxmEntityDescriptor;\r
+import org.onap.aai.sparky.config.oxm.OxmModelLoader;\r
+import org.onap.aai.sparky.dal.aai.ActiveInventoryAdapter;\r
+import org.onap.aai.sparky.dal.aai.ActiveInventoryDataProvider;\r
+import org.onap.aai.sparky.dal.exception.ElasticSearchOperationException;\r
+import org.onap.aai.sparky.dal.rest.RestClientBuilder;\r
+import org.onap.aai.sparky.synchronizer.entity.SearchableEntity;\r
+import org.onap.aai.sparky.util.NodeUtils;\r
+import org.onap.aai.sparky.viewandinspect.config.TierSupportUiConstants;\r
+import org.onap.aai.sparky.viewandinspect.entity.ActiveInventoryNode;\r
+import org.onap.aai.sparky.viewandinspect.entity.QueryParams;\r
+import org.onap.aai.sparky.viewandinspect.enumeration.NodeProcessingState;\r
+\r
+import com.fasterxml.jackson.databind.JsonNode;\r
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;\r
+import com.fasterxml.jackson.databind.node.ObjectNode;\r
+\r
+public class VisualizationContextTest {\r
+\r
+ VisualizationContext context;\r
+ ActiveInventoryDataProvider dataProvider;\r
+ long contextId;\r
+ OxmModelLoader oxmModelLoader;\r
+ ExecutorService service;\r
+\r
+ @Before\r
+ public void init() throws Exception {\r
+ MockitoAnnotations.initMocks(this);\r
+ System.setProperty("AJSC_HOME", new File(".").getCanonicalPath().replace('\\', '/'));\r
+ TierSupportUiConstants.DYNAMIC_CONFIG_APP_LOCATION = System.getProperty("AJSC_HOME")+"/src/test/resources/appconfig/";\r
+ TierSupportUiConstants.CONFIG_OXM_LOCATION = System.getProperty("AJSC_HOME")+"/bundleconfig-local/oxm/";\r
+ oxmModelLoader = Mockito.spy(OxmModelLoader.getInstance());\r
+ ActiveInventoryDataProvider dataProvider = new ActiveInventoryAdapter(new RestClientBuilder());\r
+ SecureRandom random = new SecureRandom();\r
+ long contextId = random.nextLong();\r
+ ExecutorService service = NodeUtils.createNamedExecutor("SLNC-WORKER",\r
+ 2, LoggerFactory.getInstance().getLogger(VisualizationContextTest.class));\r
+ context = new VisualizationContext(contextId, dataProvider, service, oxmModelLoader);\r
+ }\r
+\r
+ @Test\r
+ public void testExtractQueryParamsFromSelfLink_NullLink() {\r
+ List<String> queryParams = context.extractQueryParamsFromSelfLink(null);\r
+ Assert.assertEquals(queryParams.size(), 0);\r
+ }\r
+\r
+ @Test\r
+ public void testExtractQueryParamsFromSelfLink_NotNullLink() {\r
+ context.extractQueryParamsFromSelfLink("https://localhost:9517/model/aai/webapp/index.html");\r
+ }\r
+\r
+ @Test\r
+ public void testDecodeComplexAttributeGroup_NullAttributeGroup() {\r
+ ActiveInventoryNode ain = new ActiveInventoryNode();\r
+ ObjectNode node = JsonNodeFactory.instance.objectNode();\r
+ boolean retValue = context.decodeComplexAttributeGroup(ain, node);\r
+ Assert.assertFalse(retValue);\r
+ }\r
+\r
+ @Test\r
+ public void testDecodeComplexAttributeGroup_NotNullAttributeGroup() {\r
+ ActiveInventoryNode ain = new ActiveInventoryNode();\r
+ ObjectNode node1 = JsonNodeFactory.instance.objectNode();\r
+ ObjectNode node2 = JsonNodeFactory.instance.objectNode();\r
+ node1.set("model", node2);\r
+ ObjectNode modelNode = JsonNodeFactory.instance.objectNode();\r
+ node2.set("model-1", modelNode);\r
+ modelNode.set("firstValue", JsonNodeFactory.instance.objectNode());\r
+ modelNode.set("secondValue", JsonNodeFactory.instance.objectNode());\r
+ modelNode.set("thirdValue", JsonNodeFactory.instance.objectNode());\r
+ boolean retValue = context.decodeComplexAttributeGroup(ain, node1);\r
+ Assert.assertFalse(retValue);\r
+ }\r
+\r
+ @Test\r
+ public void testProcessSelfLinks() {\r
+ SearchableEntity entity = new SearchableEntity();\r
+ entity.setId("id-1");\r
+ entity.setEntityType("cloud-region");\r
+ entity.setEntityPrimaryKeyValue("cloud-region-1");\r
+ entity.setLink("https://localhost:9517/model/aai/webapp/index.html");\r
+ QueryParams params = new QueryParams();\r
+ params.setSearchTargetNodeId("id-1");\r
+ Map<String, ActiveInventoryNode> nodeMap = context.getNodeCache();\r
+ ActiveInventoryNode node = new ActiveInventoryNode();\r
+ node.setEntityType("cloud-region");\r
+ node.setNodeId("id-1");\r
+ node.setPrimaryKeyName("cloud-region-1");\r
+ node.setPrimaryKeyValue("cloud-region-1");\r
+ node.addQueryParam(\r
+ node.getEntityType() + "." + node.getPrimaryKeyName() + ":" + node.getPrimaryKeyValue());\r
+ node.setNodeDepth(0);\r
+ node.setRootNode(true);\r
+ node.setSelfLink(entity.getLink());\r
+ nodeMap.put("id-1", node);\r
+ node.setResolvedSelfLink(true);\r
+ context.processSelfLinks(entity, params);\r
+\r
+ }\r
+}\r