summaryrefslogtreecommitdiffstats
path: root/aai-traversal/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'aai-traversal/src/test')
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java107
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/AAISetup.java113
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/HttpTestUtil.java198
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/PayloadUtil.java39
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/QueryParameterTest.java44
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/SubgraphPruneTest.java36
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java48
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java310
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java1734
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphEdgeRuleTest.java60
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java426
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java218
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestConfiguration.java22
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestProperties.java2
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/it/multitenancy/MultiTenancyIT.java96
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/it/multitenancy/RoleHandler.java24
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/AbstractSpringRestTest.java41
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/BadQueryFormatTest.java32
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/ConfigurationTest.java42
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/DslConsumerTest.java1870
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/ExceptionHandlerTest.java51
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/GfpVserverDataStoredQueryTest.java162
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/QueryConsumerTest.java328
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/RecentApiTest.java285
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/SearchProviderRestTest.java63
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslContextTest.java22
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryBuilderTest.java29
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV1Test.java1230
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV2Test.java1289
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeLabelTest.java10
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeTest.java15
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/dsl/ProdDslTest.java66
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/AbstractSpringHistoryRestTest.java41
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/CQAllChildernFromPnfStateTest.java355
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleEdgeTest.java805
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.java1375
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleSingleNodeTest.java830
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateEdgeTest.java807
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateTest.java1303
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/retired/RetiredConsumerSpringTest.java25
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/AccessServiceFromServiceInstanceTest.java112
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/AvailabilityZoneAndComplexfromCloudRegionQueryTest.java95
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ClosedLoopQueryTest.java155
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionAndSourceFromConfigurationQueryTest.java150
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeQueryTest.java106
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersionTest.java147
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersion_withOptionalTest.java155
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromVnfTest.java123
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionSitesQueryTest.java94
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryCloudRegionVersionQueryTest.java87
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryQueryTest.java86
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionsByGenericVnfHGPairsTest.java360
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ColocatedDevicesQueryTest.java180
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ComplexFromVnfTest.java99
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ContainmentPathQueryTest.java48
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/CountVnfByVnfTypeTest.java107
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/DestinationFromConfigurationQueryTest.java141
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/FabricInformationFromVnfTest.java153
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_LineOfBusinessTest.java134
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_ServiceInstanceTest.java157
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GFPVnfDataTest.java247
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GenericVnfsFromPserverTest.java149
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetClfiRoadmTailSummaryTest.java121
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexAndPserversTest.java88
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexByPnfNameQueryTest.java78
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexFromHostnameQueryTest.java82
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java82
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomerVPNBondingServiceDetailsTest.java136
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetDHVLogicalLinkTest.java88
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetL3networkCloudRegionByNetworkRoleQueryTest.java46
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetLinterfaceFromNewvceTest.java123
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksByServiceInstanceTest.java186
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksTest.java129
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetPinterfacePhysicalLinkBySvcInstIdTest.java153
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetRouterRoadmTailSummaryTest.java120
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceSummaryTest.java161
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceVnfVfModuleModelsTest.java96
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceTopologyTest.java231
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcInstanceQueryTest.java144
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcSubscriptionTest.java110
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetVNFVpnBondingServiceDetailsTest.java85
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetVnfVlanByCircuitIdTest.java126
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetVserverDetailTest.java205
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GetWlBundleIdQueryTest.java142
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverDataQueryTest.java110
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverQueryTest.java82
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/GroovyShellImplTest.java46
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ImageFromCloudRegionNfTypeTest.java169
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/InstanceGroupsByCloudRegionQueryTest.java88
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java382
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_ComplicatedGVtoGV.java130
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_NewvceVserverTest.java152
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_SimpleGVtoGVQueryTest.java106
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedHashMapQueryTest.java22
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LinterfacesCPFromVnfcTest.java136
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LocationNetTypeNetRolefromCloudRegionQueryTest.java101
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/LogicalLinkByCloudRegionIdTest.java24
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java93
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/MsoRequestVfModuleTest.java147
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkCollectionByServiceInstanceTest.java57
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkNameFromNetworkRoleQueryTest.java100
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/NfTypefromCloudRegionQueryTest.java105
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/OnapQueryTest.java283
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/OwningEntityfromServiceInstance.java76
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PathQueryTest.java22
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PendingTopologyDetailTest.java246
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PnfTopologyQueryTest.java153
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromFqdnFirstTokenTest.java77
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromHostnameFirstTokenTest.java76
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationFilterInterfaceIdTest.java141
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationTest.java140
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PserversFromVnfQueryTest.java124
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/PserversWithNoComplexTest.java89
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/QueryCountTest.java33
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelByRegionTest.java163
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelTest.java81
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java285
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/QueryVnfFromModelByRegionTest.java124
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToBothCousinAndTreeCustomQueryTest.java34
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToCustomQueryTest.java22
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToTreeCustomQueryTest.java21
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java100
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceFromPserverAndSubsNameTest.java173
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceModelsByDistributionStatusTest.java109
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceSitesQueryTest.java114
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceTopologyTest.java192
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java141
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SiteL3NetworkCloudRegionQueryTest.java98
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCloudRegionIdQueryTest.java86
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionIdQueryTest.java99
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionVerQueryTest.java103
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/SriovTopologyFromVnfQueryTest.java166
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVnfQueryTest.java302
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVserverQueryTest.java264
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailsQueryTest.java313
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromCloudRegionIdAndServiceIdTest.java307
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromSubscriberNameAndServiceTypeTest.java458
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromCloudRegionQueryTest.java78
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromTenantTest.java119
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryQueryTest.java165
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/TreeQueryTest.java22
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeInstanceQueryTest.java95
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeTopologyQueryTest.java188
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VfModuleFromServiceInstanceTest.java104
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfInstancesFromServiceInstancebyModelVersionTest.java116
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfSummaryFromVnfTest.java158
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToEsrSystemInfoQueryTest.java131
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToServiceInstanceQueryTest.java88
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromServiceInstanceTest.java171
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVfModuleTest.java141
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVnfTest.java215
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfVserverFromCustomerTest.java115
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromPserverQueryTest.java125
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromServiceInstanceTest.java96
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsVlansFromServiceInstanceTest.java222
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromPserverTreeTest.java45
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromVnfQueryTest.java126
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLinterfacesFromVnfcTest.java122
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLogicallinkFromPServerTest.java98
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/search/getSvcSubscriberModelInfoTest.java32
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/util/ConvertQueryPropertiesToJsonTest.java20
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/util/EchoResponseTest.java44
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java8
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/rest/util/ValidateEncodingTest.java159
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/transforms/JoltTestUtil.java39
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/transforms/LowerHyphenToLowerCamelConverterTest.java41
-rw-r--r--aai-traversal/src/test/java/org/onap/aai/transforms/MapTraverserTest.java19
167 files changed, 16260 insertions, 14477 deletions
diff --git a/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java
index 2009389..266cb60 100644
--- a/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,16 @@
*/
package org.onap.aai;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.IsNot.not;
+import static org.junit.Assert.fail;
+
import com.jayway.jsonpath.JsonPath;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraphTransaction;
@@ -32,8 +41,8 @@ import org.onap.aai.util.AAIConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.*;
import org.springframework.test.context.ContextConfiguration;
@@ -42,14 +51,6 @@ import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
import org.springframework.web.client.RestTemplate;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.IsNot.not;
-import static org.junit.Assert.fail;
-
/**
* A sample junit test using spring boot that provides the ability to spin
* up the application from the junit layer and run rest requests against
@@ -61,7 +62,9 @@ import static org.junit.Assert.fail;
* This can be used to potentially replace a lot of the fitnesse tests since
* they will be testing against the same thing except fitnesse uses hbase
*/
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(locations = "classpath:application-test.properties")
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
@Import(TraversalTestConfiguration.class)
@@ -94,7 +97,7 @@ public class AAIGremlinQueryTest {
AAIConfig.init();
}
- public void createGraph(){
+ public void createGraph() {
JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
@@ -104,18 +107,14 @@ public class AAIGremlinQueryTest {
GraphTraversalSource g = transaction.traversal();
- g.addV()
- .property("aai-node-type", "pserver")
- .property("hostname", "test-pserver")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver")
- .next();
+ g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver")
+ .property("in-maint", false).property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver").next();
- } catch(Exception ex){
+ } catch (Exception ex) {
success = false;
} finally {
- if(success){
+ if (success) {
transaction.commit();
} else {
transaction.rollback();
@@ -157,7 +156,8 @@ public class AAIGremlinQueryTest {
String endpoint = "/aai/v11/query?format=console";
httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
String result = JsonPath.read(responseEntity.getBody().toString(), "$.results[0].result");
@@ -184,7 +184,8 @@ public class AAIGremlinQueryTest {
String endpoint = "/aai/v11/query?format=console";
httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
String result = JsonPath.read(responseEntity.getBody().toString(), "$.results[0].result");
@@ -202,32 +203,26 @@ public class AAIGremlinQueryTest {
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
httpEntity = new HttpEntity(payload, headers);
String endpoint = "/aai/v11/query?format=count";
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
- assertThat(responseEntity.getBody().toString(), containsString("<results><result><pserver>1</pserver></result></results>"));
+ assertThat(responseEntity.getBody().toString(),
+ containsString("<results><result><pserver>1</pserver></result></results>"));
gremlinQueryMap.put("gremlin-query", "g.V().has('hostname', 'test-pserver')");
payload = PayloadUtil.getTemplatePayload("gremlin-query.json", gremlinQueryMap);
httpEntity = new HttpEntity(payload, headers);
- Format[] formats = new Format[]{
- Format.graphson,
- Format.pathed,
- Format.id,
- Format.resource,
- Format.simple,
- Format.resource_and_url,
- Format.console,
- Format.raw,
- Format.count
- };
+ Format[] formats = new Format[] {Format.graphson, Format.pathed, Format.id, Format.resource,
+ Format.simple, Format.resource_and_url, Format.console, Format.raw, Format.count};
- for(Format format : formats){
+ for (Format format : formats) {
endpoint = "/aai/v11/query?format=" + format.toString();
logger.debug("Current endpoint being executed {}", endpoint);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
String responseBody = responseEntity.getBody().toString();
@@ -236,6 +231,7 @@ public class AAIGremlinQueryTest {
assertThat(responseBody, is(not(containsString("<result><result>"))));
}
}
+
@Test
public void testPserverCountUsingDsl() throws Exception {
Map<String, String> dslQuerymap = new HashMap<>();
@@ -248,7 +244,8 @@ public class AAIGremlinQueryTest {
String endpoint = "/aai/v11/dsl?format=console";
httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
String result = JsonPath.read(responseEntity.getBody().toString(), "$.results[0].result");
@@ -266,30 +263,24 @@ public class AAIGremlinQueryTest {
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
httpEntity = new HttpEntity(payload, headers);
String endpoint = "/aai/v11/dsl?format=count";
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
- assertThat(responseEntity.getBody().toString(), containsString("<results><result><pserver>1</pserver></result></results>"));
+ assertThat(responseEntity.getBody().toString(),
+ containsString("<results><result><pserver>1</pserver></result></results>"));
httpEntity = new HttpEntity(payload, headers);
- Format[] formats = new Format[]{
- Format.graphson,
- Format.pathed,
- Format.id,
- Format.resource,
- Format.simple,
- Format.resource_and_url,
- Format.console,
- Format.raw,
- Format.count
- };
+ Format[] formats = new Format[] {Format.graphson, Format.pathed, Format.id, Format.resource,
+ Format.simple, Format.resource_and_url, Format.console, Format.raw, Format.count};
- for(Format format : formats){
+ for (Format format : formats) {
endpoint = "/aai/v11/dsl?format=" + format.toString();
logger.debug("Current endpoint being executed {}", endpoint);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
String responseBody = responseEntity.getBody().toString();
@@ -309,14 +300,12 @@ public class AAIGremlinQueryTest {
GraphTraversalSource g = transaction.traversal();
- g.V().has("source-of-truth", "JUNIT")
- .toList()
- .forEach(Vertex::remove);
+ g.V().has("source-of-truth", "JUNIT").toList().forEach(Vertex::remove);
- } catch(Exception ex){
+ } catch (Exception ex) {
success = false;
} finally {
- if(success){
+ if (success) {
transaction.commit();
} else {
transaction.rollback();
diff --git a/aai-traversal/src/test/java/org/onap/aai/AAISetup.java b/aai-traversal/src/test/java/org/onap/aai/AAISetup.java
index a13384a..e1cbe45 100644
--- a/aai-traversal/src/test/java/org/onap/aai/AAISetup.java
+++ b/aai-traversal/src/test/java/org/onap/aai/AAISetup.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -27,83 +27,74 @@ import java.util.Map;
import org.apache.commons.io.IOUtils;
import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
import org.onap.aai.config.*;
import org.onap.aai.dbgraphmap.SearchGraph;
import org.onap.aai.edges.EdgeIngestor;
import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.MoxyLoader;
import org.onap.aai.nodes.NodeIngestor;
import org.onap.aai.rest.db.HttpEntry;
import org.onap.aai.rest.dsl.DslQueryProcessor;
import org.onap.aai.rest.search.GremlinServerSingleton;
import org.onap.aai.serialization.db.EdgeSerializer;
import org.onap.aai.setup.AAIConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.setup.SchemaVersions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.test.context.ContextConfiguration;
-import org.onap.aai.introspection.MoxyLoader;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.junit.ClassRule;
-import org.junit.Rule;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
-@ContextConfiguration(classes = {
- ConfigConfiguration.class,
- AAIConfigTranslator.class,
- EdgeIngestor.class,
- EdgeSerializer.class,
- NodeIngestor.class,
- SpringContextAware.class,
- IntrospectionConfig.class ,
- RestBeanConfig.class,
- SearchConfiguration.class,
- DslConfiguration.class,
- XmlFormatTransformerConfiguration.class,
- GremlinServerSingleton.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.ingest.file = src/test/resources/application-test.properties"
-})
+@ContextConfiguration(
+ classes = {ConfigConfiguration.class, AAIConfigTranslator.class, EdgeIngestor.class,
+ EdgeSerializer.class, NodeIngestor.class, SpringContextAware.class,
+ IntrospectionConfig.class, RestBeanConfig.class, SearchConfiguration.class,
+ DslConfiguration.class, XmlFormatTransformerConfiguration.class,
+ GremlinServerSingleton.class})
+@TestPropertySource(
+ properties = {"schema.uri.base.path = /aai",
+ "schema.ingest.file = src/test/resources/application-test.properties"})
public abstract class AAISetup {
- @Autowired
- protected NodeIngestor nodeIngestor;
-
- @Autowired
- protected LoaderFactory loaderFactory;
-
- @Autowired
- protected Map<SchemaVersion, MoxyLoader> moxyLoaderInstance;
-
- @Autowired
- protected HttpEntry traversalHttpEntry;
-
- @Autowired
- protected HttpEntry traversalUriHttpEntry;
-
- @Autowired
+ @Autowired
+ protected NodeIngestor nodeIngestor;
+
+ @Autowired
+ protected LoaderFactory loaderFactory;
+
+ @Autowired
+ protected Map<SchemaVersion, MoxyLoader> moxyLoaderInstance;
+
+ @Autowired
+ protected HttpEntry traversalHttpEntry;
+
+ @Autowired
+ protected HttpEntry traversalUriHttpEntry;
+
+ @Autowired
protected SearchGraph searchGraph;
-
- @Autowired
- protected EdgeSerializer edgeSer;
-
- @Autowired
- protected EdgeIngestor edgeIngestor;
- @Autowired
- protected DslQueryProcessor dslQueryProcessor;
+ @Autowired
+ protected EdgeSerializer edgeSer;
+
+ @Autowired
+ protected EdgeIngestor edgeIngestor;
+
+ @Autowired
+ protected DslQueryProcessor dslQueryProcessor;
- @Autowired
- protected SchemaVersions schemaVersions;
+ @Autowired
+ protected SchemaVersions schemaVersions;
- @Autowired
- protected GremlinServerSingleton gremlinServerSingleton;
+ @Autowired
+ protected GremlinServerSingleton gremlinServerSingleton;
- @Value("${schema.uri.base.path}")
- protected String basePath;
+ @Value("${schema.uri.base.path}")
+ protected String basePath;
@ClassRule
public static final SpringClassRule springClassRule = new SpringClassRule();
@@ -115,14 +106,12 @@ public abstract class AAISetup {
public static void setupBundleconfig() throws Exception {
System.setProperty("AJSC_HOME", "./");
System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
-
+
}
-
+
public String getPayload(String filename) throws IOException {
- InputStream inputStream = getClass()
- .getClassLoader()
- .getResourceAsStream(filename);
+ InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filename);
String message = String.format("Unable to find the %s in src/test/resources", filename);
assertNotNull(message, inputStream);
@@ -131,11 +120,3 @@ public abstract class AAISetup {
return resource;
}
}
-
-
-
-
-
-
-
-
diff --git a/aai-traversal/src/test/java/org/onap/aai/HttpTestUtil.java b/aai-traversal/src/test/java/org/onap/aai/HttpTestUtil.java
index f12c8c3..23342f8 100644
--- a/aai-traversal/src/test/java/org/onap/aai/HttpTestUtil.java
+++ b/aai-traversal/src/test/java/org/onap/aai/HttpTestUtil.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,18 @@
*/
package org.onap.aai;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import javax.ws.rs.core.*;
+
import org.javatuples.Pair;
import org.mockito.Mockito;
import org.onap.aai.config.SpringContextAware;
@@ -37,17 +49,6 @@ import org.onap.aai.setup.SchemaVersions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.core.*;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.when;
-
public class HttpTestUtil extends RESTAPI {
private static final Logger logger = LoggerFactory.getLogger(HttpTestUtil.class);
@@ -67,14 +68,14 @@ public class HttpTestUtil extends RESTAPI {
private SchemaVersions schemaVersions;
- public void init(){
+ public void init() {
schemaVersions = (SchemaVersions) SpringContextAware.getBean("schemaVersions");
- httpHeaders = Mockito.mock(HttpHeaders.class);
- uriInfo = Mockito.mock(UriInfo.class);
+ httpHeaders = Mockito.mock(HttpHeaders.class);
+ uriInfo = Mockito.mock(UriInfo.class);
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -100,7 +101,8 @@ public class HttpTestUtil extends RESTAPI {
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
}
- public Response doPut(String uri, String payload) throws UnsupportedEncodingException, AAIException {
+ public Response doPut(String uri, String payload)
+ throws UnsupportedEncodingException, AAIException {
this.init();
Response response = null;
@@ -112,26 +114,27 @@ public class HttpTestUtil extends RESTAPI {
uri = uri.replaceAll("/aai/", "");
logger.info("Starting the put request for the uri {} with payload {}", uri, payload);
- String [] arr = uri.split("/");
+ String[] arr = uri.split("/");
SchemaVersion version = null;
- if(arr.length > 1){
- if(arr[0].matches("^v\\d+")){
+ if (arr.length > 1) {
+ if (arr[0].matches("^v\\d+")) {
version = new SchemaVersion(arr[0]);
uri = uri.replaceAll("^v\\d+", "");
}
}
- if(version == null){
+ if (version == null) {
version = schemaVersions.getDefaultVersion();
}
Mockito.when(uriInfo.getPath()).thenReturn(uri);
- HttpEntry resourceHttpEntry = SpringContextAware.getBean("traversalHttpEntry", HttpEntry.class);
+ HttpEntry resourceHttpEntry =
+ SpringContextAware.getBean("traversalHttpEntry", HttpEntry.class);
resourceHttpEntry.setHttpEntryProperties(version);
- Loader loader = resourceHttpEntry.getLoader();
- dbEngine = resourceHttpEntry.getDbEngine();
+ Loader loader = resourceHttpEntry.getLoader();
+ dbEngine = resourceHttpEntry.getDbEngine();
URI uriObject = UriBuilder.fromPath(uri).build();
URIToObject uriToObject = new URIToObject(loader, uriObject);
@@ -139,50 +142,54 @@ public class HttpTestUtil extends RESTAPI {
String objType = uriToObject.getEntityName();
QueryParser uriQuery = dbEngine.getQueryBuilder().createQueryFromURI(uriObject);
-
logger.info("Unmarshalling the payload to this {}", objType);
Introspector obj;
HttpMethod httpMethod;
- if(uri.contains("/relationship-list/relationship")){
- obj = loader.unmarshal("relationship", payload, org.onap.aai.restcore.MediaType.getEnum("application/json"));
+ if (uri.contains("/relationship-list/relationship")) {
+ obj = loader.unmarshal("relationship", payload,
+ org.onap.aai.restcore.MediaType.getEnum("application/json"));
httpMethod = HttpMethod.PUT_EDGE;
} else {
- obj = loader.unmarshal(objType, payload, org.onap.aai.restcore.MediaType.getEnum("application/json"));
+ obj = loader.unmarshal(objType, payload,
+ org.onap.aai.restcore.MediaType.getEnum("application/json"));
httpMethod = HttpMethod.PUT;
this.validateIntrospector(obj, loader, uriObject, httpMethod);
}
-
- DBRequest dbRequest =
- new DBRequest.Builder(httpMethod, uriObject, uriQuery, obj, httpHeaders, uriInfo, "JUNIT-TRANSACTION")
- .rawRequestContent(payload).build();
+ DBRequest dbRequest = new DBRequest.Builder(httpMethod, uriObject, uriQuery, obj,
+ httpHeaders, uriInfo, "JUNIT-TRANSACTION").rawRequestContent(payload).build();
List<DBRequest> dbRequestList = new ArrayList<>();
dbRequestList.add(dbRequest);
- Pair<Boolean, List<Pair<URI, Response>>> responsesTuple = resourceHttpEntry.process(dbRequestList, "JUNIT");
+ Pair<Boolean, List<Pair<URI, Response>>> responsesTuple =
+ resourceHttpEntry.process(dbRequestList, "JUNIT");
response = responsesTuple.getValue1().get(0).getValue1();
} catch (AAIException e) {
- response = this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, e);
- success = false;
- } catch(Exception e){
+ response =
+ this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, e);
+ success = false;
+ } catch (Exception e) {
AAIException ex = new AAIException("AAI_4000", e);
- response = this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, ex);
+ response =
+ this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, ex);
success = false;
} finally {
- if(success){
- if(response != null){
- if((response.getStatus() / 100) == 2){
- logger.info("Successfully completed the PUT request with status {} and committing it to DB", response.getStatus());
+ if (success) {
+ if (response != null) {
+ if ((response.getStatus() / 100) == 2) {
+ logger.info(
+ "Successfully completed the PUT request with status {} and committing it to DB",
+ response.getStatus());
} else {
logFailure(HttpMethod.PUT, response);
}
}
dbEngine.commit();
} else {
- if(response != null) {
+ if (response != null) {
logFailure(HttpMethod.PUT, response);
}
dbEngine.rollback();
@@ -204,33 +211,35 @@ public class HttpTestUtil extends RESTAPI {
uri = uri.replaceAll("/aai/", "");
logger.info("Starting the GET request for the uri {} with depth {}", uri, "all");
- String [] arr = uri.split("/");
+ String[] arr = uri.split("/");
SchemaVersion version = null;
- if(arr.length > 1){
- if(arr[0].matches("^v\\d+")){
+ if (arr.length > 1) {
+ if (arr[0].matches("^v\\d+")) {
version = new SchemaVersion(arr[0]);
uri = uri.replaceAll("^v\\d+", "");
}
}
- if(version == null){
+ if (version == null) {
version = schemaVersions.getDefaultVersion();
}
- HttpEntry resourceHttpEntry = SpringContextAware.getBean("traversalHttpEntry", HttpEntry.class);
+ HttpEntry resourceHttpEntry =
+ SpringContextAware.getBean("traversalHttpEntry", HttpEntry.class);
resourceHttpEntry.setHttpEntryProperties(version);
-
- Loader loader = resourceHttpEntry.getLoader();
- dbEngine = resourceHttpEntry.getDbEngine();
+
+ Loader loader = resourceHttpEntry.getLoader();
+ dbEngine = resourceHttpEntry.getDbEngine();
URI uriObject = UriBuilder.fromPath(uri).build();
URIToObject uriToObject = new URIToObject(loader, uriObject);
String objType = uriToObject.getEntityName();
queryParameters.add("depth", "all");
- QueryParser uriQuery = dbEngine.getQueryBuilder().createQueryFromURI(uriObject, queryParameters);
+ QueryParser uriQuery =
+ dbEngine.getQueryBuilder().createQueryFromURI(uriObject, queryParameters);
Mockito.when(uriInfo.getPath()).thenReturn(uri);
@@ -238,28 +247,32 @@ public class HttpTestUtil extends RESTAPI {
Introspector obj = loader.introspectorFromName(objType);
- DBRequest dbRequest =
- new DBRequest.Builder(HttpMethod.GET, uriObject, uriQuery, obj, httpHeaders, uriInfo, "JUNIT-TRANSACTION")
- .build();
+ DBRequest dbRequest = new DBRequest.Builder(HttpMethod.GET, uriObject, uriQuery, obj,
+ httpHeaders, uriInfo, "JUNIT-TRANSACTION").build();
List<DBRequest> dbRequestList = new ArrayList<>();
dbRequestList.add(dbRequest);
- Pair<Boolean, List<Pair<URI, Response>>> responsesTuple = resourceHttpEntry.process(dbRequestList, "JUNIT");
+ Pair<Boolean, List<Pair<URI, Response>>> responsesTuple =
+ resourceHttpEntry.process(dbRequestList, "JUNIT");
response = responsesTuple.getValue1().get(0).getValue1();
} catch (AAIException e) {
- response = this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, e);
+ response =
+ this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, e);
success = false;
- } catch(Exception e){
+ } catch (Exception e) {
AAIException ex = new AAIException("AAI_4000", e);
- response = this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, ex);
+ response =
+ this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, ex);
success = false;
} finally {
- if(success){
- if(response != null){
- if((response.getStatus() / 100) == 2){
- logger.info("Successfully completed the GET request with status {} and committing it to DB", response.getStatus());
+ if (success) {
+ if (response != null) {
+ if ((response.getStatus() / 100) == 2) {
+ logger.info(
+ "Successfully completed the GET request with status {} and committing it to DB",
+ response.getStatus());
} else {
logFailure(HttpMethod.GET, response);
}
@@ -274,7 +287,8 @@ public class HttpTestUtil extends RESTAPI {
return response;
}
- public Response doDelete(String uri, String resourceVersion) throws UnsupportedEncodingException, AAIException {
+ public Response doDelete(String uri, String resourceVersion)
+ throws UnsupportedEncodingException, AAIException {
this.init();
Response response = null;
@@ -284,43 +298,46 @@ public class HttpTestUtil extends RESTAPI {
try {
uri = uri.replaceAll("/aai/", "");
- logger.info("Starting the delete request for the uri {} with resource version {}", uri, resourceVersion);
+ logger.info("Starting the delete request for the uri {} with resource version {}", uri,
+ resourceVersion);
- String [] arr = uri.split("/");
+ String[] arr = uri.split("/");
SchemaVersion version = null;
- if(arr.length > 1){
- if(arr[0].matches("^v\\d+")){
+ if (arr.length > 1) {
+ if (arr[0].matches("^v\\d+")) {
version = new SchemaVersion(arr[0]);
- if(!uri.contains("relationship-list/relationship")){
+ if (!uri.contains("relationship-list/relationship")) {
uri = uri.replaceAll("^v\\d+", "");
}
}
}
- if(version == null){
+ if (version == null) {
version = schemaVersions.getDefaultVersion();
}
Mockito.when(uriInfo.getPath()).thenReturn(uri);
- HttpEntry resourceHttpEntry = SpringContextAware.getBean("traversalHttpEntry", HttpEntry.class);
+ HttpEntry resourceHttpEntry =
+ SpringContextAware.getBean("traversalHttpEntry", HttpEntry.class);
resourceHttpEntry.setHttpEntryProperties(version);
- Loader loader = resourceHttpEntry.getLoader();
- dbEngine = resourceHttpEntry.getDbEngine();
+ Loader loader = resourceHttpEntry.getLoader();
+ dbEngine = resourceHttpEntry.getDbEngine();
URI uriObject = UriBuilder.fromPath(uri).build();
URIToObject uriToObject = new URIToObject(loader, uriObject);
String objType = uriToObject.getEntityName();
queryParameters.add("resource-version", resourceVersion);
- QueryParser uriQuery = dbEngine.getQueryBuilder().createQueryFromURI(uriObject, queryParameters);
+ QueryParser uriQuery =
+ dbEngine.getQueryBuilder().createQueryFromURI(uriObject, queryParameters);
logger.info("Unmarshalling the payload to this {}", objType);
Introspector obj;
HttpMethod httpMethod;
- if(uri.contains("/relationship-list/relationship")){
+ if (uri.contains("/relationship-list/relationship")) {
obj = loader.introspectorFromName("relationship");
httpMethod = HttpMethod.DELETE_EDGE;
} else {
@@ -328,28 +345,32 @@ public class HttpTestUtil extends RESTAPI {
httpMethod = HttpMethod.DELETE;
}
- DBRequest dbRequest =
- new DBRequest.Builder(httpMethod, uriObject, uriQuery, obj, httpHeaders, uriInfo, "JUNIT-TRANSACTION")
- .build();
+ DBRequest dbRequest = new DBRequest.Builder(httpMethod, uriObject, uriQuery, obj,
+ httpHeaders, uriInfo, "JUNIT-TRANSACTION").build();
List<DBRequest> dbRequestList = new ArrayList<>();
dbRequestList.add(dbRequest);
- Pair<Boolean, List<Pair<URI, Response>>> responsesTuple = resourceHttpEntry.process(dbRequestList, "JUNIT");
+ Pair<Boolean, List<Pair<URI, Response>>> responsesTuple =
+ resourceHttpEntry.process(dbRequestList, "JUNIT");
response = responsesTuple.getValue1().get(0).getValue1();
} catch (AAIException e) {
- response = this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, e);
+ response =
+ this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, e);
success = false;
- } catch(Exception e){
+ } catch (Exception e) {
AAIException ex = new AAIException("AAI_4000", e);
- response = this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, ex);
+ response =
+ this.consumerExceptionResponseGenerator(httpHeaders, uriInfo, HttpMethod.PUT, ex);
success = false;
} finally {
- if(success){
- if(response != null){
- if((response.getStatus() / 100) == 2){
- logger.info("Successfully completed the DELETE request with status {} and committing it to DB", response.getStatus());
+ if (success) {
+ if (response != null) {
+ if ((response.getStatus() / 100) == 2) {
+ logger.info(
+ "Successfully completed the DELETE request with status {} and committing it to DB",
+ response.getStatus());
} else {
logFailure(HttpMethod.DELETE, response);
}
@@ -364,8 +385,9 @@ public class HttpTestUtil extends RESTAPI {
return response;
}
- public static void logFailure(HttpMethod httpMethod, Response response){
- logger.info("Unable to complete the {} request with status {} and rolling back", httpMethod.toString(), response.getStatus());
+ public static void logFailure(HttpMethod httpMethod, Response response) {
+ logger.info("Unable to complete the {} request with status {} and rolling back",
+ httpMethod.toString(), response.getStatus());
logger.info("Response body of failed request {}", response.getEntity());
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/PayloadUtil.java b/aai-traversal/src/test/java/org/onap/aai/PayloadUtil.java
index 8adc9d1..5a86d92 100644
--- a/aai-traversal/src/test/java/org/onap/aai/PayloadUtil.java
+++ b/aai-traversal/src/test/java/org/onap/aai/PayloadUtil.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,7 @@
*/
package org.onap.aai;
-import org.apache.commons.io.IOUtils;
+import static org.junit.Assert.assertNotNull;
import java.io.IOException;
import java.io.InputStream;
@@ -28,7 +28,7 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import static org.junit.Assert.assertNotNull;
+import org.apache.commons.io.IOUtils;
public class PayloadUtil {
@@ -37,7 +37,8 @@ public class PayloadUtil {
public static String getExpectedPayload(String fileName) throws IOException {
- InputStream inputStream = PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/expected/" + fileName);
+ InputStream inputStream =
+ PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/expected/" + fileName);
String message = String.format("Unable to find the %s in src/test/resources", fileName);
assertNotNull(message, inputStream);
@@ -50,7 +51,8 @@ public class PayloadUtil {
public static String getResourcePayload(String fileName) throws IOException {
- InputStream inputStream = PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/resource/" + fileName);
+ InputStream inputStream =
+ PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/resource/" + fileName);
String message = String.format("Unable to find the %s in src/test/resources", fileName);
assertNotNull(message, inputStream);
@@ -61,16 +63,18 @@ public class PayloadUtil {
return resource;
}
- public static String getTemplatePayload(String fileName, Map<String, String> templateValueMap) throws Exception {
+ public static String getTemplatePayload(String fileName, Map<String, String> templateValueMap)
+ throws Exception {
- InputStream inputStream = PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/templates/" + fileName);
+ InputStream inputStream = PayloadUtil.class.getClassLoader()
+ .getResourceAsStream("payloads/templates/" + fileName);
String message = String.format("Unable to find the %s in src/test/resources", fileName);
assertNotNull(message, inputStream);
String resource;
- if(cache.containsKey(fileName)){
+ if (cache.containsKey(fileName)) {
resource = cache.get(fileName);
} else {
resource = IOUtils.toString(inputStream);
@@ -81,26 +85,31 @@ public class PayloadUtil {
String resourceWithTemplateValues = resource;
- while(matcher.find()){
+ while (matcher.find()) {
int start = matcher.start() + 2;
int end = matcher.end() - 1;
String key = resource.substring(start, end);
- if(templateValueMap.containsKey(key)){
- resourceWithTemplateValues = resourceWithTemplateValues.replaceAll("\\$\\{" + key +"\\}", templateValueMap.get(key));
+ if (templateValueMap.containsKey(key)) {
+ resourceWithTemplateValues = resourceWithTemplateValues
+ .replaceAll("\\$\\{" + key + "\\}", templateValueMap.get(key));
} else {
- throw new RuntimeException("Unable to find the key value pair in map for the template processing for key " + key);
+ throw new RuntimeException(
+ "Unable to find the key value pair in map for the template processing for key "
+ + key);
}
}
inputStream.close();
return resourceWithTemplateValues;
}
-
+
public static String getNamedQueryPayload(String fileName) throws IOException {
- InputStream inputStream = PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/named-queries/" + fileName);
+ InputStream inputStream = PayloadUtil.class.getClassLoader()
+ .getResourceAsStream("payloads/named-queries/" + fileName);
- String message = String.format("Unable to find the %s in src/test/resources/payloads/named-queries", fileName);
+ String message = String
+ .format("Unable to find the %s in src/test/resources/payloads/named-queries", fileName);
assertNotNull(message, inputStream);
String resource = IOUtils.toString(inputStream);
diff --git a/aai-traversal/src/test/java/org/onap/aai/QueryParameterTest.java b/aai-traversal/src/test/java/org/onap/aai/QueryParameterTest.java
index faf0160..817ba28 100644
--- a/aai-traversal/src/test/java/org/onap/aai/QueryParameterTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/QueryParameterTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,16 +19,25 @@
*/
package org.onap.aai;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+
import com.att.eelf.configuration.EELFManager;
+
+import java.util.*;
+
+import javax.ws.rs.core.Response;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.aai.config.PropertyPasswordConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.*;
import org.springframework.test.context.ContextConfiguration;
@@ -36,15 +45,10 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
-import javax.ws.rs.core.Response;
-import java.util.*;
-
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(locations = "classpath:application-test.properties")
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
@Import(TraversalTestConfiguration.class)
@@ -62,7 +66,6 @@ public class QueryParameterTest {
private String configurationUri2;
-
@Autowired
RestTemplate restTemplate;
@@ -96,14 +99,14 @@ public class QueryParameterTest {
httpTestUtil = new HttpTestUtil();
configurationId = "test-" + UUID.randomUUID().toString();
- configurationUri ="/aai/v13/network/configurations/configuration/" + configurationId;
+ configurationUri = "/aai/v13/network/configurations/configuration/" + configurationId;
Map<String, String> configurationMap = new HashMap<>();
configurationMap.put("configuration-id", configurationId);
String payload = PayloadUtil.getTemplatePayload("configuration.json", configurationMap);
httpTestUtil.doPut(configurationUri, payload);
configurationId2 = "test-" + UUID.randomUUID().toString();
- configurationUri2 ="/aai/v13/network/configurations/configuration/" + configurationId2;
+ configurationUri2 = "/aai/v13/network/configurations/configuration/" + configurationId2;
configurationMap.put("configuration-id", configurationId2);
payload = PayloadUtil.getTemplatePayload("configuration.json", configurationMap);
httpTestUtil.doPut(configurationUri2, payload);
@@ -112,7 +115,7 @@ public class QueryParameterTest {
serviceInstanceId = "test-service-instance1";
serviceInstanceName = "test service instance1";
- customerUri ="/aai/v13/business/network/customers/customer/" + customerId;
+ customerUri = "/aai/v13/business/network/customers/customer/" + customerId;
Map<String, String> customerMap = new HashMap<>();
customerMap.put("customer-id", customerId);
customerMap.put("service-instance-id", serviceInstanceId);
@@ -125,7 +128,7 @@ public class QueryParameterTest {
customerId2 = "test-" + UUID.randomUUID().toString();
serviceInstanceId2 = "test-service-instance2";
serviceInstanceName2 = "test service instance1";
- customerUri2 ="/aai/v13/business/customers/customer/" + customerId2;
+ customerUri2 = "/aai/v13/business/customers/customer/" + customerId2;
customerMap = new HashMap<>();
customerMap.put("customer-id", customerId2);
@@ -135,7 +138,7 @@ public class QueryParameterTest {
httpTestUtil.doPut(customerUri2, payload);
vnfId = "test-" + UUID.randomUUID().toString();
- vnfUri ="/aai/v13/network/generic-vnfs/generic-vnf/" + vnfId;
+ vnfUri = "/aai/v13/network/generic-vnfs/generic-vnf/" + vnfId;
Map<String, String> vnfMap = new HashMap<>();
vnfMap.put("vnf-id", vnfId);
vnfMap.put("configuration-id", configurationId);
@@ -145,7 +148,7 @@ public class QueryParameterTest {
httpTestUtil.doPut(vnfUri, payload);
vnfId2 = "test-" + UUID.randomUUID().toString();
- vnfUri2 ="/aai/v13/network/generic-vnfs/generic-vnf/" + vnfId2;
+ vnfUri2 = "/aai/v13/network/generic-vnfs/generic-vnf/" + vnfId2;
vnfMap = new HashMap<>();
vnfMap.put("vnf-id", vnfId2);
vnfMap.put("configuration-id", configurationId2);
@@ -180,7 +183,8 @@ public class QueryParameterTest {
String payload = PayloadUtil.getTemplatePayload("custom-query.json", customQueryMap);
httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
LOGGER.info("Response of custom query : {}", responseEntity.getBody().toString());
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
assertThat(responseEntity.getBody().toString(), containsString(customerUri2));
diff --git a/aai-traversal/src/test/java/org/onap/aai/SubgraphPruneTest.java b/aai-traversal/src/test/java/org/onap/aai/SubgraphPruneTest.java
index 42a4542..4aefa85 100644
--- a/aai-traversal/src/test/java/org/onap/aai/SubgraphPruneTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/SubgraphPruneTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,13 +19,20 @@
*/
package org.onap.aai;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.*;
+
+import javax.ws.rs.core.Response;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.aai.config.PropertyPasswordConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.*;
import org.springframework.test.context.ContextConfiguration;
@@ -33,20 +40,15 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
-import javax.ws.rs.core.Response;
-import java.util.*;
-
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(locations = "classpath:application-test.properties")
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
@Import(TraversalTestConfiguration.class)
public class SubgraphPruneTest {
-
private HttpTestUtil httpTestUtil;
private String pserverUri;
@@ -73,7 +75,7 @@ public class SubgraphPruneTest {
httpTestUtil = new HttpTestUtil();
hostname = "test-" + UUID.randomUUID().toString();
- pserverUri ="/aai/v11/cloud-infrastructure/pservers/pserver/" + hostname;
+ pserverUri = "/aai/v11/cloud-infrastructure/pservers/pserver/" + hostname;
Map<String, String> pserverMap = new HashMap<>();
pserverMap.put("hostname", hostname);
String payload = PayloadUtil.getTemplatePayload("pserver.json", pserverMap);
@@ -91,8 +93,10 @@ public class SubgraphPruneTest {
cloudRegionMap.put("vserver-name", "some-vserver-name-id1111");
cloudRegionMap.put("pserver-uri", pserverUri);
- String cloudRegionPayload = PayloadUtil.getTemplatePayload("cloud-region-with-vserver.json", cloudRegionMap);
- String cloudRegionUri = "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/some-owner-id1111/some-region-id1111";
+ String cloudRegionPayload =
+ PayloadUtil.getTemplatePayload("cloud-region-with-vserver.json", cloudRegionMap);
+ String cloudRegionUri =
+ "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/some-owner-id1111/some-region-id1111";
Response response = httpTestUtil.doPut(cloudRegionUri, cloudRegionPayload);
@@ -114,14 +118,16 @@ public class SubgraphPruneTest {
Map<String, String> gremlinQueryMap = new HashMap<>();
// Having the cap('x') here causes the subgraph to fail
- gremlinQueryMap.put("gremlin-query", "g.V().has('vserver-id', '" + vserverId + "').store('x').out().has('aai-node-type', 'pserver').store('x').cap('x').unfold()");
+ gremlinQueryMap.put("gremlin-query", "g.V().has('vserver-id', '" + vserverId
+ + "').store('x').out().has('aai-node-type', 'pserver').store('x').cap('x').unfold()");
String payload = PayloadUtil.getTemplatePayload("gremlin-query.json", gremlinQueryMap);
String endpoint = "/aai/v13/query?format=console&subgraph=prune";
httpEntity = new HttpEntity(payload, headers);
ResponseEntity responseEntity = null;
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
System.out.println(responseEntity.getBody().toString());
assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java b/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java
index 516c6b9..8b94352 100644
--- a/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java
+++ b/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,11 +19,19 @@
*/
package org.onap.aai;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+
+import javax.net.ssl.SSLContext;
+
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.ssl.SSLContextBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.boot.web.client.RestTemplateBuilder;
@@ -36,13 +44,6 @@ import org.springframework.util.ResourceUtils;
import org.springframework.web.client.ResponseErrorHandler;
import org.springframework.web.client.RestTemplate;
-import javax.net.ssl.SSLContext;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.KeyStore;
-
@TestConfiguration
public class TraversalTestConfiguration {
@@ -60,31 +61,30 @@ public class TraversalTestConfiguration {
RestTemplate restTemplate = null;
- if(env.acceptsProfiles("one-way-ssl", "two-way-ssl")) {
- char[] trustStorePassword = env.getProperty("server.ssl.trust-store-password").toCharArray();
- char[] keyStorePassword = env.getProperty("server.ssl.key-store-password").toCharArray();
+ if (env.acceptsProfiles("one-way-ssl", "two-way-ssl")) {
+ char[] trustStorePassword =
+ env.getProperty("server.ssl.trust-store-password").toCharArray();
+ char[] keyStorePassword =
+ env.getProperty("server.ssl.key-store-password").toCharArray();
String keyStore = env.getProperty("server.ssl.key-store");
String trustStore = env.getProperty("server.ssl.trust-store");
SSLContextBuilder sslContextBuilder = SSLContextBuilder.create();
if (env.acceptsProfiles("two-way-ssl")) {
- sslContextBuilder = sslContextBuilder.loadKeyMaterial(loadPfx(keyStore, keyStorePassword), keyStorePassword);
+ sslContextBuilder = sslContextBuilder
+ .loadKeyMaterial(loadPfx(keyStore, keyStorePassword), keyStorePassword);
}
SSLContext sslContext = sslContextBuilder
- .loadTrustMaterial(ResourceUtils.getFile(trustStore), trustStorePassword)
- .build();
+ .loadTrustMaterial(ResourceUtils.getFile(trustStore), trustStorePassword).build();
- HttpClient client = HttpClients.custom()
- .setSSLContext(sslContext)
- .setSSLHostnameVerifier((s, sslSession) -> true)
- .build();
+ HttpClient client = HttpClients.custom().setSSLContext(sslContext)
+ .setSSLHostnameVerifier((s, sslSession) -> true).build();
restTemplate = builder
- .requestFactory(() -> new HttpComponentsClientHttpRequestFactory(client))
- .build();
- }else {
+ .requestFactory(() -> new HttpComponentsClientHttpRequestFactory(client)).build();
+ } else {
restTemplate = builder.build();
}
@@ -100,7 +100,7 @@ public class TraversalTestConfiguration {
return true;
}
- if(clientHttpResponse.getRawStatusCode() % 100 == 5){
+ if (clientHttpResponse.getRawStatusCode() % 100 == 5) {
logger.debug("Call returned a error " + clientHttpResponse.getStatusText());
return true;
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java
index e1515e3..842a6ca 100644
--- a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,8 +19,16 @@
*/
package org.onap.aai.dbgraphgen;
+import static org.junit.Assert.*;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyMapOf;
+import static org.mockito.Mockito.when;
+
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.graphdb.types.system.BaseVertexLabel;
import org.janusgraph.graphdb.types.system.EmptyVertex;
@@ -40,13 +48,6 @@ import org.onap.aai.introspection.ModelType;
import org.onap.aai.serialization.db.DBSerializer;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-import java.util.*;
-
-import static org.junit.Assert.*;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyMapOf;
-import static org.mockito.Mockito.when;
-
@RunWith(MockitoJUnitRunner.class)
public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@@ -60,7 +61,6 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Mock
private ModelBasedProcessing mockProcessor;
-
@Mock
private DbMethHelper dbMethHelper;
@@ -73,7 +73,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Before
public void init() {
MockitoAnnotations.initMocks(this);
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getDefaultVersion());
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY,
+ schemaVersions.getDefaultVersion());
processor = new ModelBasedProcessing(loader, dbEngine, serializer);
dbMethHelper = new DbMethHelper(loader, dbEngine);
@@ -83,181 +84,161 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Test
public void getStartNodesAndModVersionIdsTest() throws AAIException {
-
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("test", new Object());
startNodeFilterArrayOfHashes.add(map);
Map<String, String> result = new HashMap<>();
Map<String, String> result1 = mockProcessor.getStartNodesAndModVersionIds("test", "test",
- "test", "test", "test",
- "test", startNodeFilterArrayOfHashes,
- "test");
+ "test", "test", "test", "test", startNodeFilterArrayOfHashes, "test");
assertNotNull(result);
}
-
@Test(expected = NullPointerException.class)
public void getStartNodesAndModVersionIdsTest2() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("test", new Object());
startNodeFilterArrayOfHashes.add(map);
- Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test",
- "", "test", "test",
- "test", startNodeFilterArrayOfHashes,
- "test");
+ Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test", "",
+ "test", "test", "test", startNodeFilterArrayOfHashes, "test");
assertNotNull(result1);
}
-
@Test(expected = NullPointerException.class)
public void getStartNodesAndModVersionIdsTest3() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("test", new Object());
startNodeFilterArrayOfHashes.add(map);
- Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test",
- "", "", "test",
- "test", startNodeFilterArrayOfHashes,
- "test");
+ Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test", "",
+ "", "test", "test", startNodeFilterArrayOfHashes, "test");
assertNotNull(result1);
}
-
@Test(expected = AAIException.class)
public void getStartNodesAndModVersionIdsTest4() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("test", new Object());
startNodeFilterArrayOfHashes.add(map);
- Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test",
- "", "", "",
- "test", startNodeFilterArrayOfHashes,
- "test");
+ Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test", "",
+ "", "", "test", startNodeFilterArrayOfHashes, "test");
assertNotNull(result1);
}
-
@Test(expected = AAIException.class)
public void getStartNodesAndModVersionIdsTest5() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("test", new Object());
startNodeFilterArrayOfHashes.add(map);
- Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test",
- "", "", "",
- "", startNodeFilterArrayOfHashes,
- "test");
+ Map<String, String> result1 = processor.getStartNodesAndModVersionIds("test", "test", "",
+ "", "", "", startNodeFilterArrayOfHashes, "test");
assertNotNull(result1);
}
-
@Test(expected = AAIException.class)
public void getStartNodesAndModVersionIdsNullTest() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, String> result = null;
- result = processor.getStartNodesAndModVersionIds("test", "test",
- "", "", "",
- "", startNodeFilterArrayOfHashes,
- "test");
+ result = processor.getStartNodesAndModVersionIds("test", "test", "", "", "", "",
+ startNodeFilterArrayOfHashes, "test");
assertNotNull(result);
}
-
@Test(expected = NullPointerException.class)
public void getStartNodesAndModVersionIdsNullTest1() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, String> result = null;
- result = processor.getStartNodesAndModVersionIds("test", "test",
- "Test", "", "",
- "", startNodeFilterArrayOfHashes,
- "test");
+ result = processor.getStartNodesAndModVersionIds("test", "test", "Test", "", "", "",
+ startNodeFilterArrayOfHashes, "test");
assertNotNull(result);
}
@Test(expected = NullPointerException.class)
public void getStartNodesAndModVersionIdsNullTest2() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, String> result = null;
- result = processor.getStartNodesAndModVersionIds("test", "test",
- "", "test", "",
- "", startNodeFilterArrayOfHashes,
- "test");
+ result = processor.getStartNodesAndModVersionIds("test", "test", "", "test", "", "",
+ startNodeFilterArrayOfHashes, "test");
assertNotNull(result);
}
-
@Test(expected = NullPointerException.class)
public void getStartNodesAndModVersionIdsNullTest3() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, String> result = null;
- result = processor.getStartNodesAndModVersionIds("test", "test",
- "", "", "test",
- "", startNodeFilterArrayOfHashes,
- "test");
+ result = processor.getStartNodesAndModVersionIds("test", "test", "", "", "test", "",
+ startNodeFilterArrayOfHashes, "test");
assertNotNull(result);
}
@Test(expected = NullPointerException.class)
public void getModelVerTopWidgetTypeTest() throws AAIException {
Vertex vertex = new EmptyVertex();
- //Mockito.when(mockProcessor.getModelVerTopWidgetType(Mockito.any(Vertex.class), Mockito.any(String.class))).thenReturn("Sucess");
+ // Mockito.when(mockProcessor.getModelVerTopWidgetType(Mockito.any(Vertex.class),
+ // Mockito.any(String.class))).thenReturn("Sucess");
String result = processor.getModelVerTopWidgetType(vertex, "test");
- assertEquals("result has -local tacked on the end as it should", "Sucess", result
- );
+ assertEquals("result has -local tacked on the end as it should", "Sucess", result);
}
@Test(expected = NullPointerException.class)
public void getModelVerTopWidgetType() throws AAIException {
- /*Mockito.when(mockProcessor.getModelVerTopWidgetType(Mockito.any(String.class),
- Mockito.any(String.class), Mockito.any(String.class),
- Mockito.any(String.class), Mockito.any(String.class))
- ).thenReturn("Sucess");*/
+ /*
+ * Mockito.when(mockProcessor.getModelVerTopWidgetType(Mockito.any(String.class),
+ * Mockito.any(String.class), Mockito.any(String.class),
+ * Mockito.any(String.class), Mockito.any(String.class))
+ * ).thenReturn("Sucess");
+ */
String result = processor.getModelVerTopWidgetType("test", "test", "test", "Test", "test");
- assertEquals("result has -local tacked on the end as it should", "Sucess", result
- );
+ assertEquals("result has -local tacked on the end as it should", "Sucess", result);
}
@Test(expected = AAIException.class)
public void queryByModel() throws AAIException {
- /*Mockito.when(mockProcessor.getModelVerTopWidgetType(Mockito.any(String.class),
- Mockito.any(String.class), Mockito.any(String.class),
- Mockito.any(String.class), Mockito.any(String.class))
- ).thenReturn("Sucess");*/
- List<ResultSet> result = processor.queryByModel("test", "test",
- "test", "test", "test",
- "generic-vnf", null,
- "test");
+ /*
+ * Mockito.when(mockProcessor.getModelVerTopWidgetType(Mockito.any(String.class),
+ * Mockito.any(String.class), Mockito.any(String.class),
+ * Mockito.any(String.class), Mockito.any(String.class))
+ * ).thenReturn("Sucess");
+ */
+ List<ResultSet> result = processor.queryByModel("test", "test", "test", "test", "test",
+ "generic-vnf", null, "test");
assertEquals("result has -local tacked on the end as it should", 0, result.size());
-
}
-
@Test(expected = NullPointerException.class)
public void queryByModel_Timed() throws AAIException {
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("test", new Object());
startNodeFilterArrayOfHashes.add(map);
- List<ResultSet> result = processor.queryByModel_Timed("test", "test",
- "test", "test", "test",
- "test", startNodeFilterArrayOfHashes,
- "test");
+ List<ResultSet> result = processor.queryByModel_Timed("test", "test", "test", "test",
+ "test", "test", startNodeFilterArrayOfHashes, "test");
assertEquals("result has -local tacked on the end as it should", 0, result.size());
-
}
@Mock
@@ -267,17 +248,14 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
public void runDeleteByModel() throws AAIException {
Map<String, String> resultMock = new HashMap<String, String>();
- // when(mockProcessor.getNodeUsingUniqueId(any(String.class),any(String.class),any(String.class),any(String.class),any(String.class))).thenReturn(vertex);
- when(mockProcessor.runDeleteByModel(any(String.class),
- any(String.class), any(String.class),
- any(String.class), anyMapOf(String.class, Object.class), any(String.class), any(String.class))
- ).thenReturn(resultMock);
- Map<String, String> result = processor.runDeleteByModel("test", "test",
- "test", "test", startNodeFilterHash,
- "test",
- "test");
- assertEquals("result has -local tacked on the end as it should", result.size(), resultMock.size());
-
+ // when(mockProcessor.getNodeUsingUniqueId(any(String.class),any(String.class),any(String.class),any(String.class),any(String.class))).thenReturn(vertex);
+ when(mockProcessor.runDeleteByModel(any(String.class), any(String.class), any(String.class),
+ any(String.class), anyMapOf(String.class, Object.class), any(String.class),
+ any(String.class))).thenReturn(resultMock);
+ Map<String, String> result = processor.runDeleteByModel("test", "test", "test", "test",
+ startNodeFilterHash, "test", "test");
+ assertEquals("result has -local tacked on the end as it should", result.size(),
+ resultMock.size());
}
@@ -287,11 +265,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
public void runDeleteByModelWithNullParams() throws AAIException {
Map<String, String> resultMock = new HashMap<String, String>();
-
- Map<String, String> result = processor.runDeleteByModel("test", "test",
- null, null, null,
- "test",
- "test");
+ Map<String, String> result =
+ processor.runDeleteByModel("test", "test", null, null, null, "test", "test");
assertNotNull(result);
@@ -300,22 +275,17 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Test(expected = NullPointerException.class)
public void runDeleteByModelWithNullParams1() throws AAIException {
- Map<String, String> result1 = processor.runDeleteByModel("test", "test",
- null, "unknown", null,
- "test",
- "test");
+ Map<String, String> result1 =
+ processor.runDeleteByModel("test", "test", null, "unknown", null, "test", "test");
assertNotNull(result1);
}
-
@Test(expected = NullPointerException.class)
public void runDeleteByModelWithNullParams2() throws AAIException {
- Map<String, String> result1 = processor.runDeleteByModel("test", "test",
- null, "unknown", null,
- "test",
- "test");
+ Map<String, String> result1 =
+ processor.runDeleteByModel("test", "test", null, "unknown", null, "test", "test");
assertNotNull(result1);
}
@@ -325,9 +295,11 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String transId = "test";
String fromAppId = "test";
String namedQueryUuid = "test";
- ArrayList<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ ArrayList<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
String apiVer = "test";
- List<ResultSet> result = processor.queryByNamedQuery(transId, fromAppId, namedQueryUuid, startNodeFilterArrayOfHashes, apiVer);
+ List<ResultSet> result = processor.queryByNamedQuery(transId, fromAppId, namedQueryUuid,
+ startNodeFilterArrayOfHashes, apiVer);
assertNotNull(result);
}
@@ -337,10 +309,12 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String fromAppId = "test";
String namedQueryUuid = "test";
String secondaryFilterCutPoint = "test";
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<Map<String, Object>>();
+ List<Map<String, Object>> startNodeFilterArrayOfHashes =
+ new ArrayList<Map<String, Object>>();
String apiVer = "test";
Map<String, Object> secondaryFilterHash = new HashMap<String, Object>();
- List<ResultSet> result = processor.queryByNamedQuery(transId, fromAppId, namedQueryUuid, startNodeFilterArrayOfHashes, apiVer, secondaryFilterCutPoint, secondaryFilterHash);
+ List<ResultSet> result = processor.queryByNamedQuery(transId, fromAppId, namedQueryUuid,
+ startNodeFilterArrayOfHashes, apiVer, secondaryFilterCutPoint, secondaryFilterHash);
assertNotNull(result);
}
@@ -352,22 +326,17 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
resultSet.setVert(null);
Map<String, String> result = processor.deleteAsNeededFromResultSet("test", "test",
- resultSet, "test", "test",
- "test",
- resultMock);
+ resultSet, "test", "test", "test", resultMock);
assertEquals(result.size(), 0);
resultSet.setVert(vert);
Map<String, String> result1 = processor.deleteAsNeededFromResultSet("test", "test",
- resultSet, "test", "test",
- "test",
- resultMock);
+ resultSet, "test", "test", "test", resultMock);
assertEquals(result.size(), 0);
-
}
@Test(expected = NullPointerException.class)
@@ -414,7 +383,7 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
rsList.add(rs1);
rs.setSubResultSet(rsList);
Map<String, Object> map = new HashMap<String, Object>();
- //map.put("test.filter",new Object());
+ // map.put("test.filter",new Object());
boolean result = processor.satisfiesFilters(rs, map);
assertEquals(result, false);
@@ -452,12 +421,11 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
public void collectInstanceDataTest() throws AAIException {
BaseVertexLabel bs = new BaseVertexLabel("test");
- //bs.setId(80);
+ // bs.setId(80);
EmptyVertex ev = new EmptyVertex();
- //ev.setId(50l);
+ // ev.setId(50l);
Vertex thisLevelElemVtx = ev;
-
Multimap<String, String> thisMap = ArrayListMultimap.create();
List<String> vidsTraversed = new ArrayList<String>();
// only applies when collecting data using the default model for delete
@@ -466,22 +434,23 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
namedQueryElementHash.put("test", "test");
Map<String, String> delKeyHash = new HashMap<String, String>();
- ResultSet rs = processor.collectInstanceData("test", "test", thisLevelElemVtx, "test", validNextStepMap, vidsTraversed, 1, delKeyHash, namedQueryElementHash, "test");
+ ResultSet rs = processor.collectInstanceData("test", "test", thisLevelElemVtx, "test",
+ validNextStepMap, vidsTraversed, 1, delKeyHash, namedQueryElementHash, "test");
}
@Test(expected = NullPointerException.class)
- public void genTopoMap4ModelVerTest() throws
- AAIException {
+ public void genTopoMap4ModelVerTest() throws AAIException {
Vertex vertext = new EmptyVertex();
- Multimap<String, String> map = processor.genTopoMap4ModelVer("test", "test", vertext, "test");
+ Multimap<String, String> map =
+ processor.genTopoMap4ModelVer("test", "test", vertext, "test");
assertNotEquals(map, null);
}
@Test(expected = AAIException.class)
- public void genTopoMap4ModelVerTestNull() throws
- AAIException {
+ public void genTopoMap4ModelVerTestNull() throws AAIException {
Vertex vertext = null;
- Multimap<String, String> map = processor.genTopoMap4ModelVer("test", "test", vertext, "test");
+ Multimap<String, String> map =
+ processor.genTopoMap4ModelVer("test", "test", vertext, "test");
assertNotEquals(map, null);
}
@@ -495,7 +464,7 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Test(expected = AAIException.class)
public void getModConstraintHashTest() throws AAIException {
Vertex modelElementVtx = new EmptyVertex();
- //modelElementVtx.property(AAIProperties.NODE_TYPE,"Model");
+ // modelElementVtx.property(AAIProperties.NODE_TYPE,"Model");
Vertex modelElementVtx1 = new EmptyVertex();
Map<String, Vertex> currentHash = new HashMap<String, Vertex>();
currentHash.put("constraint", modelElementVtx1);
@@ -506,7 +475,7 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Test(expected = AAIException.class)
public void getModConstraintHashTestNull() throws AAIException {
Vertex modelElementVtx = null;
- //modelElementVtx.property(AAIProperties.NODE_TYPE,"Model");
+ // modelElementVtx.property(AAIProperties.NODE_TYPE,"Model");
Vertex modelElementVtx1 = null;
Map<String, Vertex> currentHash = new HashMap<String, Vertex>();
currentHash.put("constraint", modelElementVtx1);
@@ -517,7 +486,7 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
@Test(expected = NullPointerException.class)
public void getTopElementForSvcOrResModelVerTest() throws AAIException {
Vertex modelElementVtx = new EmptyVertex();
- //modelElementVtx.property(AAIProperties.NODE_TYPE,"Model");
+ // modelElementVtx.property(AAIProperties.NODE_TYPE,"Model");
Vertex modelElementVtx1 = new EmptyVertex();
Map<String, Vertex> currentHash = new HashMap<String, Vertex>();
currentHash.put("constraint", modelElementVtx1);
@@ -535,7 +504,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
namedQueryElementVertex.properties("property-collect-list", "");
- Map<String, Object> result = processor.getNamedQueryPropOverRide(transId, fromAppId, namedQueryElementVertex, instanceVertex, apiVer);
+ Map<String, Object> result = processor.getNamedQueryPropOverRide(transId, fromAppId,
+ namedQueryElementVertex, instanceVertex, apiVer);
assertNotEquals(result, null);
}
@@ -549,7 +519,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
namedQueryElementVertex.properties("property-collect-list", "");
- Map<String, Object> result = processor.getNamedQueryPropOverRide(transId, fromAppId, namedQueryElementVertex, instanceVertex, apiVer);
+ Map<String, Object> result = processor.getNamedQueryPropOverRide(transId, fromAppId,
+ namedQueryElementVertex, instanceVertex, apiVer);
assertNotEquals(result, null);
}
@@ -563,7 +534,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
namedQueryElementVertex.properties("property-collect-list", "");
- boolean result = processor.namedQueryConstraintSaysStop(transId, fromAppId, namedQueryElementVertex, instanceVertex, apiVer);
+ boolean result = processor.namedQueryConstraintSaysStop(transId, fromAppId,
+ namedQueryElementVertex, instanceVertex, apiVer);
assertTrue(result);
}
@@ -577,7 +549,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
namedQueryElementVertex.properties("property-collect-list", "");
- boolean result = processor.namedQueryConstraintSaysStop(transId, fromAppId, namedQueryElementVertex, instanceVertex, apiVer);
+ boolean result = processor.namedQueryConstraintSaysStop(transId, fromAppId,
+ namedQueryElementVertex, instanceVertex, apiVer);
assertTrue(result);
}
@@ -589,8 +562,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
Vertex instanceVertex = null;
String apiVer = "test";
-
- boolean result = processor.namedQueryConstraintSaysStop(transId, fromAppId, namedQueryElementVertex, instanceVertex, apiVer);
+ boolean result = processor.namedQueryConstraintSaysStop(transId, fromAppId,
+ namedQueryElementVertex, instanceVertex, apiVer);
assertTrue(result);
}
@@ -606,7 +579,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
namedQueryElementVertex.properties("property-collect-list", "");
- Map<String, Object> result = processor.getNamedQueryExtraDataLookup(transId, fromAppId, namedQueryElementVertex, instanceVertex, apiVer);
+ Map<String, Object> result = processor.getNamedQueryExtraDataLookup(transId, fromAppId,
+ namedQueryElementVertex, instanceVertex, apiVer);
assertTrue(result.size() > 0);
}
@@ -622,8 +596,7 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
int levelCounter = 1;
Map<String, String> result = processor.collectNQElementHash(transId, fromAppId,
- thisLevelElemVtx, incomingTrail, currentHash,
- vidsTraversed, levelCounter);
+ thisLevelElemVtx, incomingTrail, currentHash, vidsTraversed, levelCounter);
assertNotEquals(result, null);
}
@@ -642,8 +615,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String overRideModelVersionId = "test";
Map<String, String> result = processor.collectDeleteKeyHash(transId, fromAppId,
- thisLevelElemVtx, incomingTrail, currentHash,
- vidsTraversed, levelCounter, modConstraintHash, overRideModelId, overRideModelVersionId);
+ thisLevelElemVtx, incomingTrail, currentHash, vidsTraversed, levelCounter,
+ modConstraintHash, overRideModelId, overRideModelVersionId);
assertNotEquals(result, null);
}
@@ -680,9 +653,9 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
List<String> vidsTraversed = new ArrayList<String>();
int levelCounter = 1;
- Multimap<String, String> result = processor.collectTopology4ModelVer(transId, fromAppId,
- thisLevelElemVtx, incomingTrail, thisMap, vidsTraversed, levelCounter, currentHash
- , "test", "test");
+ Multimap<String, String> result =
+ processor.collectTopology4ModelVer(transId, fromAppId, thisLevelElemVtx, incomingTrail,
+ thisMap, vidsTraversed, levelCounter, currentHash, "test", "test");
assertNotEquals(result, null);
}
@@ -700,7 +673,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String incomingTrail = "test";
Multimap<String, String> currentMap = ArrayListMultimap.create();
- Multimap<String, String> result = processor.collectTopology4LinkagePoint(transId, fromAppId, linkagePointStrVal, incomingTrail, currentMap);
+ Multimap<String, String> result = processor.collectTopology4LinkagePoint(transId, fromAppId,
+ linkagePointStrVal, incomingTrail, currentMap);
assertNotEquals(result, null);
}
@@ -719,7 +693,8 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String fromAppId = "test";
Vertex queryVertex = new EmptyVertex();
String namedQueryUuid = "E44533334343";
- Multimap<String, String> result = processor.genTopoMap4NamedQ(transId, fromAppId, queryVertex, namedQueryUuid);
+ Multimap<String, String> result =
+ processor.genTopoMap4NamedQ(transId, fromAppId, queryVertex, namedQueryUuid);
assertNotEquals(result, null);
}
@@ -735,7 +710,7 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
int levelCounter = 1;
Multimap<String, String> result = processor.collectTopology4NamedQ(transId, fromAppId,
- thisLevelElemVtx, incomingTrail, thisMap, vidsTraversed, levelCounter);
+ thisLevelElemVtx, incomingTrail, thisMap, vidsTraversed, levelCounter);
assertNotEquals(result, null);
}
@@ -785,7 +760,6 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
boolean vertex = processor.nodeTypeSupportsPersona(incomingTrail);
assertFalse(vertex);
-
incomingTrail = "test";
boolean vertex1 = processor.nodeTypeSupportsPersona(incomingTrail);
assertTrue(vertex1);
@@ -797,11 +771,11 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String transID = "test";
Vertex thisLevelElemVtx = new EmptyVertex();
String incomingTrail = "test";
- String vertex1 = processor.getNqElementWidgetType(appId, transID, thisLevelElemVtx, incomingTrail);
+ String vertex1 =
+ processor.getNqElementWidgetType(appId, transID, thisLevelElemVtx, incomingTrail);
assertNotEquals(vertex1, null);
}
-
@Test(expected = NullPointerException.class)
public void getModElementWidgetType() throws AAIException {
String appId = "test";
@@ -819,11 +793,11 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String nodeType = "generic-vnf";
String idPropertyName = "test";
String uniqueIdVal = "test";
- Vertex vertex1 = processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
+ Vertex vertex1 =
+ processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
assertNotEquals(vertex1, null);
}
-
@Test(expected = AAIException.class)
public void getNodeUsingUniqueIdNull() throws AAIException {
String appId = "test";
@@ -832,12 +806,12 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String idPropertyName = "test";
String uniqueIdVal = "";
Vertex vertex1 = null;
- vertex1 = processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
+ vertex1 =
+ processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
assertNotEquals(vertex1, null);
}
-
@Test(expected = AAIException.class)
public void getNodeUsingUniqueIdNull1() throws AAIException {
String appId = "test";
@@ -846,13 +820,12 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String idPropertyName = "";
String uniqueIdVal = "test";
Vertex vertex1 = null;
- vertex1 = processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
+ vertex1 =
+ processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
assertNotEquals(vertex1, null);
-
}
-
@Test(expected = AAIException.class)
public void getNodeUsingUniqueIdNull2() throws AAIException {
String appId = "test";
@@ -861,10 +834,10 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String idPropertyName = "test";
String uniqueIdVal = "test";
Vertex vertex1 = null;
- vertex1 = processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
+ vertex1 =
+ processor.getNodeUsingUniqueId(transID, appId, nodeType, idPropertyName, uniqueIdVal);
assertNotEquals(vertex1, null);
-
}
@Test(expected = NullPointerException.class)
@@ -877,7 +850,6 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
assertNotEquals(result, null);
}
-
@Test(expected = AAIException.class)
public void getModelVersUsingNameNull() throws AAIException {
String appId = "test";
@@ -888,7 +860,6 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
assertNotEquals(result, null);
}
-
@Test(expected = NullPointerException.class)
public void getModVersUsingModelInvId() throws AAIException {
String appId = "test";
@@ -959,9 +930,6 @@ public class ModelBasedProcessingInvalidDataTest extends AAISetup {
String modelName = "test";
processor.validateModel(transID, appId, modelName, modelVersionId);
-
}
-
}
-
diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java
index 80f6d34..ab1ea0a 100644
--- a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,6 +21,12 @@ package org.onap.aai.dbgraphgen;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -42,12 +48,7 @@ import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
import org.onap.aai.setup.SchemaVersion;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ModelBasedProcessingTest extends AAISetup{
+public class ModelBasedProcessingTest extends AAISetup {
private SchemaVersion version;
private static final ModelType introspectorFactoryType = ModelType.MOXY;
@@ -57,828 +58,917 @@ public class ModelBasedProcessingTest extends AAISetup{
private static final String FROM_APP_ID = "JUNIT";
private static final String API_VERSION = "1.0";
private static final String AAI_NODE_TYPE = "aai-node-type";
-
+
private static final String MODEL_VESION_NODE_VALUE = "model-ver";
private static final String MODEL_VERSION_ID_KEY = "model-version-id";
private static final String MODEL_VERSION_ID_VALUE = "model-version-id-1";
-
+
private static final String MODEL_INVARIANT_ID_NODE_VALUE = "model-invariant-id-local";
private static final String MODEL_INVARIANT_ID_KEY = "model-invariant-id-local";
private static final String MODEL_INVARIANT_ID_VALUE = "model-invariant-id-1";
-
+
private static final String MODEL_NAME_NODE_VALUE = "model-name";
private static final String MODEL_NAME_ID_KEY = "model-name";
private static final String MODEL_NAME_ID_VALUE = "generic-vnf";
-
-
- private static TransactionalGraphEngine dbEngine;
- private static TransactionalGraphEngine.Admin admin;
- DBSerializer serializer;
- private static Loader loader;
-
- ModelBasedProcessing modelBasedProcessor;
-
- GraphTraversalSource source;
-
- Graph graph;
-
- Vertex model;
- Vertex modelVersion;
- Vertex modelElement;
- Vertex constrainedElementSet;
- Vertex namedQueryElement;
- Vertex linkagePoints;
- Vertex namedQuery;
-
- @BeforeClass
- public static void configure() throws Exception {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
- }
-
- @Before
- public void init() throws AAIException {
- MockitoAnnotations.initMocks(this);
- version = schemaVersions.getDefaultVersion();
- loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, version);
- TransactionalGraphEngine newDbEngine = new JanusGraphDBEngine(queryStyle, loader);
- dbEngine = Mockito.spy(newDbEngine);
- serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
- admin = Mockito.spy(dbEngine.asAdmin());
- modelBasedProcessor = new ModelBasedProcessing(loader, dbEngine, serializer);
- graph = TinkerGraph.open();
- source = createGraph();
- }
-
- private GraphTraversalSource createGraph() throws AAIException {
- model = graph.addVertex(T.label, "model", T.id, "0", AAI_NODE_TYPE, "model", "model-invariant-id", "model-invariant-id-1", "model-type", "widget");
- modelVersion = graph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "1", AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY,
- MODEL_VERSION_ID_VALUE,MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
- graph.addVertex(T.label, MODEL_INVARIANT_ID_NODE_VALUE, T.id, "2", MODEL_INVARIANT_ID_KEY, MODEL_INVARIANT_ID_VALUE, "model-version-id-local", MODEL_VERSION_ID_VALUE);
- namedQuery = graph.addVertex(T.label, "named-query", T.id, "3","aai-node-type", "named-query", "named-query-uuid", "named-query-uuid-1");
- graph.addVertex(T.label, MODEL_NAME_NODE_VALUE, T.id, "4", AAI_NODE_TYPE, MODEL_NAME_NODE_VALUE, MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE);
- modelElement = graph.addVertex(T.label, "model-element", T.id, "5", AAI_NODE_TYPE, "model-element");
- Vertex modelConstraint = graph.addVertex(T.label, "model-constraint", T.id, "6", AAI_NODE_TYPE, "model-constraint","constrained-element-set-uuid-2-replace","cesu2r-1");
- constrainedElementSet = graph.addVertex(T.label, "constrained-element-set", T.id, "7", AAI_NODE_TYPE, "constrained-element-set");
- Vertex elementChoiceSet = graph.addVertex(T.label, "element-choice-set", T.id, "8", AAI_NODE_TYPE, "element-choice-set");
- namedQueryElement = graph.addVertex(T.label, "named-query-element", T.id, "9","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- linkagePoints = graph.addVertex(T.label, "linkage-points", T.id, "10", AAI_NODE_TYPE, "linkage-points", "linkage-points", getArrayListAsString(),
- "new-data-del-flag", "F");
-
- GraphTraversalSource g = graph.traversal();
- edgeSer.addTreeEdge(g, model, modelVersion);
- edgeSer.addTreeEdge(g, modelElement, modelConstraint);
- edgeSer.addTreeEdge(g, constrainedElementSet, modelConstraint);
- edgeSer.addTreeEdge(g, modelVersion, modelElement);
- edgeSer.addTreeEdge(g, modelElement, constrainedElementSet);
- edgeSer.addTreeEdge(g, constrainedElementSet, elementChoiceSet);
- edgeSer.addTreeEdge(g, modelElement, elementChoiceSet);
- edgeSer.addTreeEdge(g, namedQuery, namedQueryElement);
- edgeSer.addTreeEdge(g, namedQueryElement, namedQueryElement);
- edgeSer.addEdge(g, modelVersion, modelElement);
- edgeSer.addEdge(g, model, namedQueryElement);
- return g;
- }
-
- @Test(expected=AAIException.class)
- public void testGetStartNodesAndModVersionIds_NullId_ExpectException() throws AAIException {
- List<Map<String,Object>> startNodeFilterArrayOfHashes=new ArrayList<>();
- String passedModelVerId = null;
- String passedModelInvId = null;
- String passedModelName = null;
- modelBasedProcessor.getStartNodesAndModVersionIds("9999","postmen",passedModelVerId,passedModelInvId,
- passedModelName,"generic-vnf",startNodeFilterArrayOfHashes,"");
- }
-
- @Test
- public void testGetStartNodesAndModVersionIds_ModelVersion() throws AAIException {
-
- List<Map<String,Object>> startNodeFilterArrayOfHashes=new ArrayList<>();
- String passedModelInvId = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE, passedModelInvId, passedModelName,
- AAI_NODE_TYPE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test
- public void testGetStartNodesAndModVersionIds_ModelInId() throws AAIException {
- List<Map<String,Object>> startNodeFilterArrayOfHashes=new ArrayList<>();
- String passedModelVersion = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,passedModelVersion,MODEL_INVARIANT_ID_VALUE, passedModelName,
- AAI_NODE_TYPE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test
- public void testGetStartNodesAndModVersionIds_ModelName() throws AAIException {
- List<Map<String,Object>> startNodeFilterArrayOfHashes=new ArrayList<>();
- String passedModelVersion = null;
- String passedModelInvId = null;
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,passedModelVersion,passedModelInvId, MODEL_NAME_ID_VALUE,
- AAI_NODE_TYPE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelVersion() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- String passedModelInvId = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE, passedModelInvId, passedModelName,
- MODEL_NAME_ID_VALUE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelInvId() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- String passedModelVersion = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,passedModelVersion,MODEL_INVARIANT_ID_VALUE, passedModelName,
- MODEL_NAME_ID_VALUE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelName() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- String passedModelVersion = null;
- String passedModelInvId = null;
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,passedModelVersion,passedModelInvId, MODEL_NAME_ID_VALUE,
- MODEL_NAME_ID_VALUE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testQueryByModel() throws AAIException {
- List<Map<String,Object>> startNodeFilterArrayOfHashes=new ArrayList<>();
- String passedModelInvId = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.queryByModel(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE, passedModelInvId, passedModelName,
- AAI_NODE_TYPE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testQueryByModel_Timed() throws AAIException {
- List<Map<String,Object>> startNodeFilterArrayOfHashes=new ArrayList<>();
- String passedModelVersion = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.queryByModel_Timed(TRANSACTION_ID, FROM_APP_ID,passedModelVersion,MODEL_INVARIANT_ID_VALUE, passedModelName,
- MODEL_NAME_ID_VALUE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testgetModelTypeFromModelVer_NullVertexArg() throws AAIException {
- Vertex nullVertex = null;
- modelBasedProcessor.getModelVerTopWidgetType(nullVertex, "");
- }
-
- @Test
- public void testValidateNamedQuery_FoundQuery() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- modelBasedProcessor.validateNamedQuery("9999", "JUNIT", "named-query-uuid-1", "1.0");
- }
-
- @Test(expected=AAIException.class)
- public void testValidateNamedQuery_NotFoundQuery() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- modelBasedProcessor.validateNamedQuery("9999", "JUNIT", "named-query-uuid", "1.0");
- }
-
- @Test(expected=AAIException.class)
- public void testGetNodeUsingUniqueId_NullUniqueId() throws AAIException {
- modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen","generic-vnf","vnf-id","");
- modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen","generic-vnf","vnf-id",null);
- }
-
- @Test(expected=AAIException.class)
- public void testGetNodeUsingUniqueId_NullPropertyName() throws AAIException {
- modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen","generic-vnf","","vnf-id-1");
- modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen","generic-vnf",null,"vnf-id-1");
- }
-
- @Test(expected=AAIException.class)
- public void testGetNodeUsingUniqueId_NullNodeType() throws AAIException {
- modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen","","vnf-id","vnf-id-1");
- modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen",null,"vnf-id","vnf-id-1");
- }
-
- @Test(expected=AAIException.class)
- public void testValidateModel() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.validateModel("9999", "JUNIT", MODEL_VERSION_ID_VALUE, "1.0");
- }
-
- @Test
- public void testShowResultSet_NullVertex() {
- ResultSet rs = getResultSet();
- rs.setVert(null);
- modelBasedProcessor.showResultSet(rs, 1);
- }
-
- @Test
- public void testShowResultSet_NonEmptyOverrideHash() {
- ResultSet rs = getResultSet();
- modelBasedProcessor.showResultSet(rs, 2);
- }
-
- @Test
- public void testShowResultSet_EmptyOverrideHash() {
- ResultSet rs = getResultSet();
- rs.setPropertyOverRideHash(new HashMap<String, Object>());
- modelBasedProcessor.showResultSet(rs, 2);
- }
-
- private ResultSet getResultSet() {
- ResultSet rs = new ResultSet();
- rs.setVert(model);
- rs.setLocationInModelSubGraph("2");
- Map<String,Object> overrideHash = new HashMap<String, Object>();
- rs.setPropertyOverRideHash(overrideHash);
- overrideHash.put("key1", "value1");
- overrideHash.put("key2", "value2");
- overrideHash.put("key3", "value3");
- overrideHash.put("key4", "value4");
-
- Map<String,Object> extraHash = new HashMap<String, Object>();
- rs.setExtraPropertyHash(extraHash);
- extraHash.put("key1", "value1");
- extraHash.put("key2", "value2");
- extraHash.put("key3", "value3");
- extraHash.put("key4", "value4");
-
- return rs;
- }
-
- @Test
- public void testPruneResultSet_NotCutPointType() throws AAIException {
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- ResultSet rs = getResultSet();
- List<ResultSet> subResultSet = new ArrayList<>();
- subResultSet.add(getResultSet());
- rs.setSubResultSet(subResultSet);
- modelBasedProcessor.pruneResultSet(rs, "mdl", new HashMap<>());
- }
-
- @Test
- public void testPruneResultSet_CutPointType() throws AAIException {
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- ResultSet rs = getResultSet();
- Map<String, Object> startNodeFilterHash = new HashMap<>();
- startNodeFilterHash.put("model.model_type","widget");
- startNodeFilterHash.put("named_query.named-query-uuid","named-query-uuid-1");
- modelBasedProcessor.pruneResultSet(rs, "model", startNodeFilterHash);
- }
-
- @Test
- public void testCollapseForDoNotOutput_FlagTrue() throws AAIException {
-
- ResultSet rs = getResultSet();
- List<ResultSet> subResultSet = new ArrayList<>();
- subResultSet.add(getResultSet());
- rs.setSubResultSet(subResultSet);
- rs.setDoNotOutputFlag("true");
- modelBasedProcessor.collapseForDoNotOutput(rs);
- }
-
- @Test
- public void testCollapseForDoNotOutput_FlagFalse() throws AAIException {
-
- ResultSet rs = getResultSet();
- List<ResultSet> subResultSet = new ArrayList<>();
- subResultSet.add(getResultSet());
- rs.setSubResultSet(subResultSet);
- rs.setDoNotOutputFlag("false");
- modelBasedProcessor.collapseForDoNotOutput(rs);
- }
-
- @Test
- public void testMakeSureItsAnArrayList() {
- String listString = getArrayListAsString();
- modelBasedProcessor.makeSureItsAnArrayList(listString);
- }
-
- private String getArrayListAsString() {
- List<String> strList = new ArrayList<>();
- strList.add("1");
- strList.add("2");
- strList.add("3");
- return strList.toString();
- }
-
- @Test
- public void testGetModConstraintHash() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getModConstraintHash(modelElement, new HashMap<>());
- }
-
- @Test(expected=AAIException.class)
- public void testGenTopoMap4ModelVer_WidgetType() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.genTopoMap4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelVersion, MODEL_VERSION_ID_VALUE);
- }
-
- @Test(expected=AAIException.class)
- public void testGenTopoMap4ModelVer_ServiceType() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "20", AAI_NODE_TYPE, "model", "model-invariant-id", "model-invariant-id-1", "model-type", "service");
- Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "21", AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE,
- MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
- Vertex modelElementV = graph.addVertex(T.label, "model-element", T.id, "22", AAI_NODE_TYPE, "model-element");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- //EdgeRules rules4Service = EdgeRules.getInstance();
- edgeSer.addTreeEdge(gts, modelV, modelVerV);
- edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
- edgeSer.addEdge(gts, modelElementV, modelVerV);
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.genTopoMap4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelVerV, MODEL_VERSION_ID_VALUE);
- }
-
- @Test(expected=AAIException.class)
- public void testCollectTopology4ModelVer() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- Multimap<String, String> initialEmptyMap = ArrayListMultimap.create();
- List<String> vidsTraversed = new ArrayList<>();
- modelBasedProcessor.collectTopology4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelElement, "", initialEmptyMap, vidsTraversed,
- 0, null, MODEL_INVARIANT_ID_VALUE, MODEL_VERSION_ID_VALUE);
- }
-
- @Test(expected=AAIException.class)
- public void testGetNextStepElementsFromSet_NullVertex() throws AAIException {
- modelBasedProcessor.getNextStepElementsFromSet(null);
- }
-
- @Test
- public void testRundeleteAsNeededFromResultSet() throws AAIException {
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- ResultSet rs = getResultSet();
- rs.setNewDataDelFlag("T");
- modelBasedProcessor.deleteAsNeededFromResultSet(TRANSACTION_ID, FROM_APP_ID, rs,
- "", API_VERSION, API_VERSION, new HashMap<>());
- }
-
- @Test(expected=AAIException.class)
- public void testQueryByNamedQuery() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.queryByNamedQuery(TRANSACTION_ID, FROM_APP_ID, "named-query-uuid-1", new ArrayList<>(), API_VERSION);
- }
-
- @Test
- public void testCollectInstanceData() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- Multimap<String, String> validNextStepMap = ArrayListMultimap.create();
- validNextStepMap.put("named-query-element-uuid-1", "named-query-element-uuid-1");
- List<String> vidsTraversed=new ArrayList<>();
- vidsTraversed.add("named-query-element-uuid-1");
- Map<String,String> namedQueryElementHash = new HashMap<>();
- namedQueryElementHash.put("named-query-element-uuid-1", "named-query-element-uuid-1");
- modelBasedProcessor.collectInstanceData(TRANSACTION_ID, FROM_APP_ID, modelElement, "named-query-element-uuid-1",
- validNextStepMap, vidsTraversed, 0, new HashMap<>(), namedQueryElementHash, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testNamedQueryConstraintSaysStop_NullNamedQueryVertex() throws AAIException {
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, null, model, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testNamedQueryConstraintSaysStop_NullInstanceVertex() throws AAIException {
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, model, null, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testNamedQueryConstraintSaysStop_NullContraintType() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "30","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "31", AAI_NODE_TYPE, "property-constraint");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "32", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testNamedQueryConstraintSaysStop_NullPropertyName() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "33","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "34", AAI_NODE_TYPE, "property-constraint", "constraint-type", "EQUALS");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "35", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- //EdgeRules rules4Service = EdgeRules.getInstance();
- edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testNamedQueryConstraintSaysStop_NullPropertyValue() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "36","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "37", AAI_NODE_TYPE, "property-constraint",
- "constraint-type", "EQUALS", "property-name", "property-name");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "38", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test
- public void testNamedQueryConstraintSaysStop_ConstraintTypeEquals() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "39","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "40", AAI_NODE_TYPE, "property-constraint",
- "constraint-type", "EQUALS", "property-name", "property-name", "property-value", "property-value");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "41", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test
- public void testNamedQueryConstraintSaysStop_ConstraintTypeNotEquals() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "42","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "43", AAI_NODE_TYPE, "property-constraint",
- "constraint-type", "NOT-EQUALS", "property-name", "property-name", "property-value", "property-value");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "44", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testGetNamedQueryExtraDataLookup_TargetNodeTypeNull() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "45","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex relatedLookUpV = graph.addVertex(T.label, "related-lookup", T.id, "46", AAI_NODE_TYPE, "related-lookup",
- "source-node-property", "source-node-property", "source-node-type", "generic-vnf");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "47", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
- edgeSer.addTreeEdge(gts, namedQueryElementV, relatedLookUpV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.getNamedQueryExtraDataLookup(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test
- public void testGetNamedQueryExtraDataLookup_InvalidSourceProperty() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "51","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex relatedLookUpV = graph.addVertex(T.label, "related-lookup", T.id, "52", AAI_NODE_TYPE, "related-lookup",
- "source-node-property", "source-node-property", "source-node-type", "generic-vnf", "target-node-type", "generic-vnf",
- "target-node-property", "generic-vnf", "property-collect-list", "property-collect-list");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "53", AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
- GraphTraversalSource gts = serviceGraph.traversal();
- edgeSer.addTreeEdge(gts, namedQueryElementV, relatedLookUpV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.getNamedQueryExtraDataLookup(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testGetNamedQueryExtraDataLookup_ValidSourceProperty() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "54","aai-node-type", "named-query-element",
- "property-limit-desc", "show-all", "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
- "property-collect-list", "property-collect-list-1");
- Vertex relatedLookUpV = graph.addVertex(T.label, "related-lookup", T.id, "55", AAI_NODE_TYPE, "related-lookup",
- "source-node-property", "source-node-property", "source-node-type", "generic-vnf", "target-node-type", "generic-vnf", "target-node-property", "generic-vnf");
- Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "56", AAI_NODE_TYPE, "instance-vertex", "source-node-property", "source-node-property");
- GraphTraversalSource gts = serviceGraph.traversal();
- edgeSer.addTreeEdge(gts, namedQueryElementV, relatedLookUpV);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.getNamedQueryExtraDataLookup(TRANSACTION_ID, FROM_APP_ID, namedQueryElementV, instanceVertexV, API_VERSION);
- }
-
- @Test
- public void testCollectNQElementHash() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.collectNQElementHash(TRANSACTION_ID, FROM_APP_ID, namedQueryElement, "", new HashMap<>(), new ArrayList<>(), 0);
- }
-
- @Test
- public void testCollectDeleteKeyHash() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.collectDeleteKeyHash(TRANSACTION_ID, FROM_APP_ID, linkagePoints, "", new HashMap<>(), new ArrayList<>(),
- 0, new HashMap<>(), "model-version-1", "model-version-id-local");
- }
-
- @Test(expected=AAIException.class)
- public void testCheck4EdgeRule_InvalidNodeA() throws AAIException {
- modelBasedProcessor.check4EdgeRule("model-version1", "model-ver");
- }
-
- @Test(expected=AAIException.class)
- public void testCheck4EdgeRule_InvalidNodeB() throws AAIException {
- modelBasedProcessor.check4EdgeRule("model-ver", "model-version1");
- }
-
- @Test(expected=AAIException.class)
- public void testCheck4EdgeRule_InvalidEdge() throws AAIException {
- modelBasedProcessor.check4EdgeRule("model-ver", "named-query");
- }
-
- @Test
- public void testCollectTopology4LinkagePoint() throws AAIException {
- String linkagePointStrVal = new String("model-ver|model");
- String incomingTrail = new String("model|model-ver");
- Multimap<String, String> currentMap = ArrayListMultimap.create();
- modelBasedProcessor.collectTopology4LinkagePoint(TRANSACTION_ID, FROM_APP_ID, linkagePointStrVal, incomingTrail, currentMap);
- }
-
- @Test
- public void testGenTopoMap4NamedQ() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.genTopoMap4NamedQ(TRANSACTION_ID, FROM_APP_ID, namedQuery, "named-query-uuid-1");
- }
-
- @Test
- public void testGetModelThatNqElementRepresents() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getModelThatNqElementRepresents(namedQueryElement, "");
- }
-
- @Test
- public void testGetModelVerThatElementRepresents() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getModelVerThatElementRepresents(modelElement, "");
- }
-
- @Test
- public void testGetModelTypeFromModel() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getModelTypeFromModel(model, "");
- }
-
- @Test
- public void testGetModelVerTopWidgetType() throws AAIException {
- Graph serviceGraph = TinkerGraph.open();
- Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "57", AAI_NODE_TYPE, "model", "model-invariant-id", "model-invariant-id-1", "model-type", "service");
- Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "58", AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE,
- MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
- Vertex modelElementV = graph.addVertex(T.label, "model-element", T.id, "59", AAI_NODE_TYPE, "model-element");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, modelV, modelVerV);
- edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
- edgeSer.addEdge(gts, modelElementV, modelVerV);
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.getModelVerTopWidgetType(modelVerV, "");
- }
-
- @Test
- public void testGetModelElementStepName() throws AAIException {
- Graph serviceGraph = TinkerGraph.open();
- Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "60", AAI_NODE_TYPE, "model", "model-invariant-id", "model-invariant-id-1", "model-type", "service");
- Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "61", AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE,
- MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
- Vertex modelElementV = graph.addVertex(T.label, "model-element", T.id, "62", AAI_NODE_TYPE, "model-element");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, modelV, modelVerV);
- edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
- edgeSer.addEdge(gts, modelElementV, modelVerV);
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.getModelElementStepName(modelElementV, "");
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testRunDeleteByModel() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- Map<String, Object> map = new HashMap<>();
- map.put("generic-vnf.d","relationshipdata");
-
- modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE, "model-ver", map, API_VERSION, API_VERSION);
- }
-
- @Test
- public void testSecondConstructor() {
- ModelBasedProcessing mdp = new ModelBasedProcessing();
- }
-
- @Test(expected=AAIIdentityMapParseException.class)
- public void testQueryByNamedQuery_NonEmptyMap() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
-
- modelBasedProcessor.queryByNamedQuery(TRANSACTION_ID, FROM_APP_ID, "named-query-uuid-1", startNodeFilterArrayOfHashes, API_VERSION, null, null);
-
- }
-
- @Test(expected=AAIIdentityMapParseException.class)
- public void testRunDeleteByModel_Service() throws AAIException {
- Graph serviceGraph = TinkerGraph.open();
- Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "63", AAI_NODE_TYPE, "model", "model-invariant-id", "model-invariant-id-1", "model-type", "service");
- Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "64", AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE,
- MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
- Vertex modelElementV = graph.addVertex(T.label, "model-element", T.id, "65", AAI_NODE_TYPE, "model-element");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, modelV, modelVerV);
- edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
- edgeSer.addEdge(gts, modelElementV, modelVerV);
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
-
- Map<String, Object> map = new HashMap<>();
- map.put("generic-vnf.d","relationshipdata");
-
- modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE, "model-ver", map, API_VERSION, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_AllEmpty() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- String passedModelInvId = null;
- String passedModelName = null;
- String passedModelVerId = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID, passedModelVerId, passedModelInvId, passedModelName,
- "", startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelTypeNonNull() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- String passedModelInvId = null;
- String passedModelName = null;
- String passedModelVerId = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID, passedModelVerId, passedModelInvId, passedModelName,
- MODEL_NAME_ID_VALUE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testQueryByModel_Timed_NonEmptyHash() throws AAIException {
- Map<String, Object> map = new HashMap<>();
- map.put("model-ver.model-name", "model-name");
- List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
- startNodeFilterArrayOfHashes.add(map);
- String passedModelVersion = null;
- String passedModelName = null;
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- modelBasedProcessor.queryByModel_Timed(TRANSACTION_ID, FROM_APP_ID,passedModelVersion,MODEL_INVARIANT_ID_VALUE, passedModelName,
- MODEL_NAME_ID_VALUE, startNodeFilterArrayOfHashes, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testRunDeleteByModel_NullVersionAndNode() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- Map<String, Object> map = new HashMap<>();
- map.put("generic-vnf.d","relationshipdata");
-
- modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, "", "", map, API_VERSION, API_VERSION);
- }
-
- @Test(expected=AAIException.class)
- public void testRunDeleteByModel_NullVersion() throws AAIException {
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
- Map<String, Object> map = new HashMap<>();
- map.put("generic-vnf.d","relationshipdata");
-
- modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, "", "model-ver", map, API_VERSION, API_VERSION);
- }
-
- @Test
- public void testGenTopoMap4ModelVer_WidgetType_Map() throws AAIException {
-
- Graph serviceGraph = TinkerGraph.open();
- Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "66", AAI_NODE_TYPE, "model", "model-invariant-id", "model-invariant-id-1", "model-type", "widget");
- Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "67", AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE,
- MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
- GraphTraversalSource gts = serviceGraph.traversal();
-
- edgeSer.addTreeEdge(gts, modelV, modelVerV);
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
-
- Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
- Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
- modelBasedProcessor.genTopoMap4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelVerV, MODEL_VERSION_ID_VALUE);
- }
-
+
+ private static TransactionalGraphEngine dbEngine;
+ private static TransactionalGraphEngine.Admin admin;
+ DBSerializer serializer;
+ private static Loader loader;
+
+ ModelBasedProcessing modelBasedProcessor;
+
+ GraphTraversalSource source;
+
+ Graph graph;
+
+ Vertex model;
+ Vertex modelVersion;
+ Vertex modelElement;
+ Vertex constrainedElementSet;
+ Vertex namedQueryElement;
+ Vertex linkagePoints;
+ Vertex namedQuery;
+
+ @BeforeClass
+ public static void configure() throws Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
+ }
+
+ @Before
+ public void init() throws AAIException {
+ MockitoAnnotations.initMocks(this);
+ version = schemaVersions.getDefaultVersion();
+ loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ TransactionalGraphEngine newDbEngine = new JanusGraphDBEngine(queryStyle, loader);
+ dbEngine = Mockito.spy(newDbEngine);
+ serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ admin = Mockito.spy(dbEngine.asAdmin());
+ modelBasedProcessor = new ModelBasedProcessing(loader, dbEngine, serializer);
+ graph = TinkerGraph.open();
+ source = createGraph();
+ }
+
+ private GraphTraversalSource createGraph() throws AAIException {
+ model = graph.addVertex(T.label, "model", T.id, "0", AAI_NODE_TYPE, "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "widget");
+ modelVersion = graph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "1", AAI_NODE_TYPE,
+ MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,
+ MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
+ graph.addVertex(T.label, MODEL_INVARIANT_ID_NODE_VALUE, T.id, "2", MODEL_INVARIANT_ID_KEY,
+ MODEL_INVARIANT_ID_VALUE, "model-version-id-local", MODEL_VERSION_ID_VALUE);
+ namedQuery = graph.addVertex(T.label, "named-query", T.id, "3", "aai-node-type",
+ "named-query", "named-query-uuid", "named-query-uuid-1");
+ graph.addVertex(T.label, MODEL_NAME_NODE_VALUE, T.id, "4", AAI_NODE_TYPE,
+ MODEL_NAME_NODE_VALUE, MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE);
+ modelElement =
+ graph.addVertex(T.label, "model-element", T.id, "5", AAI_NODE_TYPE, "model-element");
+ Vertex modelConstraint =
+ graph.addVertex(T.label, "model-constraint", T.id, "6", AAI_NODE_TYPE,
+ "model-constraint", "constrained-element-set-uuid-2-replace", "cesu2r-1");
+ constrainedElementSet = graph.addVertex(T.label, "constrained-element-set", T.id, "7",
+ AAI_NODE_TYPE, "constrained-element-set");
+ Vertex elementChoiceSet = graph.addVertex(T.label, "element-choice-set", T.id, "8",
+ AAI_NODE_TYPE, "element-choice-set");
+ namedQueryElement = graph.addVertex(T.label, "named-query-element", T.id, "9",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ linkagePoints = graph.addVertex(T.label, "linkage-points", T.id, "10", AAI_NODE_TYPE,
+ "linkage-points", "linkage-points", getArrayListAsString(), "new-data-del-flag", "F");
+
+ GraphTraversalSource g = graph.traversal();
+ edgeSer.addTreeEdge(g, model, modelVersion);
+ edgeSer.addTreeEdge(g, modelElement, modelConstraint);
+ edgeSer.addTreeEdge(g, constrainedElementSet, modelConstraint);
+ edgeSer.addTreeEdge(g, modelVersion, modelElement);
+ edgeSer.addTreeEdge(g, modelElement, constrainedElementSet);
+ edgeSer.addTreeEdge(g, constrainedElementSet, elementChoiceSet);
+ edgeSer.addTreeEdge(g, modelElement, elementChoiceSet);
+ edgeSer.addTreeEdge(g, namedQuery, namedQueryElement);
+ edgeSer.addTreeEdge(g, namedQueryElement, namedQueryElement);
+ edgeSer.addEdge(g, modelVersion, modelElement);
+ edgeSer.addEdge(g, model, namedQueryElement);
+ return g;
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetStartNodesAndModVersionIds_NullId_ExpectException() throws AAIException {
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ String passedModelVerId = null;
+ String passedModelInvId = null;
+ String passedModelName = null;
+ modelBasedProcessor.getStartNodesAndModVersionIds("9999", "postmen", passedModelVerId,
+ passedModelInvId, passedModelName, "generic-vnf", startNodeFilterArrayOfHashes, "");
+ }
+
+ @Test
+ public void testGetStartNodesAndModVersionIds_ModelVersion() throws AAIException {
+
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ String passedModelInvId = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ MODEL_VERSION_ID_VALUE, passedModelInvId, passedModelName, AAI_NODE_TYPE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test
+ public void testGetStartNodesAndModVersionIds_ModelInId() throws AAIException {
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ String passedModelVersion = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ passedModelVersion, MODEL_INVARIANT_ID_VALUE, passedModelName, AAI_NODE_TYPE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test
+ public void testGetStartNodesAndModVersionIds_ModelName() throws AAIException {
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ String passedModelVersion = null;
+ String passedModelInvId = null;
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ passedModelVersion, passedModelInvId, MODEL_NAME_ID_VALUE, AAI_NODE_TYPE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelVersion()
+ throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ String passedModelInvId = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ MODEL_VERSION_ID_VALUE, passedModelInvId, passedModelName, MODEL_NAME_ID_VALUE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelInvId() throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ String passedModelVersion = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ passedModelVersion, MODEL_INVARIANT_ID_VALUE, passedModelName, MODEL_NAME_ID_VALUE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelName() throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ String passedModelVersion = null;
+ String passedModelInvId = null;
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ passedModelVersion, passedModelInvId, MODEL_NAME_ID_VALUE, MODEL_NAME_ID_VALUE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testQueryByModel() throws AAIException {
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ String passedModelInvId = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.queryByModel(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE,
+ passedModelInvId, passedModelName, AAI_NODE_TYPE, startNodeFilterArrayOfHashes,
+ API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testQueryByModel_Timed() throws AAIException {
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ String passedModelVersion = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.queryByModel_Timed(TRANSACTION_ID, FROM_APP_ID, passedModelVersion,
+ MODEL_INVARIANT_ID_VALUE, passedModelName, MODEL_NAME_ID_VALUE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testgetModelTypeFromModelVer_NullVertexArg() throws AAIException {
+ Vertex nullVertex = null;
+ modelBasedProcessor.getModelVerTopWidgetType(nullVertex, "");
+ }
+
+ @Test
+ public void testValidateNamedQuery_FoundQuery() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ modelBasedProcessor.validateNamedQuery("9999", "JUNIT", "named-query-uuid-1", "1.0");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testValidateNamedQuery_NotFoundQuery() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ modelBasedProcessor.validateNamedQuery("9999", "JUNIT", "named-query-uuid", "1.0");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetNodeUsingUniqueId_NullUniqueId() throws AAIException {
+ modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen", "generic-vnf", "vnf-id", "");
+ modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen", "generic-vnf", "vnf-id", null);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetNodeUsingUniqueId_NullPropertyName() throws AAIException {
+ modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen", "generic-vnf", "", "vnf-id-1");
+ modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen", "generic-vnf", null,
+ "vnf-id-1");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetNodeUsingUniqueId_NullNodeType() throws AAIException {
+ modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen", "", "vnf-id", "vnf-id-1");
+ modelBasedProcessor.getNodeUsingUniqueId("9999", "postmen", null, "vnf-id", "vnf-id-1");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testValidateModel() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.validateModel("9999", "JUNIT", MODEL_VERSION_ID_VALUE, "1.0");
+ }
+
+ @Test
+ public void testShowResultSet_NullVertex() {
+ ResultSet rs = getResultSet();
+ rs.setVert(null);
+ modelBasedProcessor.showResultSet(rs, 1);
+ }
+
+ @Test
+ public void testShowResultSet_NonEmptyOverrideHash() {
+ ResultSet rs = getResultSet();
+ modelBasedProcessor.showResultSet(rs, 2);
+ }
+
+ @Test
+ public void testShowResultSet_EmptyOverrideHash() {
+ ResultSet rs = getResultSet();
+ rs.setPropertyOverRideHash(new HashMap<String, Object>());
+ modelBasedProcessor.showResultSet(rs, 2);
+ }
+
+ private ResultSet getResultSet() {
+ ResultSet rs = new ResultSet();
+ rs.setVert(model);
+ rs.setLocationInModelSubGraph("2");
+ Map<String, Object> overrideHash = new HashMap<String, Object>();
+ rs.setPropertyOverRideHash(overrideHash);
+ overrideHash.put("key1", "value1");
+ overrideHash.put("key2", "value2");
+ overrideHash.put("key3", "value3");
+ overrideHash.put("key4", "value4");
+
+ Map<String, Object> extraHash = new HashMap<String, Object>();
+ rs.setExtraPropertyHash(extraHash);
+ extraHash.put("key1", "value1");
+ extraHash.put("key2", "value2");
+ extraHash.put("key3", "value3");
+ extraHash.put("key4", "value4");
+
+ return rs;
+ }
+
+ @Test
+ public void testPruneResultSet_NotCutPointType() throws AAIException {
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ ResultSet rs = getResultSet();
+ List<ResultSet> subResultSet = new ArrayList<>();
+ subResultSet.add(getResultSet());
+ rs.setSubResultSet(subResultSet);
+ modelBasedProcessor.pruneResultSet(rs, "mdl", new HashMap<>());
+ }
+
+ @Test
+ public void testPruneResultSet_CutPointType() throws AAIException {
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ ResultSet rs = getResultSet();
+ Map<String, Object> startNodeFilterHash = new HashMap<>();
+ startNodeFilterHash.put("model.model_type", "widget");
+ startNodeFilterHash.put("named_query.named-query-uuid", "named-query-uuid-1");
+ modelBasedProcessor.pruneResultSet(rs, "model", startNodeFilterHash);
+ }
+
+ @Test
+ public void testCollapseForDoNotOutput_FlagTrue() throws AAIException {
+
+ ResultSet rs = getResultSet();
+ List<ResultSet> subResultSet = new ArrayList<>();
+ subResultSet.add(getResultSet());
+ rs.setSubResultSet(subResultSet);
+ rs.setDoNotOutputFlag("true");
+ modelBasedProcessor.collapseForDoNotOutput(rs);
+ }
+
+ @Test
+ public void testCollapseForDoNotOutput_FlagFalse() throws AAIException {
+
+ ResultSet rs = getResultSet();
+ List<ResultSet> subResultSet = new ArrayList<>();
+ subResultSet.add(getResultSet());
+ rs.setSubResultSet(subResultSet);
+ rs.setDoNotOutputFlag("false");
+ modelBasedProcessor.collapseForDoNotOutput(rs);
+ }
+
+ @Test
+ public void testMakeSureItsAnArrayList() {
+ String listString = getArrayListAsString();
+ modelBasedProcessor.makeSureItsAnArrayList(listString);
+ }
+
+ private String getArrayListAsString() {
+ List<String> strList = new ArrayList<>();
+ strList.add("1");
+ strList.add("2");
+ strList.add("3");
+ return strList.toString();
+ }
+
+ @Test
+ public void testGetModConstraintHash() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getModConstraintHash(modelElement, new HashMap<>());
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGenTopoMap4ModelVer_WidgetType() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.genTopoMap4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelVersion,
+ MODEL_VERSION_ID_VALUE);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGenTopoMap4ModelVer_ServiceType() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "20", AAI_NODE_TYPE, "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "service");
+ Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "21",
+ AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,
+ MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
+ Vertex modelElementV =
+ graph.addVertex(T.label, "model-element", T.id, "22", AAI_NODE_TYPE, "model-element");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ // EdgeRules rules4Service = EdgeRules.getInstance();
+ edgeSer.addTreeEdge(gts, modelV, modelVerV);
+ edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
+ edgeSer.addEdge(gts, modelElementV, modelVerV);
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.genTopoMap4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelVerV,
+ MODEL_VERSION_ID_VALUE);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testCollectTopology4ModelVer() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ Multimap<String, String> initialEmptyMap = ArrayListMultimap.create();
+ List<String> vidsTraversed = new ArrayList<>();
+ modelBasedProcessor.collectTopology4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelElement, "",
+ initialEmptyMap, vidsTraversed, 0, null, MODEL_INVARIANT_ID_VALUE,
+ MODEL_VERSION_ID_VALUE);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetNextStepElementsFromSet_NullVertex() throws AAIException {
+ modelBasedProcessor.getNextStepElementsFromSet(null);
+ }
+
+ @Test
+ public void testRundeleteAsNeededFromResultSet() throws AAIException {
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ ResultSet rs = getResultSet();
+ rs.setNewDataDelFlag("T");
+ modelBasedProcessor.deleteAsNeededFromResultSet(TRANSACTION_ID, FROM_APP_ID, rs, "",
+ API_VERSION, API_VERSION, new HashMap<>());
+ }
+
+ @Test(expected = AAIException.class)
+ public void testQueryByNamedQuery() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.queryByNamedQuery(TRANSACTION_ID, FROM_APP_ID, "named-query-uuid-1",
+ new ArrayList<>(), API_VERSION);
+ }
+
+ @Test
+ public void testCollectInstanceData() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ Multimap<String, String> validNextStepMap = ArrayListMultimap.create();
+ validNextStepMap.put("named-query-element-uuid-1", "named-query-element-uuid-1");
+ List<String> vidsTraversed = new ArrayList<>();
+ vidsTraversed.add("named-query-element-uuid-1");
+ Map<String, String> namedQueryElementHash = new HashMap<>();
+ namedQueryElementHash.put("named-query-element-uuid-1", "named-query-element-uuid-1");
+ modelBasedProcessor.collectInstanceData(TRANSACTION_ID, FROM_APP_ID, modelElement,
+ "named-query-element-uuid-1", validNextStepMap, vidsTraversed, 0, new HashMap<>(),
+ namedQueryElementHash, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testNamedQueryConstraintSaysStop_NullNamedQueryVertex() throws AAIException {
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, null, model,
+ API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testNamedQueryConstraintSaysStop_NullInstanceVertex() throws AAIException {
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID, model, null,
+ API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testNamedQueryConstraintSaysStop_NullContraintType() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "30",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "31",
+ AAI_NODE_TYPE, "property-constraint");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "32",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testNamedQueryConstraintSaysStop_NullPropertyName() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "33",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "34",
+ AAI_NODE_TYPE, "property-constraint", "constraint-type", "EQUALS");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "35",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ // EdgeRules rules4Service = EdgeRules.getInstance();
+ edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testNamedQueryConstraintSaysStop_NullPropertyValue() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "36",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "37",
+ AAI_NODE_TYPE, "property-constraint", "constraint-type", "EQUALS", "property-name",
+ "property-name");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "38",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test
+ public void testNamedQueryConstraintSaysStop_ConstraintTypeEquals() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "39",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "40",
+ AAI_NODE_TYPE, "property-constraint", "constraint-type", "EQUALS", "property-name",
+ "property-name", "property-value", "property-value");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "41",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test
+ public void testNamedQueryConstraintSaysStop_ConstraintTypeNotEquals() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "42",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex propertyContraintV = graph.addVertex(T.label, "property-constraint", T.id, "43",
+ AAI_NODE_TYPE, "property-constraint", "constraint-type", "NOT-EQUALS", "property-name",
+ "property-name", "property-value", "property-value");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "44",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, namedQueryElementV, propertyContraintV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.namedQueryConstraintSaysStop(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetNamedQueryExtraDataLookup_TargetNodeTypeNull() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "45",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex relatedLookUpV =
+ graph.addVertex(T.label, "related-lookup", T.id, "46", AAI_NODE_TYPE, "related-lookup",
+ "source-node-property", "source-node-property", "source-node-type", "generic-vnf");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "47",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+ edgeSer.addTreeEdge(gts, namedQueryElementV, relatedLookUpV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.getNamedQueryExtraDataLookup(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test
+ public void testGetNamedQueryExtraDataLookup_InvalidSourceProperty() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "51",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex relatedLookUpV =
+ graph.addVertex(T.label, "related-lookup", T.id, "52", AAI_NODE_TYPE, "related-lookup",
+ "source-node-property", "source-node-property", "source-node-type", "generic-vnf",
+ "target-node-type", "generic-vnf", "target-node-property", "generic-vnf",
+ "property-collect-list", "property-collect-list");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "53",
+ AAI_NODE_TYPE, "instance-vertex", "property-name", "property-name");
+ GraphTraversalSource gts = serviceGraph.traversal();
+ edgeSer.addTreeEdge(gts, namedQueryElementV, relatedLookUpV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.getNamedQueryExtraDataLookup(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetNamedQueryExtraDataLookup_ValidSourceProperty() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex namedQueryElementV = graph.addVertex(T.label, "named-query-element", T.id, "54",
+ "aai-node-type", "named-query-element", "property-limit-desc", "show-all",
+ "do-not-output", "true", "named-query-element-uuid", "named-query-element-uuid-1",
+ "property-collect-list", "property-collect-list-1");
+ Vertex relatedLookUpV =
+ graph.addVertex(T.label, "related-lookup", T.id, "55", AAI_NODE_TYPE, "related-lookup",
+ "source-node-property", "source-node-property", "source-node-type", "generic-vnf",
+ "target-node-type", "generic-vnf", "target-node-property", "generic-vnf");
+ Vertex instanceVertexV = graph.addVertex(T.label, "instance-vertex", T.id, "56",
+ AAI_NODE_TYPE, "instance-vertex", "source-node-property", "source-node-property");
+ GraphTraversalSource gts = serviceGraph.traversal();
+ edgeSer.addTreeEdge(gts, namedQueryElementV, relatedLookUpV);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.getNamedQueryExtraDataLookup(TRANSACTION_ID, FROM_APP_ID,
+ namedQueryElementV, instanceVertexV, API_VERSION);
+ }
+
+ @Test
+ public void testCollectNQElementHash() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.collectNQElementHash(TRANSACTION_ID, FROM_APP_ID, namedQueryElement, "",
+ new HashMap<>(), new ArrayList<>(), 0);
+ }
+
+ @Test
+ public void testCollectDeleteKeyHash() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.collectDeleteKeyHash(TRANSACTION_ID, FROM_APP_ID, linkagePoints, "",
+ new HashMap<>(), new ArrayList<>(), 0, new HashMap<>(), "model-version-1",
+ "model-version-id-local");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testCheck4EdgeRule_InvalidNodeA() throws AAIException {
+ modelBasedProcessor.check4EdgeRule("model-version1", "model-ver");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testCheck4EdgeRule_InvalidNodeB() throws AAIException {
+ modelBasedProcessor.check4EdgeRule("model-ver", "model-version1");
+ }
+
+ @Test(expected = AAIException.class)
+ public void testCheck4EdgeRule_InvalidEdge() throws AAIException {
+ modelBasedProcessor.check4EdgeRule("model-ver", "named-query");
+ }
+
+ @Test
+ public void testCollectTopology4LinkagePoint() throws AAIException {
+ String linkagePointStrVal = new String("model-ver|model");
+ String incomingTrail = new String("model|model-ver");
+ Multimap<String, String> currentMap = ArrayListMultimap.create();
+ modelBasedProcessor.collectTopology4LinkagePoint(TRANSACTION_ID, FROM_APP_ID,
+ linkagePointStrVal, incomingTrail, currentMap);
+ }
+
+ @Test
+ public void testGenTopoMap4NamedQ() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.genTopoMap4NamedQ(TRANSACTION_ID, FROM_APP_ID, namedQuery,
+ "named-query-uuid-1");
+ }
+
+ @Test
+ public void testGetModelThatNqElementRepresents() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getModelThatNqElementRepresents(namedQueryElement, "");
+ }
+
+ @Test
+ public void testGetModelVerThatElementRepresents() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getModelVerThatElementRepresents(modelElement, "");
+ }
+
+ @Test
+ public void testGetModelTypeFromModel() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getModelTypeFromModel(model, "");
+ }
+
+ @Test
+ public void testGetModelVerTopWidgetType() throws AAIException {
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "57", AAI_NODE_TYPE, "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "service");
+ Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "58",
+ AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,
+ MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
+ Vertex modelElementV =
+ graph.addVertex(T.label, "model-element", T.id, "59", AAI_NODE_TYPE, "model-element");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, modelV, modelVerV);
+ edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
+ edgeSer.addEdge(gts, modelElementV, modelVerV);
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.getModelVerTopWidgetType(modelVerV, "");
+ }
+
+ @Test
+ public void testGetModelElementStepName() throws AAIException {
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "60", AAI_NODE_TYPE, "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "service");
+ Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "61",
+ AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,
+ MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
+ Vertex modelElementV =
+ graph.addVertex(T.label, "model-element", T.id, "62", AAI_NODE_TYPE, "model-element");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, modelV, modelVerV);
+ edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
+ edgeSer.addEdge(gts, modelElementV, modelVerV);
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.getModelElementStepName(modelElementV, "");
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testRunDeleteByModel() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ Map<String, Object> map = new HashMap<>();
+ map.put("generic-vnf.d", "relationshipdata");
+
+ modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE,
+ "model-ver", map, API_VERSION, API_VERSION);
+ }
+
+ @Test
+ public void testSecondConstructor() {
+ ModelBasedProcessing mdp = new ModelBasedProcessing();
+ }
+
+ @Test(expected = AAIIdentityMapParseException.class)
+ public void testQueryByNamedQuery_NonEmptyMap() throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+
+ modelBasedProcessor.queryByNamedQuery(TRANSACTION_ID, FROM_APP_ID, "named-query-uuid-1",
+ startNodeFilterArrayOfHashes, API_VERSION, null, null);
+
+ }
+
+ @Test(expected = AAIIdentityMapParseException.class)
+ public void testRunDeleteByModel_Service() throws AAIException {
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "63", AAI_NODE_TYPE, "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "service");
+ Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "64",
+ AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,
+ MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
+ Vertex modelElementV =
+ graph.addVertex(T.label, "model-element", T.id, "65", AAI_NODE_TYPE, "model-element");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, modelV, modelVerV);
+ edgeSer.addTreeEdge(gts, modelElementV, modelVerV);
+ edgeSer.addEdge(gts, modelElementV, modelVerV);
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("generic-vnf.d", "relationshipdata");
+
+ modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, MODEL_VERSION_ID_VALUE,
+ "model-ver", map, API_VERSION, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_AllEmpty() throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ String passedModelInvId = null;
+ String passedModelName = null;
+ String passedModelVerId = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ passedModelVerId, passedModelInvId, passedModelName, "", startNodeFilterArrayOfHashes,
+ API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testGetStartNodesAndModVersionIds_NonEmptyHashMap_ModelTypeNonNull()
+ throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ String passedModelInvId = null;
+ String passedModelName = null;
+ String passedModelVerId = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.getStartNodesAndModVersionIds(TRANSACTION_ID, FROM_APP_ID,
+ passedModelVerId, passedModelInvId, passedModelName, MODEL_NAME_ID_VALUE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testQueryByModel_Timed_NonEmptyHash() throws AAIException {
+ Map<String, Object> map = new HashMap<>();
+ map.put("model-ver.model-name", "model-name");
+ List<Map<String, Object>> startNodeFilterArrayOfHashes = new ArrayList<>();
+ startNodeFilterArrayOfHashes.add(map);
+ String passedModelVersion = null;
+ String passedModelName = null;
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ modelBasedProcessor.queryByModel_Timed(TRANSACTION_ID, FROM_APP_ID, passedModelVersion,
+ MODEL_INVARIANT_ID_VALUE, passedModelName, MODEL_NAME_ID_VALUE,
+ startNodeFilterArrayOfHashes, API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testRunDeleteByModel_NullVersionAndNode() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ Map<String, Object> map = new HashMap<>();
+ map.put("generic-vnf.d", "relationshipdata");
+
+ modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, "", "", map, API_VERSION,
+ API_VERSION);
+ }
+
+ @Test(expected = AAIException.class)
+ public void testRunDeleteByModel_NullVersion() throws AAIException {
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(source);
+ Map<String, Object> map = new HashMap<>();
+ map.put("generic-vnf.d", "relationshipdata");
+
+ modelBasedProcessor.runDeleteByModel(TRANSACTION_ID, FROM_APP_ID, "", "model-ver", map,
+ API_VERSION, API_VERSION);
+ }
+
+ @Test
+ public void testGenTopoMap4ModelVer_WidgetType_Map() throws AAIException {
+
+ Graph serviceGraph = TinkerGraph.open();
+ Vertex modelV = serviceGraph.addVertex(T.label, "model", T.id, "66", AAI_NODE_TYPE, "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "widget");
+ Vertex modelVerV = serviceGraph.addVertex(T.label, MODEL_VESION_NODE_VALUE, T.id, "67",
+ AAI_NODE_TYPE, MODEL_VESION_NODE_VALUE, MODEL_VERSION_ID_KEY, MODEL_VERSION_ID_VALUE,
+ MODEL_NAME_ID_KEY, MODEL_NAME_ID_VALUE, "model-version", "model-version-1");
+ GraphTraversalSource gts = serviceGraph.traversal();
+
+ edgeSer.addTreeEdge(gts, modelV, modelVerV);
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+
+ Mockito.when(dbEngine.asAdmin()).thenReturn(admin);
+ Mockito.when(admin.getReadOnlyTraversalSource()).thenReturn(gts);
+ modelBasedProcessor.genTopoMap4ModelVer(TRANSACTION_ID, FROM_APP_ID, modelVerV,
+ MODEL_VERSION_ID_VALUE);
+ }
+
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphEdgeRuleTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphEdgeRuleTest.java
index 7148ca3..30323d2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphEdgeRuleTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphEdgeRuleTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,34 +30,34 @@ import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
import org.onap.aai.exceptions.AAIException;
import org.springframework.beans.factory.annotation.Autowired;
+public class SearchGraphEdgeRuleTest extends AAISetup {
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
-public class SearchGraphEdgeRuleTest extends AAISetup{
- @Rule
- public ExpectedException expectedEx = ExpectedException.none();
-
-
- @Test
- public void getEdgeLabelTest() throws AAIException, EdgeRuleNotFoundException {
- String[] label = searchGraph.getEdgeLabel("customer", "service-subscription");
-
- assertEquals("org.onap.relationships.inventory.BelongsTo", label[0]);
- }
-
- @Test
- public void getEdgeLabelThrowsExceptionWhenNoRuleExists() throws Exception {
- String nodeTypeA = "complex";
- String nodeTypeB = "service";
- expectedEx.expect(org.onap.aai.edges.exceptions.EdgeRuleNotFoundException.class);
- expectedEx.expectMessage("No rules found for EdgeRuleQuery with filter params node type: complex, node type: service, type: any, isPrivate");
- searchGraph.getEdgeLabel(nodeTypeA, nodeTypeB);
- }
-
- @Test
- public void getEdgeLabelThrowsExceptionWhenNodeTypesDoNotExist() throws Exception {
- String nodeTypeA = "A";
- String nodeTypeB = "B";
- expectedEx.expect(org.onap.aai.edges.exceptions.EdgeRuleNotFoundException.class);
- expectedEx.expectMessage("No rules found for EdgeRuleQuery with filter params node type: A, node type: B, type: any, isPrivate");
- searchGraph.getEdgeLabel(nodeTypeA, nodeTypeB);
- }
+ @Test
+ public void getEdgeLabelTest() throws AAIException, EdgeRuleNotFoundException {
+ String[] label = searchGraph.getEdgeLabel("customer", "service-subscription");
+
+ assertEquals("org.onap.relationships.inventory.BelongsTo", label[0]);
+ }
+
+ @Test
+ public void getEdgeLabelThrowsExceptionWhenNoRuleExists() throws Exception {
+ String nodeTypeA = "complex";
+ String nodeTypeB = "service";
+ expectedEx.expect(org.onap.aai.edges.exceptions.EdgeRuleNotFoundException.class);
+ expectedEx.expectMessage(
+ "No rules found for EdgeRuleQuery with filter params node type: complex, node type: service, type: any, isPrivate");
+ searchGraph.getEdgeLabel(nodeTypeA, nodeTypeB);
+ }
+
+ @Test
+ public void getEdgeLabelThrowsExceptionWhenNodeTypesDoNotExist() throws Exception {
+ String nodeTypeA = "A";
+ String nodeTypeB = "B";
+ expectedEx.expect(org.onap.aai.edges.exceptions.EdgeRuleNotFoundException.class);
+ expectedEx.expectMessage(
+ "No rules found for EdgeRuleQuery with filter params node type: A, node type: B, type: any, isPrivate");
+ searchGraph.getEdgeLabel(nodeTypeA, nodeTypeB);
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java
index 7839496..73896a0 100644
--- a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,8 +19,25 @@
*/
package org.onap.aai.dbgraphmap;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.*;
+
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -31,22 +48,7 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.rest.util.AAIExtensionMap;
import org.onap.aai.util.AAIConstants;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.*;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.*;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class SearchGraphNamedQueryTest extends AAISetup{
+public class SearchGraphNamedQueryTest extends AAISetup {
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -68,80 +70,83 @@ public class SearchGraphNamedQueryTest extends AAISetup{
private List<MediaType> outputMediaTypes;
private static boolean ranOnce = false;
-
+
private HttpTestUtil httpTestUtil;
-
- private String getJsonValue(String json, String key ) {
+ private String getJsonValue(String json, String key) {
JsonObject jsonObj = new JsonParser().parse(json).getAsJsonObject();
String strValue = "";
- if ( jsonObj.isJsonObject()) {
- strValue = jsonObj.get(key).getAsString();
+ if (jsonObj.isJsonObject()) {
+ strValue = jsonObj.get(key).getAsString();
}
- return strValue;
+ return strValue;
}
-
+
private void addWidgets() {
- String widgetPath = "." + AAIConstants.AAI_FILESEP + "src/main/resources" + AAIConstants.AAI_FILESEP + "etc" +
- AAIConstants.AAI_FILESEP + "scriptdata"+ AAIConstants.AAI_FILESEP + "widget-model-json";
-
+ String widgetPath = "." + AAIConstants.AAI_FILESEP + "src/main/resources"
+ + AAIConstants.AAI_FILESEP + "etc" + AAIConstants.AAI_FILESEP + "scriptdata"
+ + AAIConstants.AAI_FILESEP + "widget-model-json";
+
File dir = new File(widgetPath);
File[] files = dir.listFiles();
assert files != null;
- for ( File file : files) {
- try {
- Path path = Paths.get(widgetPath + AAIConstants.AAI_FILESEP + file.getName());
- String widgetPayload = new String(Files.readAllBytes(path));
- String modelInvariantId = getJsonValue(widgetPayload, "model-invariant-id");
- String widgetUri = "/aai/v12/service-design-and-creation/models/model/" + modelInvariantId;
- Response response = httpTestUtil.doPut(widgetUri, widgetPayload);
- assertEquals("Expected the named-query to be created", 201, response.getStatus());
- } catch ( AAIException | IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
+ for (File file : files) {
+ try {
+ Path path = Paths.get(widgetPath + AAIConstants.AAI_FILESEP + file.getName());
+ String widgetPayload = new String(Files.readAllBytes(path));
+ String modelInvariantId = getJsonValue(widgetPayload, "model-invariant-id");
+ String widgetUri =
+ "/aai/v12/service-design-and-creation/models/model/" + modelInvariantId;
+ Response response = httpTestUtil.doPut(widgetUri, widgetPayload);
+ assertEquals("Expected the named-query to be created", 201, response.getStatus());
+ } catch (AAIException | IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
}
-
+
private void addNamedQueries() {
- String namedQueryPath = "." + AAIConstants.AAI_FILESEP + "src/main/resources" + AAIConstants.AAI_FILESEP + "etc" +
- AAIConstants.AAI_FILESEP + "scriptdata"+ AAIConstants.AAI_FILESEP + "named-query-json";
-
+ String namedQueryPath = "." + AAIConstants.AAI_FILESEP + "src/main/resources"
+ + AAIConstants.AAI_FILESEP + "etc" + AAIConstants.AAI_FILESEP + "scriptdata"
+ + AAIConstants.AAI_FILESEP + "named-query-json";
+
File dir = new File(namedQueryPath);
File[] files = dir.listFiles();
assert files != null;
- for ( File file : files) {
- try {
- Path path = Paths.get(namedQueryPath + AAIConstants.AAI_FILESEP + file.getName());
- String namedQueryPayload = new String(Files.readAllBytes(path));
- String namedQueryUuid = getJsonValue(namedQueryPayload, "named-query-uuid");
- String namedQueryUri = "/aai/v12/service-design-and-creation/named-queries/named-query/" + namedQueryUuid;
-
- Response response = httpTestUtil.doPut(namedQueryUri, namedQueryPayload);
- assertEquals("Expected the named-query to be created", 201, response.getStatus());
- } catch ( AAIException | IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
+ for (File file : files) {
+ try {
+ Path path = Paths.get(namedQueryPath + AAIConstants.AAI_FILESEP + file.getName());
+ String namedQueryPayload = new String(Files.readAllBytes(path));
+ String namedQueryUuid = getJsonValue(namedQueryPayload, "named-query-uuid");
+ String namedQueryUri =
+ "/aai/v12/service-design-and-creation/named-queries/named-query/"
+ + namedQueryUuid;
+
+ Response response = httpTestUtil.doPut(namedQueryUri, namedQueryPayload);
+ assertEquals("Expected the named-query to be created", 201, response.getStatus());
+ } catch (AAIException | IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
}
-
- private String addVersionToUri(String uri ) {
- return "/aai/" + schemaVersions.getDefaultVersion() + "/" + uri;
+
+ private String addVersionToUri(String uri) {
+ return "/aai/" + schemaVersions.getDefaultVersion() + "/" + uri;
}
@Before
- public void setup(){
-
- httpTestUtil = new HttpTestUtil();
+ public void setup() {
-
- httpHeaders = mock(HttpHeaders.class);
+ httpTestUtil = new HttpTestUtil();
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ httpHeaders = mock(HttpHeaders.class);
+
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -157,231 +162,250 @@ public class SearchGraphNamedQueryTest extends AAISetup{
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
- when(httpHeaders.getRequestHeader("X-FromAppId")).thenReturn(Collections.singletonList("JUNIT"));
- when(httpHeaders.getRequestHeader("X-TransactionId")).thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-FromAppId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-TransactionId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList);
-
- // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable
+ // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very
+ // unreasonable
Mockito.doReturn(null).when(queryParameters).remove(anyObject());
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
- if ( !ranOnce ) {
- ranOnce = true;
- addWidgets();
- addNamedQueries();
- }
+ if (!ranOnce) {
+ ranOnce = true;
+ addWidgets();
+ addNamedQueries();
+ }
}
-
@Test
public void getDHVLogicalLinkByCircuitId_1_0_Test() throws Exception {
- AAIExtensionMap aaiExtMap = new AAIExtensionMap();
- aaiExtMap.setHttpHeaders(httpHeaders);
- String queryParameters = PayloadUtil.getNamedQueryPayload("query-payload.DHVLogicalLinkByCircuitId-1.0.json");
- String putPayload = PayloadUtil.getNamedQueryPayload("logical-link.DHVLogicalLinkByCircuitId-1.0.json");
-
+ AAIExtensionMap aaiExtMap = new AAIExtensionMap();
+ aaiExtMap.setHttpHeaders(httpHeaders);
+ String queryParameters =
+ PayloadUtil.getNamedQueryPayload("query-payload.DHVLogicalLinkByCircuitId-1.0.json");
+ String putPayload =
+ PayloadUtil.getNamedQueryPayload("logical-link.DHVLogicalLinkByCircuitId-1.0.json");
+
String linkName = getJsonValue(putPayload, "link-name");
String putUri = addVersionToUri("network/logical-links/logical-link/" + linkName);
- Response response = httpTestUtil.doPut(putUri, putPayload);
+ Response response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the logical-link to be created", 201, response.getStatus());
-
+
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
Mockito.when(request.getContentType()).thenReturn("application/json");
-
- aaiExtMap.setUri("/search/named-query");
- aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
- aaiExtMap.setServletRequest(request);
-
-
- response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
+
+ aaiExtMap.setUri("/search/named-query");
+ aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
+ aaiExtMap.setServletRequest(request);
+
+ response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
System.out.println("response was\n" + response.getEntity().toString());
assertEquals("Expected success from query", 200, response.getStatus());
boolean hasLinkName = response.getEntity().toString().indexOf(linkName) > 0;
- assertTrue("Response contains linkName", hasLinkName );
+ assertTrue("Response contains linkName", hasLinkName);
}
@Test
public void getSvcSubscriberModelInfo_1_0_Test() throws Exception {
- AAIExtensionMap aaiExtMap = new AAIExtensionMap();
- aaiExtMap.setHttpHeaders(httpHeaders);
- String queryParameters = PayloadUtil.getNamedQueryPayload("query-payload.SvcSubscriberModelInfo-1.0.json");
-
- String putPayload = PayloadUtil.getNamedQueryPayload("model.SvcSubscriberModelInfo-1.0.json");
+ AAIExtensionMap aaiExtMap = new AAIExtensionMap();
+ aaiExtMap.setHttpHeaders(httpHeaders);
+ String queryParameters =
+ PayloadUtil.getNamedQueryPayload("query-payload.SvcSubscriberModelInfo-1.0.json");
+
+ String putPayload =
+ PayloadUtil.getNamedQueryPayload("model.SvcSubscriberModelInfo-1.0.json");
String modelInvariantId = getJsonValue(putPayload, "model-invariant-id");
- String putUri = addVersionToUri("service-design-and-creation/models/model/" + modelInvariantId);
- Response response = httpTestUtil.doPut(putUri, putPayload);
+ String putUri =
+ addVersionToUri("service-design-and-creation/models/model/" + modelInvariantId);
+ Response response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the model to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("customer.SvcSubscriberModelInfo-1.0.json");
String globalCustomerId = getJsonValue(putPayload, "global-customer-id");
putUri = addVersionToUri("business/customers/customer/" + globalCustomerId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the customer to be created", 201, response.getStatus());
-
+
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
Mockito.when(request.getContentType()).thenReturn("application/json");
-
- aaiExtMap.setUri("/search/named-query");
- aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
- aaiExtMap.setServletRequest(request);
-
-
- response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
+
+ aaiExtMap.setUri("/search/named-query");
+ aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
+ aaiExtMap.setServletRequest(request);
+
+ response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
assertEquals("Expected success from query", 200, response.getStatus());
boolean hasModelName = response.getEntity().toString().indexOf("junit-model-name") > 0;
- assertTrue("Response contains modelName from model-ver", hasModelName );
+ assertTrue("Response contains modelName from model-ver", hasModelName);
}
-
+
@Test
public void getClosedLoopNamedQuery_1_0_Test() throws Exception {
- AAIExtensionMap aaiExtMap = new AAIExtensionMap();
- aaiExtMap.setHttpHeaders(httpHeaders);
- String queryParameters = PayloadUtil.getNamedQueryPayload("query-payload.closed-loop-named-query-1.0.json");
-
- String putPayload = PayloadUtil.getNamedQueryPayload("model.closed-loop-named-query-1.0.json");
+ AAIExtensionMap aaiExtMap = new AAIExtensionMap();
+ aaiExtMap.setHttpHeaders(httpHeaders);
+ String queryParameters =
+ PayloadUtil.getNamedQueryPayload("query-payload.closed-loop-named-query-1.0.json");
+
+ String putPayload =
+ PayloadUtil.getNamedQueryPayload("model.closed-loop-named-query-1.0.json");
String modelInvariantId = getJsonValue(putPayload, "model-invariant-id");
- String putUri = addVersionToUri("service-design-and-creation/models/model/" + modelInvariantId);
- Response response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the model to be created", 201, response.getStatus());
-
- putPayload = PayloadUtil.getNamedQueryPayload("cloud-region.closed-loop-named-query-1.0.json");
+ String putUri =
+ addVersionToUri("service-design-and-creation/models/model/" + modelInvariantId);
+ Response response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the model to be created", 201, response.getStatus());
+
+ putPayload =
+ PayloadUtil.getNamedQueryPayload("cloud-region.closed-loop-named-query-1.0.json");
String cloudOwner = getJsonValue(putPayload, "cloud-owner");
String cloudRegionId = getJsonValue(putPayload, "cloud-region-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ putUri = addVersionToUri(
+ "cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the cloud-region to be created", 201, response.getStatus());
-
- putPayload = PayloadUtil.getNamedQueryPayload("cloud-region2.closed-loop-named-query-1.0.json");
+
+ putPayload =
+ PayloadUtil.getNamedQueryPayload("cloud-region2.closed-loop-named-query-1.0.json");
String cloudOwner2 = getJsonValue(putPayload, "cloud-owner");
String cloudRegionId2 = getJsonValue(putPayload, "cloud-region-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner2 + "/" + cloudRegionId2);
- response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the cloud-region2 to be created", 201, response.getStatus());
-
+ putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner2
+ + "/" + cloudRegionId2);
+ response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the cloud-region2 to be created", 201, response.getStatus());
+
putPayload = PayloadUtil.getNamedQueryPayload("tenant.closed-loop-named-query-1.0.json");
String tenantId = getJsonValue(putPayload, "tenant-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId
- + "/tenants/tenant/" + tenantId);
- response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the tenant to be created", 201, response.getStatus());
+ putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner
+ + "/" + cloudRegionId + "/tenants/tenant/" + tenantId);
+ response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the tenant to be created", 201, response.getStatus());
putPayload = PayloadUtil.getNamedQueryPayload("tenant2.closed-loop-named-query-1.0.json");
String tenantId2 = getJsonValue(putPayload, "tenant-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner2 + "/" + cloudRegionId2
- + "/tenants/tenant/" + tenantId2);
- response = httpTestUtil.doPut(putUri, putPayload);
+ putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner2
+ + "/" + cloudRegionId2 + "/tenants/tenant/" + tenantId2);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the tenant2 to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("vserver.closed-loop-named-query-1.0.json");
String vserverId = getJsonValue(putPayload, "vserver-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId
- + "/tenants/tenant/" + tenantId + "/vservers/vserver/" + vserverId);
- response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the vserver to be created", 201, response.getStatus());
+ putUri =
+ addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/"
+ + cloudRegionId + "/tenants/tenant/" + tenantId + "/vservers/vserver/" + vserverId);
+ response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the vserver to be created", 201, response.getStatus());
putPayload = PayloadUtil.getNamedQueryPayload("vserver2.closed-loop-named-query-1.0.json");
String vserverId2 = getJsonValue(putPayload, "vserver-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner2 + "/" + cloudRegionId2
- + "/tenants/tenant/" + tenantId2 + "/vservers/vserver/" + vserverId2);
- response = httpTestUtil.doPut(putUri, putPayload);
+ putUri = addVersionToUri(
+ "cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner2 + "/" + cloudRegionId2
+ + "/tenants/tenant/" + tenantId2 + "/vservers/vserver/" + vserverId2);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the vserver2 to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("customer.closed-loop-named-query-1.0.json");
String globalCustomerId = getJsonValue(putPayload, "global-customer-id");
putUri = addVersionToUri("business/customers/customer/" + globalCustomerId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the customer to be created", 201, response.getStatus());
- putPayload = PayloadUtil.getNamedQueryPayload("generic-vnf.closed-loop-named-query-1.0.json");
+ putPayload =
+ PayloadUtil.getNamedQueryPayload("generic-vnf.closed-loop-named-query-1.0.json");
String vnfId = getJsonValue(putPayload, "vnf-id");
putUri = addVersionToUri("network/generic-vnfs/generic-vnf/" + vnfId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the generic-vnf to be created", 201, response.getStatus());
-
+
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
Mockito.when(request.getContentType()).thenReturn("application/json");
-
- aaiExtMap.setUri("/search/named-query");
- aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
- aaiExtMap.setServletRequest(request);
-
-
- response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
+
+ aaiExtMap.setUri("/search/named-query");
+ aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
+ aaiExtMap.setServletRequest(request);
+
+ response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
assertEquals("Expected success from query", 200, response.getStatus());
- boolean hasModelName = response.getEntity().toString().indexOf("example-model-name-val-closed-loop") > 0;
- assertTrue("Response contains modelName from model-ver", hasModelName );
+ boolean hasModelName =
+ response.getEntity().toString().indexOf("example-model-name-val-closed-loop") > 0;
+ assertTrue("Response contains modelName from model-ver", hasModelName);
}
-
+
@Test
public void getComponentList_1_2_Test() throws Exception {
- AAIExtensionMap aaiExtMap = new AAIExtensionMap();
- aaiExtMap.setHttpHeaders(httpHeaders);
- String queryParameters = PayloadUtil.getNamedQueryPayload("query-payload.ComponentList-1.2.json");
-
- String putPayload = PayloadUtil.getNamedQueryPayload("model.ComponentList-1.2.json");
+ AAIExtensionMap aaiExtMap = new AAIExtensionMap();
+ aaiExtMap.setHttpHeaders(httpHeaders);
+ String queryParameters =
+ PayloadUtil.getNamedQueryPayload("query-payload.ComponentList-1.2.json");
+
+ String putPayload = PayloadUtil.getNamedQueryPayload("model.ComponentList-1.2.json");
String modelInvariantId = getJsonValue(putPayload, "model-invariant-id");
- String putUri = addVersionToUri("service-design-and-creation/models/model/" + modelInvariantId);
- Response response = httpTestUtil.doPut(putUri, putPayload);
+ String putUri =
+ addVersionToUri("service-design-and-creation/models/model/" + modelInvariantId);
+ Response response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the model to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("customer.ComponentList-1.2.json");
String globalCustomerId = getJsonValue(putPayload, "global-customer-id");
putUri = addVersionToUri("business/customers/customer/" + globalCustomerId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the customer to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("generic-vnf.ComponentList-1.2.json");
String vnfId = getJsonValue(putPayload, "vnf-id");
putUri = addVersionToUri("network/generic-vnfs/generic-vnf/" + vnfId);
- response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the generic-vnf to be created", 201, response.getStatus());
+ response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the generic-vnf to be created", 201, response.getStatus());
putPayload = PayloadUtil.getNamedQueryPayload("vf-module.ComponentList-1.2.json");
String vfModuleId = getJsonValue(putPayload, "vf-module-id");
- putUri = addVersionToUri("network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ putUri = addVersionToUri(
+ "network/generic-vnfs/generic-vnf/" + vnfId + "/vf-modules/vf-module/" + vfModuleId);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the vf-module to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("cloud-region.ComponentList-1.2.json");
String cloudOwner = getJsonValue(putPayload, "cloud-owner");
String cloudRegionId = getJsonValue(putPayload, "cloud-region-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId);
- response = httpTestUtil.doPut(putUri, putPayload);
+ putUri = addVersionToUri(
+ "cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId);
+ response = httpTestUtil.doPut(putUri, putPayload);
assertEquals("Expected the cloud-region to be created", 201, response.getStatus());
-
+
putPayload = PayloadUtil.getNamedQueryPayload("tenant.ComponentList-1.2.json");
String tenantId = getJsonValue(putPayload, "tenant-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId
- + "/tenants/tenant/" + tenantId);
- response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the tenant to be created", 201, response.getStatus());
-
+ putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner
+ + "/" + cloudRegionId + "/tenants/tenant/" + tenantId);
+ response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the tenant to be created", 201, response.getStatus());
+
putPayload = PayloadUtil.getNamedQueryPayload("vserver.ComponentList-1.2.json");
String vserverId = getJsonValue(putPayload, "vserver-id");
- putUri = addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/" + cloudRegionId
- + "/tenants/tenant/" + tenantId + "/vservers/vserver/" + vserverId);
- response = httpTestUtil.doPut(putUri, putPayload);
- assertEquals("Expected the vserver to be created", 201, response.getStatus());
-
+ putUri =
+ addVersionToUri("cloud-infrastructure/cloud-regions/cloud-region/" + cloudOwner + "/"
+ + cloudRegionId + "/tenants/tenant/" + tenantId + "/vservers/vserver/" + vserverId);
+ response = httpTestUtil.doPut(putUri, putPayload);
+ assertEquals("Expected the vserver to be created", 201, response.getStatus());
+
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
Mockito.when(request.getContentType()).thenReturn("application/json");
-
- aaiExtMap.setUri("/search/named-query");
- aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
- aaiExtMap.setServletRequest(request);
-
-
- response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
+
+ aaiExtMap.setUri("/search/named-query");
+ aaiExtMap.setApiVersion(schemaVersions.getDefaultVersion().toString());
+ aaiExtMap.setServletRequest(request);
+
+ response = searchGraph.runNamedQuery("JUNIT", "JUNIT", queryParameters, aaiExtMap);
assertEquals("Expected success from query", 200, response.getStatus());
- boolean hasModelName = response.getEntity().toString().indexOf("example-model-name-val-component-list") > 0;
- assertTrue("Response contains modelName from model-ver", hasModelName );
- }
-} \ No newline at end of file
+ boolean hasModelName =
+ response.getEntity().toString().indexOf("example-model-name-val-component-list") > 0;
+ assertTrue("Response contains modelName from model-ver", hasModelName);
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java
index 2b4ec18..c46af87 100644
--- a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,17 @@
*/
package org.onap.aai.dbgraphmap;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.net.URI;
+import java.util.*;
+import java.util.stream.Stream;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.*;
+
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.eclipse.persistence.dynamic.DynamicEntity;
import org.janusgraph.graphdb.types.system.EmptyVertex;
@@ -42,19 +53,7 @@ import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.util.GenericQueryBuilder;
import org.onap.aai.util.NodesQueryBuilder;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.*;
-import java.net.URI;
-import java.util.*;
-import java.util.stream.Stream;
-
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class SearchGraphTest extends AAISetup{
-
-
+public class SearchGraphTest extends AAISetup {
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -109,16 +108,18 @@ public class SearchGraphTest extends AAISetup{
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
- when(httpHeaders.getRequestHeader("X-FromAppId")).thenReturn(Collections.singletonList("JUNIT"));
- when(httpHeaders.getRequestHeader("X-TransactionId")).thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-FromAppId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-TransactionId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList);
-
when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getQueryParameters(false)).thenReturn(queryParameters);
- // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable
+ // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very
+ // unreasonable
Mockito.doReturn(null).when(queryParameters).remove(anyObject());
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
@@ -127,21 +128,25 @@ public class SearchGraphTest extends AAISetup{
}
@Test(expected = AAIException.class)
- public void runNodesQuery() throws AAIException{
- DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ public void runNodesQuery() throws AAIException {
+ DBSerializer serializer =
+ new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
UrlBuilder urlBuilder = new UrlBuilder(version, serializer, schemaVersions, basePath);
- searchGraph.runNodesQuery(
- new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("").setEdgeFilterParams(null)
- .setFilterParams(null).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders)
+ .setTargetNodeType("").setEdgeFilterParams(null).setFilterParams(null)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
}
+
@Test(expected = AAIException.class)
- public void runNodesQueryNull() throws AAIException{
- DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ public void runNodesQueryNull() throws AAIException {
+ DBSerializer serializer =
+ new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
UrlBuilder urlBuilder = new UrlBuilder(version, serializer, schemaVersions, basePath);
- searchGraph.runNodesQuery(
- new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("nnn").setEdgeFilterParams(null)
- .setFilterParams(null).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders)
+ .setTargetNodeType("nnn").setEdgeFilterParams(null).setFilterParams(null)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
}
+
@Test(expected = AAIException.class)
public void testRunGenericQueryFailWhenInvalidRelationshipList() throws AAIException {
@@ -151,15 +156,16 @@ public class SearchGraphTest extends AAISetup{
List<String> includeStrings = new ArrayList<>();
includeStrings.add("cloud-region");
- DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ DBSerializer serializer =
+ new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
UrlBuilder urlBuilder = new UrlBuilder(version, serializer, schemaVersions, basePath);
- Response response = searchGraph.runGenericQuery(new GenericQueryBuilder().setHeaders(httpHeaders)
- .setStartNodeType("service-instance").setStartNodeKeyParams(keys).setIncludeNodeTypes(includeStrings)
- .setDepth(1).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ Response response = searchGraph.runGenericQuery(
+ new GenericQueryBuilder().setHeaders(httpHeaders).setStartNodeType("service-instance")
+ .setStartNodeKeyParams(keys).setIncludeNodeTypes(includeStrings).setDepth(1)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
System.out.println(response);
}
-
@Test(expected = AAIException.class)
public void testRunGenericQueryFailWhenInvalidRelationshipList1() throws AAIException {
@@ -169,10 +175,12 @@ public class SearchGraphTest extends AAISetup{
List<String> includeStrings = new ArrayList<>();
includeStrings.add("cloud-region");
- DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ DBSerializer serializer =
+ new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
UrlBuilder urlBuilder = new UrlBuilder(version, serializer, schemaVersions, basePath);
- Response response = searchGraph.runGenericQuery(new GenericQueryBuilder().setHeaders(httpHeaders)
- .setStartNodeType(null).setStartNodeKeyParams(keys).setIncludeNodeTypes(includeStrings).setDepth(1)
+ Response response = searchGraph.runGenericQuery(
+ new GenericQueryBuilder().setHeaders(httpHeaders).setStartNodeType(null)
+ .setStartNodeKeyParams(keys).setIncludeNodeTypes(includeStrings).setDepth(1)
.setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
System.out.println(response);
}
@@ -183,10 +191,12 @@ public class SearchGraphTest extends AAISetup{
List<String> includeStrings = new ArrayList<>();
includeStrings.add("cloud-region");
- DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ DBSerializer serializer =
+ new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
UrlBuilder urlBuilder = new UrlBuilder(version, serializer, schemaVersions, basePath);
- Response response = searchGraph.runGenericQuery(new GenericQueryBuilder().setHeaders(httpHeaders)
- .setStartNodeType("").setStartNodeKeyParams(null).setIncludeNodeTypes(includeStrings).setDepth(1)
+ Response response = searchGraph
+ .runGenericQuery(new GenericQueryBuilder().setHeaders(httpHeaders).setStartNodeType("")
+ .setStartNodeKeyParams(null).setIncludeNodeTypes(includeStrings).setDepth(1)
.setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
System.out.println(response);
}
@@ -197,11 +207,13 @@ public class SearchGraphTest extends AAISetup{
List<String> keys = new ArrayList<>();
keys.add("cloud-region.cloud-owner:test-aic");
- DBSerializer serializer = new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
+ DBSerializer serializer =
+ new DBSerializer(version, dbEngine, introspectorFactoryType, "JUNIT");
UrlBuilder urlBuilder = new UrlBuilder(version, serializer, schemaVersions, basePath);
- Response response = searchGraph.runGenericQuery(new GenericQueryBuilder().setHeaders(httpHeaders)
- .setStartNodeType("").setStartNodeKeyParams(keys).setIncludeNodeTypes(null).setDepth(1)
- .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ Response response =
+ searchGraph.runGenericQuery(new GenericQueryBuilder().setHeaders(httpHeaders)
+ .setStartNodeType("").setStartNodeKeyParams(keys).setIncludeNodeTypes(null)
+ .setDepth(1).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
System.out.println(response);
}
@@ -209,113 +221,121 @@ public class SearchGraphTest extends AAISetup{
public void createSearchResults1() throws Exception {
List<Vertex> keys = new ArrayList<>();
- Vertex vertex=new EmptyVertex();
+ Vertex vertex = new EmptyVertex();
keys.add(vertex);
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- when(urlBuilder.pathed(vertex)).thenReturn("cloud-region");
- Stream<Vertex> stream=mock(Stream.class);
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ when(urlBuilder.pathed(vertex)).thenReturn("cloud-region");
+ Stream<Vertex> stream = mock(Stream.class);
when(stream.isParallel()).thenReturn(true);
- RelationshipToURI relationshipToURI=mock(RelationshipToURI.class);
- URI uri =new URI("");
+ RelationshipToURI relationshipToURI = mock(RelationshipToURI.class);
+ URI uri = new URI("");
when(relationshipToURI.getUri()).thenReturn(uri);
Introspector response = searchGraph.createSearchResults(loader, urlBuilder, keys);
System.out.println(response);
}
+
@Test(expected = AAIException.class)
- public void executeModelOperationTest() throws Exception{
- Vertex vertex=new EmptyVertex();
+ public void executeModelOperationTest() throws Exception {
+ Vertex vertex = new EmptyVertex();
vertex.property("model-name");
- AAIExtensionMap map=mock(AAIExtensionMap.class);
- HttpServletRequest servletRequest=mock(HttpServletRequest.class);
+ AAIExtensionMap map = mock(AAIExtensionMap.class);
+ HttpServletRequest servletRequest = mock(HttpServletRequest.class);
when(map.getHttpServletRequest()).thenReturn(servletRequest);
when(servletRequest.getContentType()).thenReturn("application/json");
- DynamicEntity modelAndNamedQuerySearch=mock(DynamicEntity.class);
+ DynamicEntity modelAndNamedQuerySearch = mock(DynamicEntity.class);
when(modelAndNamedQuerySearch.isSet("topNodeType")).thenReturn(true);
- searchGraph.executeModelOperation("","","",true,
- map);
+ searchGraph.executeModelOperation("", "", "", true, map);
}
@Test(expected = AAIException.class)
- public void executeModelOperationXMLTest() throws Exception{
- Vertex vertex=new EmptyVertex();
+ public void executeModelOperationXMLTest() throws Exception {
+ Vertex vertex = new EmptyVertex();
vertex.property("model-name");
- AAIExtensionMap map=mock(AAIExtensionMap.class);
- HttpServletRequest servletRequest=mock(HttpServletRequest.class);
+ AAIExtensionMap map = mock(AAIExtensionMap.class);
+ HttpServletRequest servletRequest = mock(HttpServletRequest.class);
when(map.getHttpServletRequest()).thenReturn(servletRequest);
when(servletRequest.getContentType()).thenReturn("application/xml");
- DynamicEntity modelAndNamedQuerySearch=mock(DynamicEntity.class);
+ DynamicEntity modelAndNamedQuerySearch = mock(DynamicEntity.class);
when(modelAndNamedQuerySearch.isSet("queryParameters")).thenReturn(true);
- searchGraph.executeModelOperation("","","",true,
- map);
+ searchGraph.executeModelOperation("", "", "", true, map);
}
+
@Test
- public void runNodesQueryTest() throws AAIException{
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- List<String> filter=new ArrayList<>();
+ public void runNodesQueryTest() throws AAIException {
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ List<String> filter = new ArrayList<>();
filter.add("model:EQUALS:DOES-NOT-EXIST:AAI");
- List<String> edgeFilter=new ArrayList<>();
+ List<String> edgeFilter = new ArrayList<>();
edgeFilter.add("model:DOES-NOT-EXIST:DOES-NOT-EXIST:AAI");
- Response response= searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter)
- .setFilterParams(filter).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ Response response = searchGraph.runNodesQuery(
+ new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver")
+ .setEdgeFilterParams(edgeFilter).setFilterParams(filter).setDbEngine(dbEngine)
+ .setLoader(loader).setUrlBuilder(urlBuilder));
Assert.assertNotNull(response);
}
@Test
- public void runNodesQueryExistsTest() throws AAIException{
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- List<String> filter=new ArrayList<String>();
+ public void runNodesQueryExistsTest() throws AAIException {
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ List<String> filter = new ArrayList<String>();
filter.add("model:EQUALS:DOES-NOT-EXIST:AAI");
- List<String> edgeFilter=new ArrayList<String>();
+ List<String> edgeFilter = new ArrayList<String>();
edgeFilter.add("model:EXISTS:DOES-NOT-EXIST:AAI");
- Response response= searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter)
- .setFilterParams(filter).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ Response response = searchGraph.runNodesQuery(
+ new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver")
+ .setEdgeFilterParams(edgeFilter).setFilterParams(filter).setDbEngine(dbEngine)
+ .setLoader(loader).setUrlBuilder(urlBuilder));
Assert.assertNotNull(response);
}
@Test
- public void runNodesQueryTestDOESNOTEQUAL() throws AAIException{
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- List<String> filter=new ArrayList<String>();
+ public void runNodesQueryTestDOESNOTEQUAL() throws AAIException {
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ List<String> filter = new ArrayList<String>();
filter.add("model:DOES-NOT-EQUAL:DOES-NOT-EXIST");
- List<String> edgeFilter=new ArrayList<>();
- searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter)
- .setFilterParams(filter).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ List<String> edgeFilter = new ArrayList<>();
+ searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders)
+ .setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter).setFilterParams(filter)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
}
@Test
- public void runNodesQueryTestGreaterThan3() throws AAIException{
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- List<String> filter=new ArrayList<>();
+ public void runNodesQueryTestGreaterThan3() throws AAIException {
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ List<String> filter = new ArrayList<>();
filter.add("model:DOES-NOT-EQUAL:DOES-NOT-EXIST:AAI");
- List<String> edgeFilter=new ArrayList<>();
- searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter)
- .setFilterParams(filter).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ List<String> edgeFilter = new ArrayList<>();
+ searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders)
+ .setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter).setFilterParams(filter)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
}
@Test
- public void runNodesQueryTestGreaterThanExists() throws AAIException{
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- List<String> filter=new ArrayList<>();
+ public void runNodesQueryTestGreaterThanExists() throws AAIException {
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ List<String> filter = new ArrayList<>();
filter.add("model:EXISTS:DOES-NOT-EXIST:AAI");
- List<String> edgeFilter=new ArrayList<>();
- searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter)
- .setFilterParams(filter).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ List<String> edgeFilter = new ArrayList<>();
+ searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders)
+ .setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter).setFilterParams(filter)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
}
@Test(expected = AAIException.class)
- public void runNodesQueryTestGreaterThanDoesNotExists() throws AAIException{
- UrlBuilder urlBuilder=mock(UrlBuilder.class);
- List<String> filter=new ArrayList<>();
+ public void runNodesQueryTestGreaterThanDoesNotExists() throws AAIException {
+ UrlBuilder urlBuilder = mock(UrlBuilder.class);
+ List<String> filter = new ArrayList<>();
filter.add("model:DOES_NOT_EXIST:DOES-NOT-EXIST:AAI");
- List<String> edgeFilter=new ArrayList<>();
- searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders).setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter)
- .setFilterParams(filter).setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
+ List<String> edgeFilter = new ArrayList<>();
+ searchGraph.runNodesQuery(new NodesQueryBuilder().setHeaders(httpHeaders)
+ .setTargetNodeType("model-ver").setEdgeFilterParams(edgeFilter).setFilterParams(filter)
+ .setDbEngine(dbEngine).setLoader(loader).setUrlBuilder(urlBuilder));
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestConfiguration.java b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestConfiguration.java
index 4b87cde..0ff845a 100644
--- a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestConfiguration.java
+++ b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestConfiguration.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -23,7 +23,9 @@ import com.github.dockerjava.api.model.ExposedPort;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.PortBinding;
import com.github.dockerjava.api.model.Ports;
+
import dasniko.testcontainers.keycloak.KeycloakContainer;
+
import org.keycloak.adapters.springboot.KeycloakSpringBootProperties;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
@@ -42,23 +44,19 @@ class KeycloakTestConfiguration {
@Bean
KeycloakContainer keycloakContainer(KeycloakTestProperties properties) {
KeycloakContainer keycloak = new KeycloakContainer("jboss/keycloak:12.0.4")
- .withRealmImportFile(properties.realmJson)
- .withCreateContainerCmdModifier(cmd -> cmd.withHostConfig(
- new HostConfig().withPortBindings(new PortBinding(Ports.Binding.bindPort(Integer.parseInt(properties.port)), new ExposedPort(8080)))
- ));
+ .withRealmImportFile(properties.realmJson).withCreateContainerCmdModifier(
+ cmd -> cmd.withHostConfig(new HostConfig().withPortBindings(
+ new PortBinding(Ports.Binding.bindPort(Integer.parseInt(properties.port)),
+ new ExposedPort(8080)))));
keycloak.start();
return keycloak;
}
@Bean
Keycloak keycloakAdminClient(KeycloakContainer keycloak, KeycloakTestProperties properties) {
- return KeycloakBuilder.builder()
- .serverUrl(keycloak.getAuthServerUrl())
- .realm(properties.realm)
- .clientId(properties.adminCli)
- .username(keycloak.getAdminUsername())
- .password(keycloak.getAdminPassword())
- .build();
+ return KeycloakBuilder.builder().serverUrl(keycloak.getAuthServerUrl())
+ .realm(properties.realm).clientId(properties.adminCli)
+ .username(keycloak.getAdminUsername()).password(keycloak.getAdminPassword()).build();
}
@Bean
diff --git a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestProperties.java b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestProperties.java
index df9db84..72b6f6f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestProperties.java
+++ b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/KeycloakTestProperties.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/MultiTenancyIT.java b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/MultiTenancyIT.java
index b0fddb4..38490f8 100644
--- a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/MultiTenancyIT.java
+++ b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/MultiTenancyIT.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,8 +19,17 @@
*/
package org.onap.aai.it.multitenancy;
+import static org.junit.Assert.*;
+
import com.jayway.jsonpath.JsonPath;
+
import dasniko.testcontainers.keycloak.KeycloakContainer;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraphTransaction;
import org.junit.Test;
@@ -35,13 +44,6 @@ import org.springframework.context.annotation.Import;
import org.springframework.http.*;
import org.springframework.test.context.TestPropertySource;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.*;
-
@Import(KeycloakTestConfiguration.class)
@TestPropertySource(locations = "classpath:it/application-keycloak-test.properties")
public class MultiTenancyIT extends AbstractSpringRestTest {
@@ -61,44 +63,30 @@ public class MultiTenancyIT extends AbstractSpringRestTest {
try {
GraphTraversalSource g = transaction.traversal();
- g.addV().property("aai-node-type", "pnf")
- .property("pnf-name", "test-pnf-name-01")
- .property("prov-status", "in_service")
- .property("data-owner", "operator")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-01").next();
-
- g.addV().property("aai-node-type", "pnf")
- .property("pnf-name", "test-pnf-name-02")
- .property("prov-status", "in_service")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-02").next();
-
- g.addV().property("aai-node-type", "pnf")
- .property("pnf-name", "test-pnf-name-03")
- .property("prov-status", "in_service")
- .property("data-owner", "selector")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-03").next();
-
- g.addV().property("aai-node-type", "pnf")
- .property("pnf-name", "test-pnf-name-04")
- .property("prov-status", "in_service")
- .property("data-owner", "selector")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-04").next();
-
- g.addV().property("aai-node-type", "pnf")
- .property("pnf-name", "test-pnf-name-05")
- .property("prov-status", "in_service")
- .property("data-owner", "selector")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-05").next();
+ g.addV().property("aai-node-type", "pnf").property("pnf-name", "test-pnf-name-01")
+ .property("prov-status", "in_service").property("data-owner", "operator")
+ .property("in-maint", false).property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-01").next();
+
+ g.addV().property("aai-node-type", "pnf").property("pnf-name", "test-pnf-name-02")
+ .property("prov-status", "in_service").property("in-maint", false)
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-02").next();
+
+ g.addV().property("aai-node-type", "pnf").property("pnf-name", "test-pnf-name-03")
+ .property("prov-status", "in_service").property("data-owner", "selector")
+ .property("in-maint", false).property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-03").next();
+
+ g.addV().property("aai-node-type", "pnf").property("pnf-name", "test-pnf-name-04")
+ .property("prov-status", "in_service").property("data-owner", "selector")
+ .property("in-maint", false).property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-04").next();
+
+ g.addV().property("aai-node-type", "pnf").property("pnf-name", "test-pnf-name-05")
+ .property("prov-status", "in_service").property("data-owner", "selector")
+ .property("in-maint", false).property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-05").next();
} catch (Exception ex) {
success = false;
} finally {
@@ -132,7 +120,8 @@ public class MultiTenancyIT extends AbstractSpringRestTest {
assertEquals(queryResults.size(), 2);
// get pnf with bob (operator_readOnly)
- username = "bob"; password = "bob";
+ username = "bob";
+ password = "bob";
headers = this.getHeaders(username, password);
httpEntity = new HttpEntity(payload, headers);
responseEntity = restTemplate.exchange(endpoint, HttpMethod.PUT, httpEntity, String.class);
@@ -141,7 +130,8 @@ public class MultiTenancyIT extends AbstractSpringRestTest {
assertEquals(queryResults.size(), 2);
// get pnf with ted (selector)
- username = "ted"; password = "ted";
+ username = "ted";
+ password = "ted";
headers = this.getHeaders(username, password);
httpEntity = new HttpEntity(payload, headers);
responseEntity = restTemplate.exchange(endpoint, HttpMethod.PUT, httpEntity, String.class);
@@ -174,13 +164,9 @@ public class MultiTenancyIT extends AbstractSpringRestTest {
private String getStringToken(String username, String password) {
Keycloak keycloakClient = KeycloakBuilder.builder()
- .serverUrl(keycloakContainer.getAuthServerUrl())
- .realm(properties.realm)
- .clientId(properties.clientId)
- .clientSecret(properties.clientSecret)
- .username(username)
- .password(password)
- .build();
+ .serverUrl(keycloakContainer.getAuthServerUrl()).realm(properties.realm)
+ .clientId(properties.clientId).clientSecret(properties.clientSecret).username(username)
+ .password(password).build();
AccessTokenResponse tokenResponse = keycloakClient.tokenManager().getAccessToken();
assertNotNull(tokenResponse);
diff --git a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/RoleHandler.java b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/RoleHandler.java
index 763c071..cd4f1b5 100644
--- a/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/RoleHandler.java
+++ b/aai-traversal/src/test/java/org/onap/aai/it/multitenancy/RoleHandler.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,16 +19,16 @@
*/
package org.onap.aai.it.multitenancy;
+import java.util.Collections;
+
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.resource.RealmResource;
-import java.util.Collections;
-
class RoleHandler {
- /**
- Following roles should be the same as given roles in multi-tenancy-realm json file
- */
+ /**
+ * Following roles should be the same as given roles in multi-tenancy-realm json file
+ */
final static String OPERATOR = "operator";
private final Keycloak adminClient;
private final KeycloakTestProperties properties;
@@ -40,17 +40,13 @@ class RoleHandler {
void addToUser(String role, String username) {
RealmResource realm = adminClient.realm(properties.realm);
- realm.users().get(username)
- .roles()
- .realmLevel()
- .add(Collections.singletonList(realm.roles().get(role).toRepresentation()));
+ realm.users().get(username).roles().realmLevel()
+ .add(Collections.singletonList(realm.roles().get(role).toRepresentation()));
}
void removeFromUser(String role, String username) {
RealmResource realm = adminClient.realm(properties.realm);
- realm.users().get(username)
- .roles()
- .realmLevel()
- .remove(Collections.singletonList(realm.roles().get(role).toRepresentation()));
+ realm.users().get(username).roles().realmLevel()
+ .remove(Collections.singletonList(realm.roles().get(role).toRepresentation()));
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/AbstractSpringRestTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/AbstractSpringRestTest.java
index de98a8c..ac71b57 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/AbstractSpringRestTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/AbstractSpringRestTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,11 @@
*/
package org.onap.aai.rest;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+import java.util.Collections;
+
import org.apache.tinkerpop.gremlin.process.traversal.P;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
@@ -33,8 +38,8 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.nodes.NodeIngestor;
import org.onap.aai.util.AAIConfig;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
@@ -45,12 +50,9 @@ import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
import org.springframework.web.client.RestTemplate;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
-import java.util.Base64;
-import java.util.Collections;
-
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(locations = "classpath:application-test.properties")
@Import(TraversalTestConfiguration.class)
public abstract class AbstractSpringRestTest {
@@ -66,14 +68,14 @@ public abstract class AbstractSpringRestTest {
@Autowired
protected NodeIngestor nodeIngestor;
-
+
@LocalServerPort
protected int randomPort;
protected HttpEntity httpEntity;
protected String baseUrl;
- protected HttpHeaders headers ;
+ protected HttpHeaders headers;
@BeforeClass
public static void setupConfig() throws AAIException {
@@ -95,7 +97,8 @@ public abstract class AbstractSpringRestTest {
headers.add("Real-Time", "true");
headers.add("X-FromAppId", "JUNIT");
headers.add("X-TransactionId", "JUNIT");
- String authorization = Base64.getEncoder().encodeToString("AAI:AAI".getBytes(StandardCharsets.UTF_8));
+ String authorization =
+ Base64.getEncoder().encodeToString("AAI:AAI".getBytes(StandardCharsets.UTF_8));
headers.add("Authorization", "Basic " + authorization);
httpEntity = new HttpEntity(headers);
baseUrl = "http://localhost:" + randomPort;
@@ -104,11 +107,12 @@ public abstract class AbstractSpringRestTest {
/*
* Inheritors please override this one
*/
- public void createTestGraph(){
-
+ public void createTestGraph() {
+
}
+
@After
- public void tearDown(){
+ public void tearDown() {
JanusGraph janusGraph = AAIGraph.getInstance().getGraph();
JanusGraphTransaction transaction = janusGraph.newTransaction();
@@ -117,13 +121,12 @@ public abstract class AbstractSpringRestTest {
try {
GraphTraversalSource g = transaction.traversal();
- g.V().has("source-of-truth", P.within("JUNIT", "AAI-EXTENSIONS"))
- .toList()
- .forEach(Vertex::remove);
- } catch(Exception ex){
+ g.V().has("source-of-truth", P.within("JUNIT", "AAI-EXTENSIONS")).toList()
+ .forEach(Vertex::remove);
+ } catch (Exception ex) {
success = false;
} finally {
- if(success){
+ if (success) {
transaction.commit();
} else {
transaction.rollback();
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/BadQueryFormatTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/BadQueryFormatTest.java
index ea31302..eb8902e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/BadQueryFormatTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/BadQueryFormatTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,15 @@
*/
package org.onap.aai.rest;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.junit.MatcherAssert.assertThat;
+
+import java.util.Base64;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -28,8 +37,8 @@ import org.onap.aai.TraversalApp;
import org.onap.aai.TraversalTestConfiguration;
import org.onap.aai.config.PropertyPasswordConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.*;
import org.springframework.test.context.ContextConfiguration;
@@ -37,17 +46,10 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
-import java.util.Base64;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.junit.MatcherAssert.assertThat;
-
@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(locations = "classpath:application-test.properties")
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
@Import(TraversalTestConfiguration.class)
@@ -99,11 +101,13 @@ public class BadQueryFormatTest {
String endpoint = "/aai/v11/query?format=hello";
httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
System.out.println(responseEntity.getBody());
assertThat(responseEntity.getStatusCode(), is(HttpStatus.BAD_REQUEST));
- assertThat(responseEntity.getBody().toString(), containsString("Bad Parameter Passed:Unsupported format query parameter hello in request"));
+ assertThat(responseEntity.getBody().toString(), containsString(
+ "Bad Parameter Passed:Unsupported format query parameter hello in request"));
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/ConfigurationTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/ConfigurationTest.java
index 5294f24..b0f9869 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/ConfigurationTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/ConfigurationTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,14 @@
*/
package org.onap.aai.rest;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Base64;
+import java.util.Collections;
+
import org.junit.Before;
import org.junit.Test;
import org.onap.aai.TraversalApp;
@@ -34,21 +42,17 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.web.client.RestTemplate;
-import java.io.UnsupportedEncodingException;
-import java.util.Base64;
-import java.util.Collections;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
-
/**
* Test REST requests against configuration resource
*/
@TestPropertySource(locations = "classpath:application-test.properties")
-@ContextConfiguration(initializers = PropertyPasswordConfiguration.class, classes = {SpringContextAware.class})
+@ContextConfiguration(
+ initializers = PropertyPasswordConfiguration.class,
+ classes = {SpringContextAware.class})
@Import(TraversalTestConfiguration.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {SpringContextAware.class, TraversalApp.class})
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = {SpringContextAware.class, TraversalApp.class})
public class ConfigurationTest extends AbstractSpringRestTest {
@Autowired
RestTemplate restTemplate;
@@ -59,6 +63,7 @@ public class ConfigurationTest extends AbstractSpringRestTest {
private HttpEntity<String> httpEntity;
private String actuatorurl;
private HttpHeaders headers;
+
@Before
public void setup() throws UnsupportedEncodingException {
@@ -83,24 +88,27 @@ public class ConfigurationTest extends AbstractSpringRestTest {
ResponseEntity responseEntity = null;
String responseBody = null;
- //set Accept as text/plain in order to get access of endpoint "/actuator/prometheus"
- responseEntity = restTemplate.exchange(actuatorurl + "/actuator/prometheus", HttpMethod.GET, httpEntity, String.class);
+ // set Accept as text/plain in order to get access of endpoint "/actuator/prometheus"
+ responseEntity = restTemplate.exchange(actuatorurl + "/actuator/prometheus", HttpMethod.GET,
+ httpEntity, String.class);
responseBody = (String) responseEntity.getBody();
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
System.out.println("responseBody---------" + responseBody);
assertFalse(responseBody.contains("aai_uri"));
assertTrue(responseBody.contains("group_id"));
-
- //Set Accept as MediaType.APPLICATION_JSON in order to get access of endpoint "/actuator/info" and "/actuator/health"
+ // Set Accept as MediaType.APPLICATION_JSON in order to get access of endpoint
+ // "/actuator/info" and "/actuator/health"
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
httpEntity = new HttpEntity<String>(headers);
- responseEntity = restTemplate.exchange(actuatorurl + "/actuator/info", HttpMethod.GET, httpEntity, String.class);
+ responseEntity = restTemplate.exchange(actuatorurl + "/actuator/info", HttpMethod.GET,
+ httpEntity, String.class);
responseBody = (String) responseEntity.getBody();
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
assertTrue(responseBody.contains("aai-traversal"));
- responseEntity = restTemplate.exchange(actuatorurl + "/actuator/health", HttpMethod.GET, httpEntity, String.class);
+ responseEntity = restTemplate.exchange(actuatorurl + "/actuator/health", HttpMethod.GET,
+ httpEntity, String.class);
responseBody = (String) responseEntity.getBody();
assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
assertTrue(responseBody.contains("UP"));
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/DslConsumerTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/DslConsumerTest.java
index 311de49..b72107f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/DslConsumerTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/DslConsumerTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,10 +19,18 @@
*/
package org.onap.aai.rest;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraphTransaction;
@@ -36,873 +44,999 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.*;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.Matchers.not;
-import static org.junit.Assert.*;
-
public class DslConsumerTest extends AbstractSpringRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
- Vertex p1 = g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver-dsl")
- .property("in-maint", false).property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl").next();
- Vertex p2 = g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver-dsl-02")
- .property("in-maint", false).property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl-02").next();
- Vertex p3 = g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver-dsl-03")
- .property("in-maint", false).property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl-03").next();
- Vertex p4 = g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver-dsl-04")
- .property("in-maint", false).property("source-of-truth", "JUNIT")
- .property("number-of-cpus", 364).property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl-04").next();
- Vertex c1 = g.addV().property("aai-node-type", "complex").property("physical-location-id", "test-complex-dsl")
- .property("state", "NJ")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/complexes/complex/test-complex-dsl").next();
- Vertex cr1 = g.addV().property("aai-node-type", "cloud-region")
- .property("cloud-owner", "test-cloud-owner-01")
- .property("cloud-region-id", "test-cloud-region-id-01")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/cloud-regions/cloud-region/test-cloud-owner-01/test-cloud-region-id-01").next();
- Vertex pnf01 = g.addV().property("aai-node-type", "pnf")
- .property("pnf-name", "test-pnf-name-01")
- .property("in-maint", false)
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-01").next();
- Vertex vserver2 = g.addV().property("aai-node-type", "vserver")
- .property("vserver-id", "test-vserver-id-2")
- .property("vserver-name", "test-vserver-name-2")
- .property("in-maint", "false")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/vservers/vserver/test-vserver-id-2").next();
- Vertex tenant2 = g.addV().property("aai-node-type", "tenant")
- .property("tenant-id", "test-tenant-id-2")
- .property("tenant-name", "test-tenant-name-2")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/tenants/tenant/test-tenant-id-2").next();
- Vertex linterface2 = g.addV().property("aai-node-type", "l-interface")
- .property("interface-name", "test-interface-name-02")
- .property("priority", "123")
- .property("is-port-mirrored", "true")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/l-interfaces/l-interface/test-interface-name-02").next();
- Vertex oamNetwork2 = g.addV().property("aai-node-type", "oam-network")
- .property("network-uuid", "test-network-uuid-02")
- .property("network-name", "test-network-name-02")
- .property("cvlan-tag", "456")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/oam-networks/oam-network/test-network-uuid-02").next();
- Vertex cr2 = g.addV().property("aai-node-type", "cloud-region")
- .property("cloud-owner", "test-cloud-owner-02")
- .property("cloud-region-id", "test-cloud-region-id-02")
- .property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/cloud-regions/cloud-region/test-cloud-owner-02/test-cloud-region-id-02").next();
-
- // For adding edges, check the dbedgetules and the property from and to node
- // along with the other properties to populate information
- p1.addEdge("org.onap.relationships.inventory.LocatedIn", c1,
- "private", false,
- "prevent-delete", "NONE",
- "delete-other-v", "NONE",
- "contains-other-v", "NONE",
- "default", true);
- p1.addEdge("org.onap.relationships.inventory.LocatedIn", cr1,
- "private", false,
- "prevent-delete", "NONE",
- "delete-other-v", "NONE",
- "contains-other-v", "NONE",
- "default", true);
- p3.addEdge("org.onap.relationships.inventory.LocatedIn", c1,
- "private", false,
- "prevent-delete", "NONE",
- "delete-other-v", "NONE",
- "contains-other-v", "NONE",
- "default", true);
- p4.addEdge("org.onap.relationships.inventory.LocatedIn", c1,
- "private", false,
- "prevent-delete", "NONE",
- "delete-other-v", "NONE",
- "contains-other-v", "NONE",
- "default", true);
- tenant2.addEdge("org.onap.relationships.inventory.BelongsTo", cr2,
- "private", false,
- "prevent-delete", "NONE",
- "delete-other-v", "NONE",
- "contains-other-v", "NONE",
- "default", true);
- vserver2.addEdge("org.onap.relationships.inventory.BelongsTo", tenant2,
- "private", false,
- "prevent-delete", "NONE",
- "delete-other-v", "NONE",
- "contains-other-v", "NONE",
- "default", true);
- linterface2.addEdge("tosca.relationships.network.BindsTo", vserver2,
- "direction", "OUT",
- "multiplicity", "MANY2ONE",
- "contains-other-v", "!OUT",
- "delete-other-v", "!OUT",
- "prevent-delete", "NONE",
- "default", true);
- oamNetwork2.addEdge("org.onap.relationships.inventory.BelongsTo", cr2,
- "direction", "OUT",
- "multiplicity", "MANY2ONE",
- "contains-other-v", "!OUT",
- "delete-other-v", "NONE",
- "prevent-delete", "!OUT",
- "default", true);
-
-
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- @Test
- public void testDslQuery() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=console";
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- headers.add("X-Dsl-Version", "V1");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
- System.out.println(responseEntity.getBody());
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
-
- headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
-
- // Make sure that there are no two result <result><result>
- assertThat(responseEntity.getBody().toString(), is(not(containsString("<result><result>"))));
- assertThat(responseEntity.getBody().toString(), is(containsString("<results><result>")));
- }
-
- @Test
- public void testDslQueryV2() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=console";
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl') > complex*");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- headers.add("X-Dsl-Version", "V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
-
- headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
-
- // Make sure that there are no two result <result><result>
- assertThat(responseEntity.getBody().toString(), is(not(containsString("<result><result>"))));
- assertThat(responseEntity.getBody().toString(), is(containsString("<results><result>")));
- }
-
- @Test
- public void testDslQueryV2Aggregate() throws Exception {
- String endpoint = "/aai/v17/dsl?format=aggregate";
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- System.out.println("Payload" + payload);
- headers.add("X-Dsl-Version", "V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
- System.out.println(responseEntity.getBody());
- assertNotNull("Response from /aai/v17/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- }
-
- @Test
- public void testDslQueryException() throws Exception {
- Map<String, String> dslQuerymap = new HashMap<>();
- dslQuerymap.put("dsl-query", "xserver");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
-
- ResponseEntity responseEntity = null;
-
- String endpoint = "/aai/v11/dsl?format=console";
-
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- assertEquals("Expected the response to be 404", HttpStatus.BAD_REQUEST,
- responseEntity.getStatusCode());
- }
-
- @Test
- public void testDslQueryOverride() throws Exception {
- Map<String, String> dslQuerymap = new HashMap<>();
- dslQuerymap.put("dsl-query", "pserver*");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
-
- ResponseEntity responseEntity = null;
-
- String endpoint = "/aai/v11/dsl?format=console";
-
- headers.add("X-DslOverride", AAIConfig.get(TraversalConstants.DSL_OVERRIDE));
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- assertEquals("Expected the response to be 404", HttpStatus.BAD_REQUEST,
- responseEntity.getStatusCode());
- }
-
-
- @Test
- public void testSelectedPropertiesNotRequiredOnDSLStartNode() throws Exception {
- Map<String, String> dslQuerymap = new HashMap<>();
- dslQuerymap.put("dsl-query", "pserver*('equip-model','abc')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
-
- String endpoint = "/aai/v11/dsl?format=console";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
-
- assertEquals("Expected the response to be " + HttpStatus.OK, HttpStatus.OK,
- responseEntity.getStatusCode());
- }
-
- @Test
- public void testAPropertyIsRequiredOnDSLStartNode() throws Exception {
- Map<String, String> dslQuerymap = new HashMap<>();
- dslQuerymap.put("dsl-query", "pserver*");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
-
- String endpoint = "/aai/v11/dsl?format=console";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
-
- assertEquals("Expected the response to be " + HttpStatus.BAD_REQUEST, HttpStatus.BAD_REQUEST,
- responseEntity.getStatusCode());
- }
-
- @Test
- public void testDslQueryProcessingV2_WithSimpleFormat_WithAsTreeQueryParameter() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=simple&depth=0&nodesOnly=true&as-tree=true";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- JsonObject properties = resultsValue.get("properties").getAsJsonObject();
- assertEquals(2, properties.size());
- assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
- assertTrue(properties.get("in-maint").toString().equals("false"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryProcessingV2_WithSimpleFormat_WithoutAsTreeQueryParameter() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=simple&depth=0&nodesOnly=true";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- JsonObject properties = resultsValue.get("properties").getAsJsonObject();
- assertEquals(2, properties.size());
- assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
- assertTrue(properties.get("in-maint").toString().equals("false"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryProcessingV2_WithResourceFormat_WithAsTreeQueryParameter() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource&depth=0&nodesOnly=true&as-tree=true";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
- assertEquals(2, properties.size());
- assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
- assertTrue(properties.get("in-maint").toString().equals("false"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryProcessingV2_WithResourceFormat_WithoutAsTreeQueryParameter() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource&depth=0&nodesOnly=true";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
- assertEquals(2, properties.size());
- assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
- assertTrue(properties.get("in-maint").toString().equals("false"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryProcessingV2_WithResourceAndUrlFormat_WithAsTreeQueryParameter() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource_and_url&depth=0&nodesOnly=true&as-tree=true";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
- assertEquals(2, properties.size());
- assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
- assertTrue(properties.get("in-maint").toString().equals("false"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryProcessingV2_WithResourceAndUrlFormat_WithoutAsTreeQueryParameter() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource_and_url&depth=0&nodesOnly=true";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
- assertEquals(2, properties.size());
- assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
- assertTrue(properties.get("in-maint").toString().equals("false"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryTestAggregateFormatLastNodeNotSelectedAndNotReturned() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname'}('hostname','test-pserver-dsl') > complex");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=aggregate";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
- assertNull(resultsValue.get("/aai/v16/cloud-infrastructure/complexes/complex/test-complex-dsl")); //assert complex is not returned since it is not selected
- JsonObject properties = resultsValue.get("/aai/v16/cloud-infrastructure/pservers/pserver/test-pserver-dsl").getAsJsonObject().get("properties").getAsJsonObject();
- assertEquals(1, properties.size());
- assertThat(properties.get("hostname").toString(), is("\"test-pserver-dsl\"")); //assert only hostname is selected
- assertNull(properties.get("in-maint")); //assert that in-maint is not returned in the properties list
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryTestAggregateFormatLastNodeSelectedAndReturned() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver{'hostname'}('hostname','test-pserver-dsl') > complex*");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=aggregate";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonArray resultsValue = resultsArray.get(0).getAsJsonArray();
- assertNotNull(resultsValue.get(1).getAsJsonObject().get("/aai/v16/cloud-infrastructure/complexes/complex/test-complex-dsl")); //assert complex is returned since it is selected
- JsonObject properties = resultsValue.get(0).getAsJsonObject().get("/aai/v16/cloud-infrastructure/pservers/pserver/test-pserver-dsl").getAsJsonObject().get("properties").getAsJsonObject();
- assertEquals(1, properties.size());
- assertThat(properties.get("hostname").toString(), is("\"test-pserver-dsl\"")); //verify that only selected attribute (hostname) is displayed
- assertNull(properties.get("in-maint")); //assert that in-maint is not returned in the properties list
- JsonObject complexProperties = resultsValue.get(1).getAsJsonObject().get("/aai/v16/cloud-infrastructure/complexes/complex/test-complex-dsl").getAsJsonObject().get("properties").getAsJsonObject();
- assertEquals(2, complexProperties.size()); //internal properties like source-of-truth, node-type and aai-uri are not returned.
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryTestAggregateFormatInternalPropsNotReturned() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=aggregate";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject properties = resultsArray.get(0).getAsJsonObject().get("/aai/v16/cloud-infrastructure/pservers/pserver/test-pserver-dsl").getAsJsonObject().get("properties").getAsJsonObject();
- assertEquals(2, properties.size());
- assertThat(properties.get("hostname").toString(), is("\"test-pserver-dsl\"")); //verify that only hostname is displayed
- assertNull(properties.get("source-of-truth")); //assert that source-of-truth is not returned in properties list
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryTestWithMultipleWheres() throws Exception {
- // Return pservers where pserver has edge to complex "AND" same pserver also has an edge to cloud-region
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')(> complex)(> cloud-region)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v18/dsl?format=aggregate";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- assertEquals(1, resultsArray.size()); // Returns only test-pserver-dsl, does not return test-pserver-dsl-03 since it does not have an edge to cloud-region
- assertEquals(null, resultsArray.get(0).getAsJsonObject().get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl-03")); //not returned
- assertNotNull(resultsArray.get(0).getAsJsonObject().get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryTestWithMultipleWhereNots() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname')!(> complex)!(> cloud-region)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v18/dsl?format=aggregate";
-
- // Add header with V2 to use the {} feature as a part of dsl query
- headers.add("X-DslApiVersion","V2");
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- assertEquals(1, resultsArray.size()); // Returns only test-pserver-dsl-02
- assertEquals(null, resultsArray.get(0).getAsJsonObject().get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl")); //not returned
- assertNotNull(resultsArray.get(0).getAsJsonObject().get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl-02"));
- headers.remove("X-DslApiVersion");
- }
-
- @Test
- public void testDslQueryProcessing_ExpectedError_WrongDataType() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('number-of-cpus','test')");
-
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=simple";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- Assert.assertTrue(responseString.contains(
- "Value ['test'] is not an instance of the expected data type for property key ['number-of-cpus'] and cannot be converted. " +
- "Expected: class java.lang.Integer, found: class java.lang.String"));
- }
-
- @Test
- public void testDslQueryOnComplex_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "[complex*('source-of-truth', 'JUNIT'), complex*('aai-uri', '/cloud-infrastructure/complexes/complex/test-complex-dsl')]");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- JsonObject resultValue = resultsArray.get(0).getAsJsonObject();
- JsonObject complex = resultValue.get("complex").getAsJsonObject();
- Assert.assertEquals("\"test-complex-dsl\"", complex.get("physical-location-id").toString());
- }
-
- @Test
- public void testDslQueryOnPserver_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "[pserver*('hostname','test-pserver-dsl'), complex*('physical-location-id', 'test-complex-dsl')]");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Extract the properties array from the response and compare in assert statements
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- for (JsonElement je : resultsArray) {
- JsonObject jo = je.getAsJsonObject();
- if (jo.get("complex") != null) {
- Assert.assertEquals("\"test-complex-dsl\"", jo.get("complex").getAsJsonObject().get("physical-location-id").toString());
- }
- else if (jo.get("pserver") != null) {
- Assert.assertEquals("\"test-pserver-dsl\"", jo.get("pserver").getAsJsonObject().get("hostname").toString());
- } else {
- Assert.fail();
- }
- }
- }
-
- @Test
- public void testDslQueryOnNodesWithEdges_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "[pserver*('hostname','test-pserver-dsl-02'), pserver*('hostname','test-pserver-dsl')>complex*, pnf('pnf-name','pnf-name-noResults')>lag-interface>l-interface] > complex*");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString(); // pnf should have no results
-
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- boolean hasPserver1 = false, hasPserver2 = false;
- for (JsonElement je : resultsArray) {
- JsonObject jo = je.getAsJsonObject();
- if (jo.get("complex") != null) {
- Assert.assertEquals("\"test-complex-dsl\"", jo.get("complex").getAsJsonObject().get("physical-location-id").toString());
- }
- else if (jo.get("pserver") != null) {
- if (jo.get("pserver").getAsJsonObject().get("hostname").toString().equals("\"test-pserver-dsl\"")){
- hasPserver1 = true;
- }
- if (jo.get("pserver").getAsJsonObject().get("hostname").toString().equals("\"test-pserver-dsl-02\"")) {
- hasPserver2 = true;
- }
- } else {
- Assert.fail();
- }
- }
- Assert.assertTrue(hasPserver1 && hasPserver2);
- }
-
- @Test
- public void testDslQueryOnNodesWithEdges2_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "[pnf*('pnf-name','test-pnf-name-01'),pserver(>cloud-region*('cloud-owner','test-cloud-owner-01'))]");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- String endpoint = "/aai/v16/dsl?format=resource";
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- JsonParser jsonParser = new JsonParser();
- JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
- JsonArray resultsArray = results.get("results").getAsJsonArray();
- for (JsonElement je : resultsArray) {
- JsonObject jo = je.getAsJsonObject();
- if (jo.get("pnf") != null) {
- Assert.assertEquals("\"test-pnf-name-01\"", jo.get("pnf").getAsJsonObject().get("pnf-name").toString());
- }
- else if (jo.get("cloud-region") != null) {
- Assert.assertEquals("\"test-cloud-owner-01\"", jo.get("cloud-region").getAsJsonObject().get("cloud-owner").toString());
- } else {
- Assert.fail();
- }
- }
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithBooleanPropertyAsString_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // With expected boolean value "false" as a boolean value (no quotes)
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 1)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Confirm that the vserver was returned in the response
- Assert.assertTrue(responseString.contains("\"vserver-id\":\"test-vserver-id-2\"") );
-
- dslQueryMap.remove("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 1)");
-
- // With expected boolean value of in-maint, "false", in string form (with single quotes)
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'false')");
- payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- responseString = responseEntity.getBody().toString();
- // Confirm that the vserver was returned in the response
- Assert.assertTrue(responseString.contains("\"vserver-id\":\"test-vserver-id-2\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithWrongBooleanPropertyAsString_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // all string values not boolean related default to false
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'bogusBoolean')>l-interface*('priority', 123)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithBooleanPropertyAsInteger0_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // 0 is false, should return value
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 0)>l-interface*('priority', 123)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithBooleanPropertyAsInteger1_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // 0 is false, should return value
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 1)>l-interface*('priority', 123)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(!responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithBooleanPropertyAsTrue_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // 0 is false, should return value
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', true)>l-interface*('priority', 123)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(!responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithBooleanPropertyAsTrueString_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // 0 is false, should return value
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'true')>l-interface*('priority', 123)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(!responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithIntegerPropertyAsString_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // With expected boolean value "false" as a boolean value (no quotes)
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', false)>l-interface*('priority', '00123')");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- dslQueryMap.remove("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', false)>l-interface*('priority', '00123')");
-
- // With expected boolean value of in-maint, "false", in string form (with single quotes)
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'false')>l-interface*('priority', 00123)");
- payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- responseString = responseEntity.getBody().toString();
-
- // Confirm that the l-interface was returned in the response
- Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\"") );
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithLongPropertyAsString_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // With expected boolean value "false" as a boolean value (no quotes)
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>oam-network*('cvlan-tag', '456')");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Confirm that the oam-network was returned in the response
- Assert.assertTrue(responseString.contains("\"cvlan-tag\":456"));
- dslQueryMap.remove("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>oam-network*('cvlan-tag', '456')");
-
- dslQueryMap.put("dsl-query", "cloud-region*('cloud-owner', 'test-cloud-owner-02')>oam-network*('cvlan-tag', 456)");
- payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- responseString = responseEntity.getBody().toString();
-
- // Confirm that the oam-network was returned in the response
- Assert.assertTrue(responseString.contains("\"cvlan-tag\":456"));
- }
-
- @Test
- public void testDslQuery_IsAgnosticWithPrimitivePropertiesInList_ReturnSuccessfulResponse() throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
-
- // With expected boolean value "false" as a boolean value (no quotes)
- dslQueryMap.put("dsl-query", "complex('state')>pserver*('number-of-cpus', '234', '364', 2342)");
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- String responseString = responseEntity.getBody().toString();
-
- // Confirm that the pserver was returned in the response
- Assert.assertTrue(responseString.contains("\"number-of-cpus\":364"));
- dslQueryMap.remove("dsl-query", "complex('state')>pserver*('number-of-cpus', '234', '364', 2342)");
-
- dslQueryMap.put("dsl-query", "complex('state')>pserver*('number-of-cpus', '234', 364, 2342)");
- payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
-
- httpEntity = new HttpEntity(payload, headers);
- responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- responseString = responseEntity.getBody().toString();
-
- // Confirm that the pserver was returned in the response
- Assert.assertTrue(responseString.contains("\"number-of-cpus\":364"));
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+ Vertex p1 = g.addV().property("aai-node-type", "pserver")
+ .property("hostname", "test-pserver-dsl").property("in-maint", false)
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl")
+ .next();
+ Vertex p2 = g.addV().property("aai-node-type", "pserver")
+ .property("hostname", "test-pserver-dsl-02").property("in-maint", false)
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl-02")
+ .next();
+ Vertex p3 = g.addV().property("aai-node-type", "pserver")
+ .property("hostname", "test-pserver-dsl-03").property("in-maint", false)
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl-03")
+ .next();
+ Vertex p4 = g.addV().property("aai-node-type", "pserver")
+ .property("hostname", "test-pserver-dsl-04").property("in-maint", false)
+ .property("source-of-truth", "JUNIT").property("number-of-cpus", 364)
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-dsl-04")
+ .next();
+ Vertex c1 = g.addV().property("aai-node-type", "complex")
+ .property("physical-location-id", "test-complex-dsl").property("state", "NJ")
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/complexes/complex/test-complex-dsl")
+ .next();
+ Vertex cr1 = g.addV().property("aai-node-type", "cloud-region")
+ .property("cloud-owner", "test-cloud-owner-01")
+ .property("cloud-region-id", "test-cloud-region-id-01")
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri",
+ "/cloud-infrastructure/cloud-regions/cloud-region/test-cloud-owner-01/test-cloud-region-id-01")
+ .next();
+ Vertex pnf01 =
+ g.addV().property("aai-node-type", "pnf").property("pnf-name", "test-pnf-name-01")
+ .property("in-maint", false).property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/network/pnfs/pnf/test-pnf-name-01").next();
+ Vertex vserver2 = g.addV().property("aai-node-type", "vserver")
+ .property("vserver-id", "test-vserver-id-2")
+ .property("vserver-name", "test-vserver-name-2").property("in-maint", "false")
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/vservers/vserver/test-vserver-id-2").next();
+ Vertex tenant2 = g.addV().property("aai-node-type", "tenant")
+ .property("tenant-id", "test-tenant-id-2")
+ .property("tenant-name", "test-tenant-name-2").property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/tenants/tenant/test-tenant-id-2").next();
+ Vertex linterface2 = g.addV().property("aai-node-type", "l-interface")
+ .property("interface-name", "test-interface-name-02").property("priority", "123")
+ .property("is-port-mirrored", "true").property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/l-interfaces/l-interface/test-interface-name-02").next();
+ Vertex oamNetwork2 = g.addV().property("aai-node-type", "oam-network")
+ .property("network-uuid", "test-network-uuid-02")
+ .property("network-name", "test-network-name-02").property("cvlan-tag", "456")
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/oam-networks/oam-network/test-network-uuid-02").next();
+ Vertex cr2 = g.addV().property("aai-node-type", "cloud-region")
+ .property("cloud-owner", "test-cloud-owner-02")
+ .property("cloud-region-id", "test-cloud-region-id-02")
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri",
+ "/cloud-infrastructure/cloud-regions/cloud-region/test-cloud-owner-02/test-cloud-region-id-02")
+ .next();
+
+ // For adding edges, check the dbedgetules and the property from and to node
+ // along with the other properties to populate information
+ p1.addEdge("org.onap.relationships.inventory.LocatedIn", c1, "private", false,
+ "prevent-delete", "NONE", "delete-other-v", "NONE", "contains-other-v", "NONE",
+ "default", true);
+ p1.addEdge("org.onap.relationships.inventory.LocatedIn", cr1, "private", false,
+ "prevent-delete", "NONE", "delete-other-v", "NONE", "contains-other-v", "NONE",
+ "default", true);
+ p3.addEdge("org.onap.relationships.inventory.LocatedIn", c1, "private", false,
+ "prevent-delete", "NONE", "delete-other-v", "NONE", "contains-other-v", "NONE",
+ "default", true);
+ p4.addEdge("org.onap.relationships.inventory.LocatedIn", c1, "private", false,
+ "prevent-delete", "NONE", "delete-other-v", "NONE", "contains-other-v", "NONE",
+ "default", true);
+ tenant2.addEdge("org.onap.relationships.inventory.BelongsTo", cr2, "private", false,
+ "prevent-delete", "NONE", "delete-other-v", "NONE", "contains-other-v", "NONE",
+ "default", true);
+ vserver2.addEdge("org.onap.relationships.inventory.BelongsTo", tenant2, "private",
+ false, "prevent-delete", "NONE", "delete-other-v", "NONE", "contains-other-v",
+ "NONE", "default", true);
+ linterface2.addEdge("tosca.relationships.network.BindsTo", vserver2, "direction", "OUT",
+ "multiplicity", "MANY2ONE", "contains-other-v", "!OUT", "delete-other-v", "!OUT",
+ "prevent-delete", "NONE", "default", true);
+ oamNetwork2.addEdge("org.onap.relationships.inventory.BelongsTo", cr2, "direction",
+ "OUT", "multiplicity", "MANY2ONE", "contains-other-v", "!OUT", "delete-other-v",
+ "NONE", "prevent-delete", "!OUT", "default", true);
+
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ @Test
+ public void testDslQuery() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=console";
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ headers.add("X-Dsl-Version", "V1");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+ System.out.println(responseEntity.getBody());
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+
+ headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+
+ // Make sure that there are no two result <result><result>
+ assertThat(responseEntity.getBody().toString(),
+ is(not(containsString("<result><result>"))));
+ assertThat(responseEntity.getBody().toString(), is(containsString("<results><result>")));
+ }
+
+ @Test
+ public void testDslQueryV2() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=console";
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl') > complex*");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ headers.add("X-Dsl-Version", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+
+ headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+
+ // Make sure that there are no two result <result><result>
+ assertThat(responseEntity.getBody().toString(),
+ is(not(containsString("<result><result>"))));
+ assertThat(responseEntity.getBody().toString(), is(containsString("<results><result>")));
+ }
+
+ @Test
+ public void testDslQueryV2Aggregate() throws Exception {
+ String endpoint = "/aai/v17/dsl?format=aggregate";
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ System.out.println("Payload" + payload);
+ headers.add("X-Dsl-Version", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+ System.out.println(responseEntity.getBody());
+ assertNotNull("Response from /aai/v17/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testDslQueryException() throws Exception {
+ Map<String, String> dslQuerymap = new HashMap<>();
+ dslQuerymap.put("dsl-query", "xserver");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
+
+ ResponseEntity responseEntity = null;
+
+ String endpoint = "/aai/v11/dsl?format=console";
+
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ assertEquals("Expected the response to be 404", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testDslQueryOverride() throws Exception {
+ Map<String, String> dslQuerymap = new HashMap<>();
+ dslQuerymap.put("dsl-query", "pserver*");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
+
+ ResponseEntity responseEntity = null;
+
+ String endpoint = "/aai/v11/dsl?format=console";
+
+ headers.add("X-DslOverride", AAIConfig.get(TraversalConstants.DSL_OVERRIDE));
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ assertEquals("Expected the response to be 404", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testSelectedPropertiesNotRequiredOnDSLStartNode() throws Exception {
+ Map<String, String> dslQuerymap = new HashMap<>();
+ dslQuerymap.put("dsl-query", "pserver*('equip-model','abc')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
+
+ String endpoint = "/aai/v11/dsl?format=console";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+
+ assertEquals("Expected the response to be " + HttpStatus.OK, HttpStatus.OK,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testAPropertyIsRequiredOnDSLStartNode() throws Exception {
+ Map<String, String> dslQuerymap = new HashMap<>();
+ dslQuerymap.put("dsl-query", "pserver*");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQuerymap);
+
+ String endpoint = "/aai/v11/dsl?format=console";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+
+ assertEquals("Expected the response to be " + HttpStatus.BAD_REQUEST,
+ HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testDslQueryProcessingV2_WithSimpleFormat_WithAsTreeQueryParameter()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=simple&depth=0&nodesOnly=true&as-tree=true";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject properties = resultsValue.get("properties").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
+ assertTrue(properties.get("in-maint").toString().equals("false"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryProcessingV2_WithSimpleFormat_WithoutAsTreeQueryParameter()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=simple&depth=0&nodesOnly=true";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject properties = resultsValue.get("properties").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
+ assertTrue(properties.get("in-maint").toString().equals("false"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryProcessingV2_WithResourceFormat_WithAsTreeQueryParameter()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource&depth=0&nodesOnly=true&as-tree=true";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
+ assertTrue(properties.get("in-maint").toString().equals("false"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryProcessingV2_WithResourceFormat_WithoutAsTreeQueryParameter()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource&depth=0&nodesOnly=true";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
+ assertTrue(properties.get("in-maint").toString().equals("false"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryProcessingV2_WithResourceAndUrlFormat_WithAsTreeQueryParameter()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint =
+ "/aai/v16/dsl?format=resource_and_url&depth=0&nodesOnly=true&as-tree=true";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
+ assertTrue(properties.get("in-maint").toString().equals("false"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryProcessingV2_WithResourceAndUrlFormat_WithoutAsTreeQueryParameter()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname', 'ptnii-equip-name', 'in-maint'}('hostname','test-pserver-dsl')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource_and_url&depth=0&nodesOnly=true";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject properties = resultsValue.get("pserver").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertTrue(properties.get("hostname").toString().equals("\"test-pserver-dsl\""));
+ assertTrue(properties.get("in-maint").toString().equals("false"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryTestAggregateFormatLastNodeNotSelectedAndNotReturned()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname'}('hostname','test-pserver-dsl') > complex");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=aggregate";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultsValue = resultsArray.get(0).getAsJsonObject();
+ assertNull(
+ resultsValue.get("/aai/v16/cloud-infrastructure/complexes/complex/test-complex-dsl")); // assert
+ // complex
+ // is
+ // not
+ // returned
+ // since
+ // it
+ // is
+ // not
+ // selected
+ JsonObject properties =
+ resultsValue.get("/aai/v16/cloud-infrastructure/pservers/pserver/test-pserver-dsl")
+ .getAsJsonObject().get("properties").getAsJsonObject();
+ assertEquals(1, properties.size());
+ assertThat(properties.get("hostname").toString(), is("\"test-pserver-dsl\"")); // assert
+ // only
+ // hostname
+ // is
+ // selected
+ assertNull(properties.get("in-maint")); // assert that in-maint is not returned in the
+ // properties list
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryTestAggregateFormatLastNodeSelectedAndReturned() throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver{'hostname'}('hostname','test-pserver-dsl') > complex*");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=aggregate";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonArray resultsValue = resultsArray.get(0).getAsJsonArray();
+ assertNotNull(resultsValue.get(1).getAsJsonObject()
+ .get("/aai/v16/cloud-infrastructure/complexes/complex/test-complex-dsl")); // assert
+ // complex is
+ // returned
+ // since it
+ // is
+ // selected
+ JsonObject properties = resultsValue.get(0).getAsJsonObject()
+ .get("/aai/v16/cloud-infrastructure/pservers/pserver/test-pserver-dsl")
+ .getAsJsonObject().get("properties").getAsJsonObject();
+ assertEquals(1, properties.size());
+ assertThat(properties.get("hostname").toString(), is("\"test-pserver-dsl\"")); // verify
+ // that only
+ // selected
+ // attribute
+ // (hostname)
+ // is
+ // displayed
+ assertNull(properties.get("in-maint")); // assert that in-maint is not returned in the
+ // properties list
+ JsonObject complexProperties = resultsValue.get(1).getAsJsonObject()
+ .get("/aai/v16/cloud-infrastructure/complexes/complex/test-complex-dsl")
+ .getAsJsonObject().get("properties").getAsJsonObject();
+ assertEquals(2, complexProperties.size()); // internal properties like source-of-truth,
+ // node-type and aai-uri are not returned.
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryTestAggregateFormatInternalPropsNotReturned() throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=aggregate";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject properties = resultsArray.get(0).getAsJsonObject()
+ .get("/aai/v16/cloud-infrastructure/pservers/pserver/test-pserver-dsl")
+ .getAsJsonObject().get("properties").getAsJsonObject();
+ assertEquals(2, properties.size());
+ assertThat(properties.get("hostname").toString(), is("\"test-pserver-dsl\"")); // verify
+ // that only
+ // hostname
+ // is
+ // displayed
+ assertNull(properties.get("source-of-truth")); // assert that source-of-truth is not
+ // returned in properties list
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryTestWithMultipleWheres() throws Exception {
+ // Return pservers where pserver has edge to complex "AND" same pserver also has an edge to
+ // cloud-region
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver*('hostname','test-pserver-dsl')(> complex)(> cloud-region)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v18/dsl?format=aggregate";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ assertEquals(1, resultsArray.size()); // Returns only test-pserver-dsl, does not return
+ // test-pserver-dsl-03 since it does not have an edge
+ // to cloud-region
+ assertEquals(null, resultsArray.get(0).getAsJsonObject()
+ .get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl-03")); // not
+ // returned
+ assertNotNull(resultsArray.get(0).getAsJsonObject()
+ .get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryTestWithMultipleWhereNots() throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query", "pserver*('hostname')!(> complex)!(> cloud-region)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v18/dsl?format=aggregate";
+
+ // Add header with V2 to use the {} feature as a part of dsl query
+ headers.add("X-DslApiVersion", "V2");
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ assertEquals(1, resultsArray.size()); // Returns only test-pserver-dsl-02
+ assertEquals(null, resultsArray.get(0).getAsJsonObject()
+ .get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl")); // not
+ // returned
+ assertNotNull(resultsArray.get(0).getAsJsonObject()
+ .get("/aai/v18/cloud-infrastructure/pservers/pserver/test-pserver-dsl-02"));
+ headers.remove("X-DslApiVersion");
+ }
+
+ @Test
+ public void testDslQueryProcessing_ExpectedError_WrongDataType() throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query", "pserver*('number-of-cpus','test')");
+
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=simple";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ Assert.assertTrue(responseString.contains(
+ "Value ['test'] is not an instance of the expected data type for property key ['number-of-cpus'] and cannot be converted. "
+ + "Expected: class java.lang.Integer, found: class java.lang.String"));
+ }
+
+ @Test
+ public void testDslQueryOnComplex_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "[complex*('source-of-truth', 'JUNIT'), complex*('aai-uri', '/cloud-infrastructure/complexes/complex/test-complex-dsl')]");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ JsonObject resultValue = resultsArray.get(0).getAsJsonObject();
+ JsonObject complex = resultValue.get("complex").getAsJsonObject();
+ Assert.assertEquals("\"test-complex-dsl\"", complex.get("physical-location-id").toString());
+ }
+
+ @Test
+ public void testDslQueryOnPserver_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "[pserver*('hostname','test-pserver-dsl'), complex*('physical-location-id', 'test-complex-dsl')]");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Extract the properties array from the response and compare in assert statements
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ for (JsonElement je : resultsArray) {
+ JsonObject jo = je.getAsJsonObject();
+ if (jo.get("complex") != null) {
+ Assert.assertEquals("\"test-complex-dsl\"",
+ jo.get("complex").getAsJsonObject().get("physical-location-id").toString());
+ } else if (jo.get("pserver") != null) {
+ Assert.assertEquals("\"test-pserver-dsl\"",
+ jo.get("pserver").getAsJsonObject().get("hostname").toString());
+ } else {
+ Assert.fail();
+ }
+ }
+ }
+
+ @Test
+ public void testDslQueryOnNodesWithEdges_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "[pserver*('hostname','test-pserver-dsl-02'), pserver*('hostname','test-pserver-dsl')>complex*, pnf('pnf-name','pnf-name-noResults')>lag-interface>l-interface] > complex*");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString(); // pnf should have no results
+
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ boolean hasPserver1 = false, hasPserver2 = false;
+ for (JsonElement je : resultsArray) {
+ JsonObject jo = je.getAsJsonObject();
+ if (jo.get("complex") != null) {
+ Assert.assertEquals("\"test-complex-dsl\"",
+ jo.get("complex").getAsJsonObject().get("physical-location-id").toString());
+ } else if (jo.get("pserver") != null) {
+ if (jo.get("pserver").getAsJsonObject().get("hostname").toString()
+ .equals("\"test-pserver-dsl\"")) {
+ hasPserver1 = true;
+ }
+ if (jo.get("pserver").getAsJsonObject().get("hostname").toString()
+ .equals("\"test-pserver-dsl-02\"")) {
+ hasPserver2 = true;
+ }
+ } else {
+ Assert.fail();
+ }
+ }
+ Assert.assertTrue(hasPserver1 && hasPserver2);
+ }
+
+ @Test
+ public void testDslQueryOnNodesWithEdges2_WithResourceFormatWithUnionAsStartNode_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "[pnf*('pnf-name','test-pnf-name-01'),pserver(>cloud-region*('cloud-owner','test-cloud-owner-01'))]");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ String endpoint = "/aai/v16/dsl?format=resource";
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ JsonParser jsonParser = new JsonParser();
+ JsonObject results = jsonParser.parse(responseString).getAsJsonObject();
+ JsonArray resultsArray = results.get("results").getAsJsonArray();
+ for (JsonElement je : resultsArray) {
+ JsonObject jo = je.getAsJsonObject();
+ if (jo.get("pnf") != null) {
+ Assert.assertEquals("\"test-pnf-name-01\"",
+ jo.get("pnf").getAsJsonObject().get("pnf-name").toString());
+ } else if (jo.get("cloud-region") != null) {
+ Assert.assertEquals("\"test-cloud-owner-01\"",
+ jo.get("cloud-region").getAsJsonObject().get("cloud-owner").toString());
+ } else {
+ Assert.fail();
+ }
+ }
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithBooleanPropertyAsString_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // With expected boolean value "false" as a boolean value (no quotes)
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 1)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Confirm that the vserver was returned in the response
+ Assert.assertTrue(responseString.contains("\"vserver-id\":\"test-vserver-id-2\""));
+
+ dslQueryMap.remove("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 1)");
+
+ // With expected boolean value of in-maint, "false", in string form (with single quotes)
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'false')");
+ payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseString = responseEntity.getBody().toString();
+ // Confirm that the vserver was returned in the response
+ Assert.assertTrue(responseString.contains("\"vserver-id\":\"test-vserver-id-2\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithWrongBooleanPropertyAsString_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // all string values not boolean related default to false
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'bogusBoolean')>l-interface*('priority', 123)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Confirm that the l-interface was returned in the response
+ Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithBooleanPropertyAsInteger0_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // 0 is false, should return value
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 0)>l-interface*('priority', 123)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Confirm that the l-interface was returned in the response
+ Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithBooleanPropertyAsInteger1_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // 0 is false, should return value
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 1)>l-interface*('priority', 123)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Confirm that the l-interface was returned in the response
+ Assert
+ .assertTrue(!responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithBooleanPropertyAsTrue_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // 0 is false, should return value
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', true)>l-interface*('priority', 123)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Confirm that the l-interface was returned in the response
+ Assert
+ .assertTrue(!responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithBooleanPropertyAsTrueString_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // 0 is false, should return value
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'true')>l-interface*('priority', 123)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+ // Confirm that the l-interface was returned in the response
+ Assert
+ .assertTrue(!responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithIntegerPropertyAsString_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // With expected boolean value "false" as a boolean value (no quotes)
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', false)>l-interface*('priority', '00123')");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Confirm that the l-interface was returned in the response
+ Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ dslQueryMap.remove("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', false)>l-interface*('priority', '00123')");
+
+ // With expected boolean value of in-maint, "false", in string form (with single quotes)
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>tenant*>vserver*('in-maint', 'false')>l-interface*('priority', 00123)");
+ payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseString = responseEntity.getBody().toString();
+
+ // Confirm that the l-interface was returned in the response
+ Assert.assertTrue(responseString.contains("\"interface-name\":\"test-interface-name-02\""));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithLongPropertyAsString_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // With expected boolean value "false" as a boolean value (no quotes)
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>oam-network*('cvlan-tag', '456')");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Confirm that the oam-network was returned in the response
+ Assert.assertTrue(responseString.contains("\"cvlan-tag\":456"));
+ dslQueryMap.remove("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>oam-network*('cvlan-tag', '456')");
+
+ dslQueryMap.put("dsl-query",
+ "cloud-region*('cloud-owner', 'test-cloud-owner-02')>oam-network*('cvlan-tag', 456)");
+ payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseString = responseEntity.getBody().toString();
+
+ // Confirm that the oam-network was returned in the response
+ Assert.assertTrue(responseString.contains("\"cvlan-tag\":456"));
+ }
+
+ @Test
+ public void testDslQuery_IsAgnosticWithPrimitivePropertiesInList_ReturnSuccessfulResponse()
+ throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ String endpoint = "/aai/v19/dsl?format=resource&nodesOnly=true";
+
+ // With expected boolean value "false" as a boolean value (no quotes)
+ dslQueryMap.put("dsl-query",
+ "complex('state')>pserver*('number-of-cpus', '234', '364', 2342)");
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ String responseString = responseEntity.getBody().toString();
+
+ // Confirm that the pserver was returned in the response
+ Assert.assertTrue(responseString.contains("\"number-of-cpus\":364"));
+ dslQueryMap.remove("dsl-query",
+ "complex('state')>pserver*('number-of-cpus', '234', '364', 2342)");
+
+ dslQueryMap.put("dsl-query",
+ "complex('state')>pserver*('number-of-cpus', '234', 364, 2342)");
+ payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+
+ httpEntity = new HttpEntity(payload, headers);
+ responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ responseString = responseEntity.getBody().toString();
+
+ // Confirm that the pserver was returned in the response
+ Assert.assertTrue(responseString.contains("\"number-of-cpus\":364"));
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/ExceptionHandlerTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/ExceptionHandlerTest.java
index 6a7bd7e..6281892 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/ExceptionHandlerTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/ExceptionHandlerTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,15 +19,18 @@
*/
package org.onap.aai.rest;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.sun.istack.SAXParseException2;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.WebApplicationException;
@@ -35,13 +38,12 @@ import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedHashMap;
import javax.ws.rs.core.Response;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
public class ExceptionHandlerTest {
@@ -57,10 +59,10 @@ public class ExceptionHandlerTest {
private ExceptionHandler handler = new ExceptionHandler();
@Before
- public void setup(){
+ public void setup() {
MockitoAnnotations.initMocks(this);
- MultivaluedHashMap headersMultiMap = new MultivaluedHashMap<>();
+ MultivaluedHashMap headersMultiMap = new MultivaluedHashMap<>();
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -82,11 +84,12 @@ public class ExceptionHandlerTest {
assertNotNull(response);
assertNull(response.getEntity());
- assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
+ assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
}
@Test
- public void testConversionOfWebApplicationResponseWhenUmarshalExceptionResultBadRequest() throws Exception {
+ public void testConversionOfWebApplicationResponseWhenUmarshalExceptionResultBadRequest()
+ throws Exception {
SAXParseException2 mockSaxParseException = mock(SAXParseException2.class);
Exception exception = new WebApplicationException(mockSaxParseException);
@@ -94,7 +97,7 @@ public class ExceptionHandlerTest {
assertNotNull(response);
assertNotNull(response.getEntity());
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
}
@Test
@@ -106,7 +109,7 @@ public class ExceptionHandlerTest {
assertNotNull(response);
assertNotNull(response.getEntity());
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
}
@Test
@@ -118,7 +121,7 @@ public class ExceptionHandlerTest {
assertNotNull(response);
assertNotNull(response.getEntity());
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
}
@Test
@@ -131,13 +134,13 @@ public class ExceptionHandlerTest {
assertNotNull(response);
assertNotNull(response.getEntity());
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-
+ assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
}
@Test
- public void testConversionWhenUnknownExceptionResultBadRequestForXmlResponseType() throws Exception {
+ public void testConversionWhenUnknownExceptionResultBadRequestForXmlResponseType()
+ throws Exception {
List<MediaType> outputMediaTypes = new ArrayList<>();
outputMediaTypes.add(MediaType.valueOf("application/xml"));
@@ -149,6 +152,6 @@ public class ExceptionHandlerTest {
assertNotNull(response);
assertNotNull(response.getEntity());
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/GfpVserverDataStoredQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/GfpVserverDataStoredQueryTest.java
index 8acbd4e..845ddf9 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/GfpVserverDataStoredQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/GfpVserverDataStoredQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,15 +19,25 @@
*/
package org.onap.aai.rest;
-import org.onap.aai.config.PropertyPasswordConfiguration;
-import org.onap.aai.transforms.XmlFormatTransformer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import com.att.eelf.configuration.EELFManager;
import com.jayway.jsonpath.JsonPath;
+
+import java.util.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.*;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraph;
import org.janusgraph.core.JanusGraphTransaction;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -35,26 +45,19 @@ import org.mockito.Mockito;
import org.onap.aai.AAISetup;
import org.onap.aai.HttpTestUtil;
import org.onap.aai.PayloadUtil;
+import org.onap.aai.config.PropertyPasswordConfiguration;
import org.onap.aai.dbmap.AAIGraph;
import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.transforms.XmlFormatTransformer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.*;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
-public class GfpVserverDataStoredQueryTest extends AAISetup{
+public class GfpVserverDataStoredQueryTest extends AAISetup {
- private static final Logger logger = LoggerFactory.getLogger(GfpVserverDataStoredQueryTest.class);
+ private static final Logger logger =
+ LoggerFactory.getLogger(GfpVserverDataStoredQueryTest.class);
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -79,9 +82,8 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
version = schemaVersions.getDefaultVersion();
- cloudRegionUri = "/aai/" + version.toString()
- + "/cloud-infrastructure/cloud-regions/"
- + "cloud-region/testOwner1/testRegion1";
+ cloudRegionUri = "/aai/" + version.toString() + "/cloud-infrastructure/cloud-regions/"
+ + "cloud-region/testOwner1/testRegion1";
httpTestUtil = new HttpTestUtil();
Map<String, String> templateValues = new HashMap<>();
@@ -97,8 +99,8 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
templateValues.put("ipv6-address", "2001:0db8:85a3:0000:0000:8a2e:0370:7334");
templateValues.put("vlan-interface", "vlan-interface1");
- String cloudRegionPayload = PayloadUtil.
- getTemplatePayload("cloud-region-with-linterface.json", templateValues);
+ String cloudRegionPayload =
+ PayloadUtil.getTemplatePayload("cloud-region-with-linterface.json", templateValues);
Response response = httpTestUtil.doPut(cloudRegionUri, cloudRegionPayload);
logger.info("Response status received {}", response.getEntity());
@@ -107,12 +109,13 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
assertEquals("Expecting the cloud region to be created", 201, response.getStatus());
logger.info("Successfully created the cloud region with linterface");
- queryConsumer = new QueryConsumer(traversalUriHttpEntry, schemaVersions, gremlinServerSingleton, new XmlFormatTransformer(), basePath);
+ queryConsumer = new QueryConsumer(traversalUriHttpEntry, schemaVersions,
+ gremlinServerSingleton, new XmlFormatTransformer(), basePath);
- httpHeaders = mock(HttpHeaders.class);
+ httpHeaders = mock(HttpHeaders.class);
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -138,7 +141,8 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
}
@Test
- public void testStoredQueryVerifyDoesNotThrowMethodTooLargeWhenLargeNumberOfStartingVertexes() throws Exception {
+ public void testStoredQueryVerifyDoesNotThrowMethodTooLargeWhenLargeNumberOfStartingVertexes()
+ throws Exception {
// Add hundred thousand vserver vertexes to properly
// test the scenario where the application was
@@ -166,23 +170,15 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
Mockito.when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getPath()).thenReturn(query);
HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
- when(mockRequest.getRequestURL()).thenReturn(new StringBuffer("https://localhost:8446" + query));
-
- Response response = queryConsumer.executeQuery(
- payload,
- version.toString(),
- "resource_and_url", "" +
- "no_op",
- httpHeaders,
- mockRequest,
- uriInfo,
- "-1",
- "-1"
- );
+ when(mockRequest.getRequestURL())
+ .thenReturn(new StringBuffer("https://localhost:8446" + query));
+
+ Response response = queryConsumer.executeQuery(payload, version.toString(),
+ "resource_and_url", "" + "no_op", httpHeaders, mockRequest, uriInfo, "-1", "-1");
String entity = response.getEntity().toString();
- assertEquals("Expected the response to be 200 but got this returned: " + response.getEntity().toString(),
- 200, response.getStatus());
+ assertEquals("Expected the response to be 200 but got this returned: "
+ + response.getEntity().toString(), 200, response.getStatus());
List<String> urls = JsonPath.read(entity, "$.results[*].url");
assertEquals("Expected the urls to be 3", 3, urls.size());
removeVertexes();
@@ -207,31 +203,24 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
when(uriInfo.getPath()).thenReturn(query);
HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
- when(mockRequest.getRequestURL()).thenReturn(new StringBuffer("https://localhost:8446" + query));
-
- Response response = queryConsumer.executeQuery(
- payload,
- version.toString(),
- "resource_and_url", "" +
- "no_op",
- httpHeaders,
- mockRequest,
- uriInfo,
- "-1",
- "-1"
- );
+ when(mockRequest.getRequestURL())
+ .thenReturn(new StringBuffer("https://localhost:8446" + query));
+
+ Response response = queryConsumer.executeQuery(payload, version.toString(),
+ "resource_and_url", "" + "no_op", httpHeaders, mockRequest, uriInfo, "-1", "-1");
String entity = response.getEntity().toString();
- assertEquals("Expected the response to be 400 but got this returned: " + entity,
- 400, response.getStatus());
+ assertEquals("Expected the response to be 400 but got this returned: " + entity, 400,
+ response.getStatus());
assertThat("Expecting error message since query doesn't exist", entity,
- containsString("Query payload is invalid"));
+ containsString("Query payload is invalid"));
}
@Test
- public void testStoredQueryWhenStartFilterReturnsZeroVertexesItShouldHandleProperly() throws Exception {
+ public void testStoredQueryWhenStartFilterReturnsZeroVertexesItShouldHandleProperly()
+ throws Exception {
Map<String, String> templateValues = new HashMap<>();
@@ -248,35 +237,27 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
Mockito.when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getPath()).thenReturn(query);
HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
- when(mockRequest.getRequestURL()).thenReturn(new StringBuffer("https://localhost:8446" + query));
-
+ when(mockRequest.getRequestURL())
+ .thenReturn(new StringBuffer("https://localhost:8446" + query));
- Response response = queryConsumer.executeQuery(
- payload,
- version.toString(),
- "resource_and_url", "" +
- "no_op",
- httpHeaders,
- mockRequest,
- uriInfo,
- "-1",
- "-1"
- );
+ Response response = queryConsumer.executeQuery(payload, version.toString(),
+ "resource_and_url", "" + "no_op", httpHeaders, mockRequest, uriInfo, "-1", "-1");
String entity = response.getEntity().toString();
- assertEquals("Expected the response to be 404 but got this returned: " + entity,
- 404, response.getStatus());
+ assertEquals("Expected the response to be 404 but got this returned: " + entity, 404,
+ response.getStatus());
- assertThat(entity, containsString("Start URI returned no vertexes, please check the start URI"));
+ assertThat(entity,
+ containsString("Start URI returned no vertexes, please check the start URI"));
}
@After
- public void tearDown(){
+ public void tearDown() {
removeVertexes();
}
- private void removeVertexes(){
+ private void removeVertexes() {
JanusGraph JanusGraph = AAIGraph.getInstance().getGraph();
JanusGraphTransaction transaction = JanusGraph.newTransaction();
@@ -286,12 +267,12 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
try {
GraphTraversalSource g = transaction.traversal();
g.V().has("source-of-truth", "JUNIT").toList().stream()
- .forEach((vertex) -> vertex.remove());
- } catch(Exception ex){
+ .forEach((vertex) -> vertex.remove());
+ } catch (Exception ex) {
success = false;
logger.error("Unable to remove all of the junit vservers due to {}", ex);
} finally {
- if(success){
+ if (success) {
transaction.commit();
} else {
transaction.rollback();
@@ -300,7 +281,7 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
}
- private void addVservers(int vserversCount){
+ private void addVservers(int vserversCount) {
JanusGraph JanusGraph = AAIGraph.getInstance().getGraph();
JanusGraphTransaction transaction = JanusGraph.newTransaction();
@@ -310,20 +291,19 @@ public class GfpVserverDataStoredQueryTest extends AAISetup{
try {
GraphTraversalSource g = transaction.traversal();
- for(int index = 0; index < vserversCount; index++){
+ for (int index = 0; index < vserversCount; index++) {
String randomVserverId = UUID.randomUUID().toString();
g.addV().property("aai-node-type", "vserver")
- .property( "vserver-id", "random-" + randomVserverId)
- .property( "vserver-name", "junit-vservers")
- .property( "source-of-truth", "JUNIT")
- .next();
+ .property("vserver-id", "random-" + randomVserverId)
+ .property("vserver-name", "junit-vservers").property("source-of-truth", "JUNIT")
+ .next();
}
- } catch(Exception ex){
+ } catch (Exception ex) {
success = false;
logger.error("Unable to add all of the vservers due to {}", ex);
} finally {
- if(success){
+ if (success) {
transaction.commit();
} else {
transaction.rollback();
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/QueryConsumerTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/QueryConsumerTest.java
index 2570690..cfb81d4 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/QueryConsumerTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/QueryConsumerTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,19 @@
*/
package org.onap.aai.rest;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.StringContains.containsString;
+import static org.junit.Assert.*;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Base64;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.ws.rs.core.Response;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraphTransaction;
import org.junit.After;
@@ -32,9 +45,11 @@ import org.onap.aai.TraversalTestConfiguration;
import org.onap.aai.config.PropertyPasswordConfiguration;
import org.onap.aai.dbmap.AAIGraph;
import org.onap.aai.exceptions.AAIException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.*;
import org.springframework.test.context.ContextConfiguration;
@@ -42,171 +57,160 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Base64;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.ws.rs.core.Response;
-
-import static org.hamcrest.core.Is.is;
-import static org.hamcrest.core.StringContains.containsString;
-import static org.junit.Assert.*;
-
@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(locations = "classpath:application-test.properties")
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
@Import(TraversalTestConfiguration.class)
public class QueryConsumerTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(QueryConsumerTest.class);
- private HttpTestUtil httpTestUtil;
-
- private String pserverUri;
-
- @Autowired
- RestTemplate restTemplate;
-
- @LocalServerPort
- int randomPort;
-
- private HttpEntity httpEntity;
-
- private HttpHeaders headers;
-
- private String baseUrl;
-
- private String cloudRegionUri;
-
- @Before
- public void setup() throws Exception {
-
- headers = new HttpHeaders();
- headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
- headers.setContentType(MediaType.APPLICATION_JSON);
- headers.add("Real-Time", "true");
- headers.add("X-FromAppId", "JUNIT");
- headers.add("X-TransactionId", "JUNIT");
- String authorization = Base64.getEncoder().encodeToString("AAI:AAI".getBytes("UTF-8"));
- headers.add("Authorization", "Basic " + authorization);
- baseUrl = "http://localhost:" + randomPort;
- httpTestUtil = new HttpTestUtil();
- addPserver();
-
- }
-
- private void addPserver() throws Exception, UnsupportedEncodingException, AAIException {
- String hostname = "test-" + UUID.randomUUID().toString();
- pserverUri = "/aai/v11/cloud-infrastructure/pservers/pserver/" + hostname;
- Map<String, String> pserverMap = new HashMap<>();
- pserverMap.put("hostname", hostname);
- String payload = PayloadUtil.getTemplatePayload("pserver.json", pserverMap);
- httpTestUtil.doPut(pserverUri, payload);
- }
-
- private void addCloudRegion(Map<String, String> cloudRegionMap, String cloudRegionUri)
- throws Exception, UnsupportedEncodingException, AAIException {
- String cloudRegionPayload = PayloadUtil.getTemplatePayload("cloud-region-with-vserver.json", cloudRegionMap);
- Response response = httpTestUtil.doPut(cloudRegionUri, cloudRegionPayload);
- }
-
- private void addComplex(Map<String, String> complexMap, String complexUri)
- throws Exception, UnsupportedEncodingException, AAIException {
- String complexPayload = PayloadUtil.getTemplatePayload("complex.json", complexMap);
- Response response = httpTestUtil.doPut(complexUri, complexPayload);
- }
-
-// @Test
- public void testRequiredAGood() throws Exception {
- String endpoint = "/aai/v14/query?format=pathed";
- Map<String, String> cloudRegionMap = new HashMap<>();
- cloudRegionMap.put("cloud-owner", "test-owner-id1111");
- cloudRegionMap.put("cloud-region-id", "test-region-id1111");
- cloudRegionMap.put("tenant-id", "test-tenant-id1111");
- cloudRegionMap.put("tenant-name", "test-tenant-name-id1111");
- cloudRegionMap.put("vserver-id", "some-vserver-id-id1111");
- cloudRegionMap.put("vserver-name", "test-vserver-name-id1111");
- cloudRegionMap.put("pserver-uri", pserverUri);
- cloudRegionUri = "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/test-owner-id1111/test-region-id1111";
- addCloudRegion(cloudRegionMap, cloudRegionUri);
-
- Map<String, String> complexMap = new HashMap<>();
- complexMap.put("physical-location-id", "location-1111");
- complexMap.put("cloud-region-uri", cloudRegionUri);
- String complexUri = "/aai/v14/cloud-infrastructure/complexes/complex/location-1111";
- addComplex(complexMap, complexUri);
-
- Map<String, String> customQueryMap = new HashMap<>();
-
- customQueryMap.put("start", "cloud-infrastructure/cloud-regions");
- customQueryMap.put("query", "cloud-region-sites?owner=test-owner-id1111");
-
- String payload = PayloadUtil.getTemplatePayload("custom-query.json", customQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.info("Response of custom query : {}", responseEntity.getBody().toString());
- assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
-
- // assertThat(responseEntity.getBody().toString(),
- // containsString(customerUri2));
- }
-
- @Test
- public void testRequiredBad() throws Exception {
- String endpoint = "/aai/v14/query?format=pathed";
- Map<String, String> cloudRegionMap = new HashMap<>();
- cloudRegionMap.put("cloud-owner", "test-owner-id2222");
- cloudRegionMap.put("cloud-region-id", "test-region-id2222");
- cloudRegionMap.put("tenant-id", "test-tenant-id2222");
- cloudRegionMap.put("tenant-name", "test-tenant-name-id2222");
- cloudRegionMap.put("vserver-id", "some-vserver-id-id2222");
- cloudRegionMap.put("vserver-name", "test-vserver-name-id2222");
- cloudRegionMap.put("pserver-uri", pserverUri);
- cloudRegionUri = "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/test-owner-id2222/test-region-id2222";
- addCloudRegion(cloudRegionMap, cloudRegionUri);
-
- Map<String, String> customQueryMap = new HashMap<>();
-
- customQueryMap.put("start", "cloud-infrastructure/cloud-regions");
- customQueryMap.put("query", "cloud-region-sites?owner=test-owner-id2222&extra=extraParam");
-
- String payload = PayloadUtil.getTemplatePayload("custom-query.json", customQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity,
- String.class);
- LOGGER.info("Response of custom query : {}", responseEntity.getBody().toString());
- assertThat(responseEntity.getStatusCode(), is(HttpStatus.BAD_REQUEST));
-
- assertThat(responseEntity.getBody().toString(), containsString("3022"));
- }
-
- @After
- public void tearDown() {
-
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
- g.V().has("source-of-truth", "JUNIT").toList().forEach(v -> v.remove());
-
- } catch (Exception ex) {
- success = false;
- LOGGER.error("Unable to remove the vertexes", ex);
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to teardown the graph");
- }
- }
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(QueryConsumerTest.class);
+ private HttpTestUtil httpTestUtil;
+
+ private String pserverUri;
+
+ @Autowired
+ RestTemplate restTemplate;
+
+ @LocalServerPort
+ int randomPort;
+
+ private HttpEntity httpEntity;
+
+ private HttpHeaders headers;
+
+ private String baseUrl;
+
+ private String cloudRegionUri;
+
+ @Before
+ public void setup() throws Exception {
+
+ headers = new HttpHeaders();
+ headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ headers.add("Real-Time", "true");
+ headers.add("X-FromAppId", "JUNIT");
+ headers.add("X-TransactionId", "JUNIT");
+ String authorization = Base64.getEncoder().encodeToString("AAI:AAI".getBytes("UTF-8"));
+ headers.add("Authorization", "Basic " + authorization);
+ baseUrl = "http://localhost:" + randomPort;
+ httpTestUtil = new HttpTestUtil();
+ addPserver();
+
+ }
+
+ private void addPserver() throws Exception, UnsupportedEncodingException, AAIException {
+ String hostname = "test-" + UUID.randomUUID().toString();
+ pserverUri = "/aai/v11/cloud-infrastructure/pservers/pserver/" + hostname;
+ Map<String, String> pserverMap = new HashMap<>();
+ pserverMap.put("hostname", hostname);
+ String payload = PayloadUtil.getTemplatePayload("pserver.json", pserverMap);
+ httpTestUtil.doPut(pserverUri, payload);
+ }
+
+ private void addCloudRegion(Map<String, String> cloudRegionMap, String cloudRegionUri)
+ throws Exception, UnsupportedEncodingException, AAIException {
+ String cloudRegionPayload =
+ PayloadUtil.getTemplatePayload("cloud-region-with-vserver.json", cloudRegionMap);
+ Response response = httpTestUtil.doPut(cloudRegionUri, cloudRegionPayload);
+ }
+
+ private void addComplex(Map<String, String> complexMap, String complexUri)
+ throws Exception, UnsupportedEncodingException, AAIException {
+ String complexPayload = PayloadUtil.getTemplatePayload("complex.json", complexMap);
+ Response response = httpTestUtil.doPut(complexUri, complexPayload);
+ }
+
+ // @Test
+ public void testRequiredAGood() throws Exception {
+ String endpoint = "/aai/v14/query?format=pathed";
+ Map<String, String> cloudRegionMap = new HashMap<>();
+ cloudRegionMap.put("cloud-owner", "test-owner-id1111");
+ cloudRegionMap.put("cloud-region-id", "test-region-id1111");
+ cloudRegionMap.put("tenant-id", "test-tenant-id1111");
+ cloudRegionMap.put("tenant-name", "test-tenant-name-id1111");
+ cloudRegionMap.put("vserver-id", "some-vserver-id-id1111");
+ cloudRegionMap.put("vserver-name", "test-vserver-name-id1111");
+ cloudRegionMap.put("pserver-uri", pserverUri);
+ cloudRegionUri =
+ "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/test-owner-id1111/test-region-id1111";
+ addCloudRegion(cloudRegionMap, cloudRegionUri);
+
+ Map<String, String> complexMap = new HashMap<>();
+ complexMap.put("physical-location-id", "location-1111");
+ complexMap.put("cloud-region-uri", cloudRegionUri);
+ String complexUri = "/aai/v14/cloud-infrastructure/complexes/complex/location-1111";
+ addComplex(complexMap, complexUri);
+
+ Map<String, String> customQueryMap = new HashMap<>();
+
+ customQueryMap.put("start", "cloud-infrastructure/cloud-regions");
+ customQueryMap.put("query", "cloud-region-sites?owner=test-owner-id1111");
+
+ String payload = PayloadUtil.getTemplatePayload("custom-query.json", customQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.info("Response of custom query : {}", responseEntity.getBody().toString());
+ assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK));
+
+ // assertThat(responseEntity.getBody().toString(),
+ // containsString(customerUri2));
+ }
+
+ @Test
+ public void testRequiredBad() throws Exception {
+ String endpoint = "/aai/v14/query?format=pathed";
+ Map<String, String> cloudRegionMap = new HashMap<>();
+ cloudRegionMap.put("cloud-owner", "test-owner-id2222");
+ cloudRegionMap.put("cloud-region-id", "test-region-id2222");
+ cloudRegionMap.put("tenant-id", "test-tenant-id2222");
+ cloudRegionMap.put("tenant-name", "test-tenant-name-id2222");
+ cloudRegionMap.put("vserver-id", "some-vserver-id-id2222");
+ cloudRegionMap.put("vserver-name", "test-vserver-name-id2222");
+ cloudRegionMap.put("pserver-uri", pserverUri);
+ cloudRegionUri =
+ "/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/test-owner-id2222/test-region-id2222";
+ addCloudRegion(cloudRegionMap, cloudRegionUri);
+
+ Map<String, String> customQueryMap = new HashMap<>();
+
+ customQueryMap.put("start", "cloud-infrastructure/cloud-regions");
+ customQueryMap.put("query", "cloud-region-sites?owner=test-owner-id2222&extra=extraParam");
+
+ String payload = PayloadUtil.getTemplatePayload("custom-query.json", customQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ LOGGER.info("Response of custom query : {}", responseEntity.getBody().toString());
+ assertThat(responseEntity.getStatusCode(), is(HttpStatus.BAD_REQUEST));
+
+ assertThat(responseEntity.getBody().toString(), containsString("3022"));
+ }
+
+ @After
+ public void tearDown() {
+
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+ g.V().has("source-of-truth", "JUNIT").toList().forEach(v -> v.remove());
+
+ } catch (Exception ex) {
+ success = false;
+ LOGGER.error("Unable to remove the vertexes", ex);
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to teardown the graph");
+ }
+ }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/RecentApiTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/RecentApiTest.java
index 10ff7b9..d9d1809 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/RecentApiTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/RecentApiTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,144 +19,165 @@
*/
package org.onap.aai.rest;
+import static org.junit.Assert.*;
+
+import com.att.eelf.configuration.EELFManager;
+
+import java.util.Collections;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraphTransaction;
import org.junit.Test;
import org.onap.aai.dbmap.AAIGraph;
-import org.springframework.http.*;
-import org.springframework.web.util.UriComponentsBuilder;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.att.eelf.configuration.EELFManager;
-
-import java.util.Collections;
-
-import static org.junit.Assert.*;
+import org.springframework.http.*;
+import org.springframework.web.util.UriComponentsBuilder;
public class RecentApiTest extends AbstractSpringRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(RecentApiTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
- g.addV().property("aai-node-type", "pserver").property("hostname", "test-pserver-recents")
- .property("in-maint", false).property("source-of-truth", "JUNIT")
- .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-recents").next();
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- @Test
- public void testRecentsQuery() {
-
- String endpoint = "/aai/recents/v14/pserver";
- httpEntity = new HttpEntity(headers);
- UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "190");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
- LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
-
- // Check different application xml headers for accept
- headers.set("Accept", "application/xml");
- httpEntity = new HttpEntity(headers);
-
- responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
- LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
-
- headers.set("Accept", "application/xml; charset=UTF-8");
- httpEntity = new HttpEntity(headers);
-
- responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
- LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- }
-
- @Test
- public void testRecentsHoursWrongNumber() {
- String endpoint = "/aai/recents/v14/pserver";
- httpEntity = new HttpEntity(headers);
- UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "1900000000000000000000000000000000000000000000000");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
-
- LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
- }
-
- @Test
- public void testRecentsStartTimeWrongNumber() {
- String endpoint = "/aai/recents/v14/pserver";
- httpEntity = new HttpEntity(headers);
- UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("date-time", "190000000000000000000000000000000000000000000");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
-
- LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
- }
-
- @Test
- public void testRecentsQueryException() {
- String endpoint = "/aai/recents/v14/xserver";
- httpEntity = new HttpEntity(headers);
- UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "190");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
-
- LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
- }
-
- @Test
- public void testRecentsQueryExceptionHours() {
- String endpoint = "/aai/recents/v14/pserver";
- httpEntity = new HttpEntity(headers);
- UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "200");
-
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
- responseEntity.getStatusCode());
-
- }
-
- @Test
- public void testRecentsQueryExceptionDateTime() {
- String endpoint = "/aai/recents/v14/pserver";
- httpEntity = new HttpEntity(headers);
- UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("date-time",
- "200");
-
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity,
- String.class);
- LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
- assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
- responseEntity.getStatusCode());
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(RecentApiTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+ g.addV().property("aai-node-type", "pserver")
+ .property("hostname", "test-pserver-recents").property("in-maint", false)
+ .property("source-of-truth", "JUNIT")
+ .property("aai-uri", "/cloud-infrastructure/pservers/pserver/test-pserver-recents")
+ .next();
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ @Test
+ public void testRecentsQuery() {
+
+ String endpoint = "/aai/recents/v14/pserver";
+ httpEntity = new HttpEntity(headers);
+ UriComponentsBuilder builder =
+ UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "190");
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+
+ // Check different application xml headers for accept
+ headers.set("Accept", "application/xml");
+ httpEntity = new HttpEntity(headers);
+
+ responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+
+ headers.set("Accept", "application/xml; charset=UTF-8");
+ httpEntity = new HttpEntity(headers);
+
+ responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testRecentsHoursWrongNumber() {
+ String endpoint = "/aai/recents/v14/pserver";
+ httpEntity = new HttpEntity(headers);
+ UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint)
+ .queryParam("hours", "1900000000000000000000000000000000000000000000000");
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+
+ LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testRecentsStartTimeWrongNumber() {
+ String endpoint = "/aai/recents/v14/pserver";
+ httpEntity = new HttpEntity(headers);
+ UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint)
+ .queryParam("date-time", "190000000000000000000000000000000000000000000");
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+
+ LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testRecentsQueryException() {
+ String endpoint = "/aai/recents/v14/xserver";
+ httpEntity = new HttpEntity(headers);
+ UriComponentsBuilder builder =
+ UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "190");
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+
+ LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+ }
+
+ @Test
+ public void testRecentsQueryExceptionHours() {
+ String endpoint = "/aai/recents/v14/pserver";
+ httpEntity = new HttpEntity(headers);
+ UriComponentsBuilder builder =
+ UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("hours", "200");
+
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+
+ }
+
+ @Test
+ public void testRecentsQueryExceptionDateTime() {
+ String endpoint = "/aai/recents/v14/pserver";
+ httpEntity = new HttpEntity(headers);
+ UriComponentsBuilder builder =
+ UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint).queryParam("date-time", "200");
+
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ LOGGER.debug("Response for PUT request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
+ assertNotNull("Response from /aai/recents/v14/pserver is null", responseEntity);
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/SearchProviderRestTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/SearchProviderRestTest.java
index 6980753..c36ef6b 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/SearchProviderRestTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/SearchProviderRestTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,20 +19,21 @@
*/
package org.onap.aai.rest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.att.eelf.configuration.EELFManager;
-import org.junit.Test;
-import org.springframework.http.*;
-import org.springframework.web.util.UriComponentsBuilder;
-
-import java.util.Collections;
-
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import com.att.eelf.configuration.EELFManager;
+
+import java.util.Collections;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.*;
+import org.springframework.web.util.UriComponentsBuilder;
+
public class SearchProviderRestTest extends AbstractSpringRestTest {
private static final Logger LOGGER = LoggerFactory.getLogger(SearchProviderRestTest.class);
@@ -45,15 +46,18 @@ public class SearchProviderRestTest extends AbstractSpringRestTest {
httpEntity = new HttpEntity(headers);
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint)
- .queryParam("key", "cloud-region.cloud-owner:test-aic")
- .queryParam("include", "cloud-region");
+ .queryParam("key", "cloud-region.cloud-owner:test-aic")
+ .queryParam("include", "cloud-region");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
- LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
+ LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
assertNotNull("Response from /aai/latest/search is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
}
@Test
@@ -64,19 +68,22 @@ public class SearchProviderRestTest extends AbstractSpringRestTest {
httpEntity = new HttpEntity(headers);
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint)
- .queryParam("key", "cloud-region.cloud-owner:test-aic")
- .queryParam("include", "cloud-region");
+ .queryParam("key", "cloud-region.cloud-owner:test-aic")
+ .queryParam("include", "cloud-region");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
- LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
+ LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
assertNotNull("Response from /aai/latest/search is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
}
@Test
- public void testGenericQueryBypassTimeout(){
+ public void testGenericQueryBypassTimeout() {
headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
@@ -88,16 +95,18 @@ public class SearchProviderRestTest extends AbstractSpringRestTest {
String endpoint = "/aai/latest/search/generic-query";
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl + endpoint)
- .queryParam("key", "cloud-region.cloud-owner:test-aic")
- .queryParam("include", "cloud-region")
- .queryParam("start-node-type", "cloud-region");
+ .queryParam("key", "cloud-region.cloud-owner:test-aic")
+ .queryParam("include", "cloud-region").queryParam("start-node-type", "cloud-region");
- ResponseEntity responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(builder.toUriString(), HttpMethod.GET, httpEntity, String.class);
- LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(), responseEntity.getBody());
+ LOGGER.debug("Response for GET request with uri {} : {}", builder.toUriString(),
+ responseEntity.getBody());
assertNotNull("Response from /aai/latest/search is null", responseEntity);
- assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
+ assertEquals("Expected the response to be 400", HttpStatus.BAD_REQUEST,
+ responseEntity.getStatusCode());
assertThat(responseEntity.getBody().toString(), containsString("4009"));
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslContextTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslContextTest.java
index e85e250..9c89964 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslContextTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslContextTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,17 +18,17 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.aai.rest.dsl;
+package org.onap.aai.rest.dsl;
-import org.antlr.v4.runtime.ParserRuleContext;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.Assert.*;
import java.util.Deque;
import java.util.List;
-import static org.junit.Assert.*;
+import org.antlr.v4.runtime.ParserRuleContext;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
public class DslContextTest {
DslContext dslContext;
@@ -36,7 +36,7 @@ public class DslContextTest {
@Before
public void setUp() {
- dslContext= new DslContext();
+ dslContext = new DslContext();
dslContext.setCtx(null);
}
@@ -135,15 +135,13 @@ public class DslContextTest {
}
@Test
- public void testSetValidationFlag()
- {
+ public void testSetValidationFlag() {
dslContext.setValidationFlag(true);
Assert.assertTrue(dslContext.isValidationFlag());
}
@Test
- public void testUnionStartNodes()
- {
+ public void testUnionStartNodes() {
dslContext.setUnionStartNodes(null);
assertNull(dslContext.getUnionStartNodes());
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryBuilderTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryBuilderTest.java
index fe75d80..159485f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryBuilderTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryBuilderTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -24,35 +24,30 @@ import static org.junit.Assert.assertSame;
import java.util.HashSet;
-import org.onap.aai.introspection.Loader;
import org.junit.Before;
import org.junit.Test;
import org.onap.aai.edges.EdgeIngestor;
-
-
+import org.onap.aai.introspection.Loader;
public class DslQueryBuilderTest {
DslQueryBuilder dslQueryBuilder;
-
+
@Before
- public void setUp()
- {
- EdgeIngestor edgeIngestor= new EdgeIngestor(new HashSet<>());
- dslQueryBuilder= new DslQueryBuilder(edgeIngestor, null);
+ public void setUp() {
+ EdgeIngestor edgeIngestor = new EdgeIngestor(new HashSet<>());
+ dslQueryBuilder = new DslQueryBuilder(edgeIngestor, null);
}
-
+
@Test
- public void testQuery()
- {
- StringBuilder query= new StringBuilder();
+ public void testQuery() {
+ StringBuilder query = new StringBuilder();
dslQueryBuilder.setQuery(query);
assertSame(query, dslQueryBuilder.getQuery());
}
-
+
@Test
- public void testQueryException()
- {
- StringBuilder queryException= new StringBuilder();
+ public void testQueryException() {
+ StringBuilder queryException = new StringBuilder();
dslQueryBuilder.setQueryException(queryException);
assertSame(queryException, dslQueryBuilder.getQueryException());
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV1Test.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV1Test.java
index aa3e297..8d90b5e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV1Test.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV1Test.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,582 +19,682 @@
*/
package org.onap.aai.rest.dsl;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+
+import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.Ignore;
import org.junit.rules.ExpectedException;
import org.onap.aai.AAISetup;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.rest.enums.QueryVersion;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
/**
* The Class DslMain.
*/
public class DslQueryProcessorV1Test extends AAISetup {
- @Rule
- public ExpectedException expectedEx = ExpectedException.none();
-
- @Test
- public void dbAliasTest() throws AAIException {
- String aaiQuery = "logical-link* ('model-invariant-id','invid')";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('model-invariant-id-local','invid')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void apostropheTest() throws AAIException {
- String aaiQuery = "logical-link*('link-id','dsl\\'link')";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('link-id','dsl\\'link')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void parseCancellationExceptionTest() throws AAIException {
- boolean thrown = false;
- String aaiQuery = "logical-link*('link-id','dsl\\'link)";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('link-id','dsl\\'link')"
- + ".store('x').cap('x').unfold().dedup()";
-
- try {
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
- } catch (AAIException e) {
- thrown = true;
- }
- assertTrue(thrown);
- }
-
- @Test
- public void cloudRegionFromVnf() throws AAIException {
- String aaiQuery = "generic-vnf*('vnf-name','xyz') > [ vnfc* > vserver* > [pserver*, tenant* > cloud-region*], "+
- "vserver* > [pserver*, tenant* > cloud-region*] ]";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-name','xyz').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')."
- +"createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x').union(builder.newInstance().createEdgeTraversal"
- +"(EdgeType.COUSIN, 'vserver','pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant')"
- +".store('x').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')),builder.newInstance().createEdgeTraversal"
- +"(EdgeType.COUSIN, 'generic-vnf','vserver').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver'"
- +",'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x').createEdgeTraversal"
- +"(EdgeType.TREE, 'tenant','cloud-region').store('x'))).cap('x').unfold().dedup()";
-
-
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegionSites() throws AAIException {
- String aaiQuery = "cloud-region*('cloud-owner','xyz') > complex*";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner'"
- +",'xyz').store('x').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void pserverWithNoComplexTest() throws AAIException {
- String aaiQuery = "pserver*('hostname','xyz')!(> complex)";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').where(builder.newInstance().not("
- +"builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void pserverWhereNotTest() throws AAIException {
- String aaiQuery = "pserver('hostname','xyz')>vserver*!(> vnfc > configuration))";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').createEdgeTraversal" +
- "(EdgeType.COUSIN, 'pserver','vserver').where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN,"+
- " 'vserver','vnfc').createEdgeTraversal(EdgeType.COUSIN, 'vnfc','configuration'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void singleNode1() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid')";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void singleNodeLimit() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT 10";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".store('x').cap('x').unfold().dedup().limit(10)";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void specialCharacterTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,') LIMIT 10";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,')"
- + ".store('x').cap('x').unfold().dedup().limit(10)";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void singleNodeLimitBlah() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT blah";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
-
- expectedEx.expect(org.onap.aai.exceptions.AAIException.class);
- expectedEx.expectMessage("DSL Syntax Error while processing the query");
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- }
-
- @Test
- public void singleNodeLimitNull() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT ";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
-
- expectedEx.expect(org.onap.aai.exceptions.AAIException.class);
- expectedEx.expectMessage("DSL Syntax Error while processing the query");
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- }
-
- @Test
- public void cloudRegion1Test() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid')('cloud-region-id','cr id') LIMIT 10";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegion_entitlementTest() throws AAIException {
-
- /*
- A store within a where makes no sense
- */
- String aaiQuery = "generic-vnf('vnf-id','vnfId') ( > vserver > tenant > cloud-region('cloud-region-id','One')) > entitlement*";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
- + ".getVerticesByProperty('cloud-region-id','One'))"
- + ".createEdgeTraversal(EdgeType.TREE, 'generic-vnf','entitlement').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegion_entitlementTestWithLabels() throws AAIException {
-
- String aaiQuery = "generic-vnf('vnf-id','vnfId') (> ('tosca.relationships.HostedOn') vserver > ('org.onap.relationships.inventory.BelongsTo') tenant > ('org.onap.relationships.inventory.BelongsTo') cloud-region('cloud-region-id','One')) > ('org.onap.relationships.inventory.ComposedOf')service-instance*";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
- + "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).createEdgeTraversalWithLabels( 'vserver','tenant', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).createEdgeTraversalWithLabels( 'tenant','cloud-region', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo')))"
- + ".getVerticesByProperty('cloud-region-id','One'))"
- + ".createEdgeTraversalWithLabels( 'generic-vnf','service-instance', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.ComposedOf'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void complex_az_fromComplexTest() throws AAIException {
-
- String aaiQuery = "cloud-region('cloud-owner','coid')('cloud-region-id','crid') > [ availability-zone* , complex*]";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
- + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
- + ".union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'cloud-region','availability-zone').store('x')"
- + ",builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x')).cap('x').unfold().dedup()";
-
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void complex_az_fromComplexTestWithLabels() throws AAIException {
-
- String aaiQuery = "cloud-region('cloud-owner','coid')('cloud-region-id','crid') > [ ('org.onap.relationships.inventory.BelongsTo')availability-zone* , ('org.onap.relationships.inventory.LocatedIn')complex*]";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
- + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
- + ".union(builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','availability-zone', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x')"
- + ",builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','complex', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.LocatedIn'))).store('x')).cap('x').unfold().dedup()";
-
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegion_fromComplex1Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x').cap('x').unfold().dedup()";
- String aaiQuery = "complex('data-center-code','data-center-code-name') > cloud-region*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloudRegion_fromComplex2Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').getVerticesByProperty('cloud-region-version','crv')"
- + ".store('x').cap('x').unfold().dedup()";
- String aaiQuery = "complex('data-center-code','data-center-code-name') > cloud-region*('cloud-region-version','crv')";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloudRegion_fromNfTypeTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','F5')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver')"
- + ".where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('vnf-name','ZALL1MMSC03'))"
- + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "image('application-vendor','F5') > vserver (> generic-vnf('vnf-name','ZALL1MMSC03')) > tenant > cloud-region*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloudRegion_fromNfTypeVendorVersionTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','vendor')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver').where("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('nf-type','nfType')"
- + ").createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "image('application-vendor','vendor') > vserver(> generic-vnf('nf-type', 'nfType') ) > tenant > cloud-region*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloud_region_fromVnfTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x')"
- + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x')"
- + ".createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')"
- + ".cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf('vnf-id','vnfId') > vnfc* > vserver* > tenant* > cloud-region*";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloud_region_sitesTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')."
- + "getVerticesByProperty('cloud-owner','co').store('x').createEdgeTraversal(EdgeType.COUSIN, "
- + "'cloud-region','complex').store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "cloud-region*('cloud-owner','co') > complex*";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void complex_fromVnf2Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
- + ").cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') > [ pserver* > complex*, "
- + " vserver > pserver* > complex* " + "]";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void complex_fromVnfTest2() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
- + ".cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') > [ pserver* , "
- + " vserver > pserver* ] > complex*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void fn_topology1Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'customer')"
- + ".getVerticesByProperty('global-customer-id','a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb')"
- + ".createEdgeTraversal(EdgeType.TREE, 'customer','service-subscription').getVerticesByProperty('service-subscription-id','Nimbus')"
- + ".createEdgeTraversal(EdgeType.TREE, 'service-subscription','service-instance').getVerticesByProperty('service-instance-id','sid')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'service-instance','generic-vnf').store('x')"
- + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pnf').store('x')).cap('x').unfold().dedup()";
-
- String aaiQuery = "customer('global-customer-id', 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb') > service-subscription('service-subscription-id', 'Nimbus') "
- + " > service-instance('service-instance-id','sid') > generic-vnf* "
- + " > [ vnfc* , vserver*, pserver* , pnf* ]";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void vnf_Dsl() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver')"
- + ".getVerticesByProperty('hostname','hostname1'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))).store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') (> [ pserver('hostname','hostname1'), "
- + " vserver > pserver('hostname','hostname1')])";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void hasPropertyTest() throws AAIException {
- String aaiQuery = "cloud-region* ('cloud-owner')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region* ('cloud-owner','cloud-owner1','cloud-owner2')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasNotPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','cloud-owner1','cloud-owner2')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasNotPropertyNullValuesTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner',' ',' null ')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList(' ',' null '))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Ignore
- @Test
- public void hasPropertyIntegerTest() throws AAIException {
- String aaiQuery = "cloud-region('cloud-owner', 'att-nc')('cloud-region-id', 'MTN61a') > vlan-range > vlan-tag*('vlan-id-inner', 20)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','att-nc').getVerticesByProperty('cloud-region-id','MTN61a')"
- + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag').getVerticesByProperty('vlan-id-inner',20).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void noEdgeRuleTest() throws AAIException {
- String aaiQuery = "vserver('vserver-id','abc') > logical-link* > l-interface*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','logical-link').store('x').createEdgeTraversal('logical-link','l-interface').store('x')cap('x').unfold().dedup()";
- expectedEx.expect(org.onap.aai.exceptions.AAIException.class);
- expectedEx.expectMessage("No EdgeRule found for passed nodeTypes: vserver, logical-link");
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void multipleEdgeRuleTest() throws AAIException {
- String aaiQuery = "vserver('vserver-id','abc') > l-interface* > lag-interface*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversal( 'l-interface','lag-interface').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void multipleEdgeRuleTestWithLabels() throws AAIException {
- String aaiQuery = "vserver('vserver-id','abc') > l-interface* > ('org.onap.relationships.inventory.BelongsTo') lag-interface*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversalWithLabels( 'l-interface','lag-interface', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasNotPropertyTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void overlyNestedQueryTest() throws AAIException {
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') (> [ pserver('hostname','hostname1'), vserver (> [ pserver('hostname','hostname1'), pserver('hostname','hostname1')])]) > vserver";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union" +
- "(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').getVerticesByProperty('hostname','hostname1')," +
- "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').where(builder.newInstance().union(builder.newInstance()" +
- ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'),builder.newInstance()." +
- "createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void overlyNestedQueryTestWithLabels() throws AAIException {
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') (> [ ('tosca.relationships.HostedOn')pserver('hostname','hostname1'), ('tosca.relationships.HostedOn')vserver (> [ ('tosca.relationships.HostedOn')pserver('hostname','hostname1'), ('tosca.relationships.HostedOn')pserver('hostname','hostname1')])]) > ('org.onap.relationships.inventory.PartOf')allotted-resource";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union" +
- "(builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1')," +
- "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).where(builder.newInstance().union(builder.newInstance()" +
- ".createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'),builder.newInstance()." +
- "createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversalWithLabels( 'generic-vnf','allotted-resource', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.PartOf'))).cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void getPserverWithAnEdgeToComplexAndCloudRegion() throws AAIException {
- String aaiQuery = "pserver*('prov-status')(> complex)(> cloud-region)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region')).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void getPserverWithAnEdgeToComplexButNotToCloudRegion() throws AAIException {
- String aaiQuery = "pserver*('prov-status')(> complex)!(> cloud-region)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void nestedUnionQueryTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
- + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','availability-zone')"
- + ".createEdgeTraversal(EdgeType.TREE, 'availability-zone','cloud-region').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'complex','ctag-pool').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','availability-zone').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','generic-vnf').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','availability-zone').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','vpls-pe').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vpls-pe','complex').store('x'))"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'))"
- + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','tenant').store('x')"
- + ".cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') > [ pserver* , "
- + " vserver > pserver* ] > complex* > [ availability-zone > cloud-region*, cloud-region*, " +
- " ctag-pool* > [ availability-zone* > complex* , generic-vnf* > availability-zone* > complex*, vpls-pe* > complex*] > cloud-region*] > tenant* " ;
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void booleanPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',true)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void upperCaseBooleanPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',TRUE)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void booleanPropertyTest() throws AAIException {
- String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByProperty('in-maint').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test(expected = AAIException.class)
- public void filterOnUnion_vserverFromTentantFromCloudRegion_BadRequest() throws AAIException {
- String aaiQuery = "cloud-region('cloud-owner', 'test-aic')>[tenant*('tenant-id', 'tenant1'), tenant*('tenant-id', 'tenant2')]('tenant-name', 'tenant1')>[vserver*]";
- dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- }
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
+
+ @Test
+ public void dbAliasTest() throws AAIException {
+ String aaiQuery = "logical-link* ('model-invariant-id','invid')";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('model-invariant-id-local','invid')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void apostropheTest() throws AAIException {
+ String aaiQuery = "logical-link*('link-id','dsl\\'link')";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('link-id','dsl\\'link')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void parseCancellationExceptionTest() throws AAIException {
+ boolean thrown = false;
+ String aaiQuery = "logical-link*('link-id','dsl\\'link)";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('link-id','dsl\\'link')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ try {
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ } catch (AAIException e) {
+ thrown = true;
+ }
+ assertTrue(thrown);
+ }
+
+ @Test
+ public void cloudRegionFromVnf() throws AAIException {
+ String aaiQuery =
+ "generic-vnf*('vnf-name','xyz') > [ vnfc* > vserver* > [pserver*, tenant* > cloud-region*], "
+ + "vserver* > [pserver*, tenant* > cloud-region*] ]";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-name','xyz').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')."
+ + "createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x').union(builder.newInstance().createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'vserver','pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant')"
+ + ".store('x').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')),builder.newInstance().createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'generic-vnf','vserver').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver'"
+ + ",'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x').createEdgeTraversal"
+ + "(EdgeType.TREE, 'tenant','cloud-region').store('x'))).cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegionSites() throws AAIException {
+ String aaiQuery = "cloud-region*('cloud-owner','xyz') > complex*";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner'"
+ + ",'xyz').store('x').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void pserverWithNoComplexTest() throws AAIException {
+ String aaiQuery = "pserver*('hostname','xyz')!(> complex)";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').where(builder.newInstance().not("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void pserverWhereNotTest() throws AAIException {
+ String aaiQuery = "pserver('hostname','xyz')>vserver*!(> vnfc > configuration))";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'pserver','vserver').where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN,"
+ + " 'vserver','vnfc').createEdgeTraversal(EdgeType.COUSIN, 'vnfc','configuration'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void singleNode1() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid')";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void singleNodeLimit() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT 10";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".store('x').cap('x').unfold().dedup().limit(10)";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void specialCharacterTest() throws AAIException {
+ String aaiQuery =
+ "cloud-region* !('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,') LIMIT 10";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,')"
+ + ".store('x').cap('x').unfold().dedup().limit(10)";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void singleNodeLimitBlah() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT blah";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
+
+ expectedEx.expect(org.onap.aai.exceptions.AAIException.class);
+ expectedEx.expectMessage("DSL Syntax Error while processing the query");
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ }
+
+ @Test
+ public void singleNodeLimitNull() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT ";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
+
+ expectedEx.expect(org.onap.aai.exceptions.AAIException.class);
+ expectedEx.expectMessage("DSL Syntax Error while processing the query");
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ }
+
+ @Test
+ public void cloudRegion1Test() throws AAIException {
+ String aaiQuery =
+ "cloud-region* !('cloud-owner','coid')('cloud-region-id','cr id') LIMIT 10";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_entitlementTest() throws AAIException {
+
+ /*
+ * A store within a where makes no sense
+ */
+ String aaiQuery =
+ "generic-vnf('vnf-id','vnfId') ( > vserver > tenant > cloud-region('cloud-region-id','One')) > entitlement*";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
+ + ".getVerticesByProperty('cloud-region-id','One'))"
+ + ".createEdgeTraversal(EdgeType.TREE, 'generic-vnf','entitlement').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_entitlementTestWithLabels() throws AAIException {
+
+ String aaiQuery =
+ "generic-vnf('vnf-id','vnfId') (> ('tosca.relationships.HostedOn') vserver > ('org.onap.relationships.inventory.BelongsTo') tenant > ('org.onap.relationships.inventory.BelongsTo') cloud-region('cloud-region-id','One')) > ('org.onap.relationships.inventory.ComposedOf')service-instance*";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
+ + "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).createEdgeTraversalWithLabels( 'vserver','tenant', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).createEdgeTraversalWithLabels( 'tenant','cloud-region', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo')))"
+ + ".getVerticesByProperty('cloud-region-id','One'))"
+ + ".createEdgeTraversalWithLabels( 'generic-vnf','service-instance', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.ComposedOf'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void complex_az_fromComplexTest() throws AAIException {
+
+ String aaiQuery =
+ "cloud-region('cloud-owner','coid')('cloud-region-id','crid') > [ availability-zone* , complex*]";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
+ + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
+ + ".union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'cloud-region','availability-zone').store('x')"
+ + ",builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x')).cap('x').unfold().dedup()";
+
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void complex_az_fromComplexTestWithLabels() throws AAIException {
+
+ String aaiQuery =
+ "cloud-region('cloud-owner','coid')('cloud-region-id','crid') > [ ('org.onap.relationships.inventory.BelongsTo')availability-zone* , ('org.onap.relationships.inventory.LocatedIn')complex*]";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
+ + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
+ + ".union(builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','availability-zone', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x')"
+ + ",builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','complex', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.LocatedIn'))).store('x')).cap('x').unfold().dedup()";
+
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromComplex1Test() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x').cap('x').unfold().dedup()";
+ String aaiQuery = "complex('data-center-code','data-center-code-name') > cloud-region*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromComplex2Test() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').getVerticesByProperty('cloud-region-version','crv')"
+ + ".store('x').cap('x').unfold().dedup()";
+ String aaiQuery =
+ "complex('data-center-code','data-center-code-name') > cloud-region*('cloud-region-version','crv')";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromNfTypeTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','F5')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver')"
+ + ".where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('vnf-name','ZALL1MMSC03'))"
+ + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "image('application-vendor','F5') > vserver (> generic-vnf('vnf-name','ZALL1MMSC03')) > tenant > cloud-region*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromNfTypeVendorVersionTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','vendor')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver').where("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('nf-type','nfType')"
+ + ").createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "image('application-vendor','vendor') > vserver(> generic-vnf('nf-type', 'nfType') ) > tenant > cloud-region*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloud_region_fromVnfTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')"
+ + ".cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "generic-vnf('vnf-id','vnfId') > vnfc* > vserver* > tenant* > cloud-region*";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloud_region_sitesTest() throws AAIException {
+
+ String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')."
+ + "getVerticesByProperty('cloud-owner','co').store('x').createEdgeTraversal(EdgeType.COUSIN, "
+ + "'cloud-region','complex').store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery = "cloud-region*('cloud-owner','co') > complex*";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void complex_fromVnf2Test() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
+ + ").cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') > [ pserver* > complex*, "
+ + " vserver > pserver* > complex* " + "]";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void complex_fromVnfTest2() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
+ + ".cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') > [ pserver* , "
+ + " vserver > pserver* ] > complex*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void fn_topology1Test() throws AAIException {
+
+ String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'customer')"
+ + ".getVerticesByProperty('global-customer-id','a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'customer','service-subscription').getVerticesByProperty('service-subscription-id','Nimbus')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'service-subscription','service-instance').getVerticesByProperty('service-instance-id','sid')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'service-instance','generic-vnf').store('x')"
+ + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pnf').store('x')).cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "customer('global-customer-id', 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb') > service-subscription('service-subscription-id', 'Nimbus') "
+ + " > service-instance('service-instance-id','sid') > generic-vnf* "
+ + " > [ vnfc* , vserver*, pserver* , pnf* ]";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void vnf_Dsl() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver')"
+ + ".getVerticesByProperty('hostname','hostname1'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))).store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') (> [ pserver('hostname','hostname1'), "
+ + " vserver > pserver('hostname','hostname1')])";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void hasPropertyTest() throws AAIException {
+ String aaiQuery = "cloud-region* ('cloud-owner')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region* ('cloud-owner','cloud-owner1','cloud-owner2')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasNotPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','cloud-owner1','cloud-owner2')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasNotPropertyNullValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner',' ',' null ')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList(' ',' null '))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Ignore
+ @Test
+ public void hasPropertyIntegerTest() throws AAIException {
+ String aaiQuery =
+ "cloud-region('cloud-owner', 'att-nc')('cloud-region-id', 'MTN61a') > vlan-range > vlan-tag*('vlan-id-inner', 20)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','att-nc').getVerticesByProperty('cloud-region-id','MTN61a')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag').getVerticesByProperty('vlan-id-inner',20).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void noEdgeRuleTest() throws AAIException {
+ String aaiQuery = "vserver('vserver-id','abc') > logical-link* > l-interface*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','logical-link').store('x').createEdgeTraversal('logical-link','l-interface').store('x')cap('x').unfold().dedup()";
+ expectedEx.expect(org.onap.aai.exceptions.AAIException.class);
+ expectedEx.expectMessage("No EdgeRule found for passed nodeTypes: vserver, logical-link");
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void multipleEdgeRuleTest() throws AAIException {
+ String aaiQuery = "vserver('vserver-id','abc') > l-interface* > lag-interface*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversal( 'l-interface','lag-interface').store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void multipleEdgeRuleTestWithLabels() throws AAIException {
+ String aaiQuery =
+ "vserver('vserver-id','abc') > l-interface* > ('org.onap.relationships.inventory.BelongsTo') lag-interface*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversalWithLabels( 'l-interface','lag-interface', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasNotPropertyTest() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void overlyNestedQueryTest() throws AAIException {
+ String aaiQuery =
+ "generic-vnf*('vnf-id','vnfId') (> [ pserver('hostname','hostname1'), vserver (> [ pserver('hostname','hostname1'), pserver('hostname','hostname1')])]) > vserver";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union"
+ + "(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').getVerticesByProperty('hostname','hostname1'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').where(builder.newInstance().union(builder.newInstance()"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'),builder.newInstance()."
+ + "createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void overlyNestedQueryTestWithLabels() throws AAIException {
+ String aaiQuery =
+ "generic-vnf*('vnf-id','vnfId') (> [ ('tosca.relationships.HostedOn')pserver('hostname','hostname1'), ('tosca.relationships.HostedOn')vserver (> [ ('tosca.relationships.HostedOn')pserver('hostname','hostname1'), ('tosca.relationships.HostedOn')pserver('hostname','hostname1')])]) > ('org.onap.relationships.inventory.PartOf')allotted-resource";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union"
+ + "(builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'),"
+ + "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).where(builder.newInstance().union(builder.newInstance()"
+ + ".createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'),builder.newInstance()."
+ + "createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversalWithLabels( 'generic-vnf','allotted-resource', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.PartOf'))).cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void getPserverWithAnEdgeToComplexAndCloudRegion() throws AAIException {
+ String aaiQuery = "pserver*('prov-status')(> complex)(> cloud-region)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region')).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void getPserverWithAnEdgeToComplexButNotToCloudRegion() throws AAIException {
+ String aaiQuery = "pserver*('prov-status')(> complex)!(> cloud-region)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void nestedUnionQueryTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
+ + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','availability-zone')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'availability-zone','cloud-region').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'complex','ctag-pool').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','availability-zone').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','generic-vnf').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','availability-zone').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','vpls-pe').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vpls-pe','complex').store('x'))"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'))"
+ + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','tenant').store('x')"
+ + ".cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') > [ pserver* , "
+ + " vserver > pserver* ] > complex* > [ availability-zone > cloud-region*, cloud-region*, "
+ + " ctag-pool* > [ availability-zone* > complex* , generic-vnf* > availability-zone* > complex*, vpls-pe* > complex*] > cloud-region*] > tenant* ";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void booleanPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',true)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void upperCaseBooleanPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',TRUE)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void booleanPropertyTest() throws AAIException {
+ String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByProperty('in-maint').store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test(expected = AAIException.class)
+ public void filterOnUnion_vserverFromTentantFromCloudRegion_BadRequest() throws AAIException {
+ String aaiQuery =
+ "cloud-region('cloud-owner', 'test-aic')>[tenant*('tenant-id', 'tenant1'), tenant*('tenant-id', 'tenant2')]('tenant-name', 'tenant1')>[vserver*]";
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV2Test.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV2Test.java
index 9ff42e0..6d3d69c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV2Test.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/DslQueryProcessorV2Test.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.dsl;
+import static org.junit.Assert.assertEquals;
+
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
@@ -27,597 +29,704 @@ import org.onap.aai.AAISetup;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.rest.enums.QueryVersion;
-import static org.junit.Assert.assertEquals;
-
/**
* The Class DslMain.
*/
public class DslQueryProcessorV2Test extends AAISetup {
- @Rule
- public ExpectedException expectedEx = ExpectedException.none();
-
- @Test
- public void dbAliasTest() throws AAIException {
- String aaiQuery = "logical-link* ('model-invariant-id','invid')";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('model-invariant-id-local','invid')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
- @Test
- public void apostropheTest() throws AAIException {
- String aaiQuery = "logical-link*('link-id','dsl\\'link')";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('link-id','dsl\\'link')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegionFromVnf() throws AAIException {
- String aaiQuery = "generic-vnf*('vnf-name','xyz') [> vnfc* > vserver* [>pserver*, > tenant* > cloud-region*], "+
- "> vserver* [> pserver*, >tenant* > cloud-region*] ]";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-name','xyz').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')."
- +"createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x').union(builder.newInstance().createEdgeTraversal"
- +"(EdgeType.COUSIN, 'vserver','pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant')"
- +".store('x').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')),builder.newInstance().createEdgeTraversal"
- +"(EdgeType.COUSIN, 'generic-vnf','vserver').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver'"
- +",'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x').createEdgeTraversal"
- +"(EdgeType.TREE, 'tenant','cloud-region').store('x'))).cap('x').unfold().dedup()";
-
-
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegionFromVnfWithDirection() throws AAIException {
- String aaiQuery = "generic-vnf*('vnf-name','xyz') [>> vnfc* >> vserver* [>>pserver*, >> tenant* >> cloud-region*], "+
- ">> vserver* [>> pserver*, >>tenant* >> cloud-region*] ]";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-name','xyz').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')."
- +"createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x').union(builder.newInstance().createEdgeTraversal"
- +"(EdgeType.COUSIN, 'vserver','pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant')"
- +".store('x').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')),builder.newInstance().createEdgeTraversal"
- +"(EdgeType.COUSIN, 'generic-vnf','vserver').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver'"
- +",'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x').createEdgeTraversal"
- +"(EdgeType.TREE, 'tenant','cloud-region').store('x'))).cap('x').unfold().dedup()";
-
-
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
- @Test
- public void cloudRegionSites() throws AAIException {
- String aaiQuery = "cloud-region*('cloud-owner','xyz') > complex*";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner'"
- +",'xyz').store('x').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void pserverWithNoComplexTest() throws AAIException {
- String aaiQuery = "pserver*('hostname','xyz')!(> complex)";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').where(builder.newInstance().not("
- +"builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void pserverWhereNotTest() throws AAIException {
- String aaiQuery = "pserver('hostname','xyz')>vserver*!(> vnfc > configuration))";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').createEdgeTraversal" +
- "(EdgeType.COUSIN, 'pserver','vserver').where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN,"+
- " 'vserver','vnfc').createEdgeTraversal(EdgeType.COUSIN, 'vnfc','configuration'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void singleNode1() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid')";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void singleNodeLimit() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT 10";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".store('x').cap('x').unfold().dedup().limit(10)";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void specialCharacterTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,') LIMIT 10";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,')"
- + ".store('x').cap('x').unfold().dedup().limit(10)";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void singleNodeLimitBlah() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT blah";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
-
- expectedEx.expect(AAIException.class);
- expectedEx.expectMessage("DSL Syntax Error while processing the query");
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- }
-
- @Test
- public void singleNodeLimitNull() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT ";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
-
- expectedEx.expect(AAIException.class);
- expectedEx.expectMessage("DSL Syntax Error while processing the query");
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- }
-
- @Test
- public void cloudRegion1Test() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','coid')('cloud-region-id','cr id') LIMIT 10";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
- + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegion_entitlementTest() throws AAIException {
-
- /*
- A store within a where makes no sense
- */
- String aaiQuery = "generic-vnf('vnf-id','vnfId') ( > vserver > tenant > cloud-region('cloud-region-id','One')) > entitlement*";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
- + ".getVerticesByProperty('cloud-region-id','One'))"
- + ".createEdgeTraversal(EdgeType.TREE, 'generic-vnf','entitlement').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegion_entitlementTestWithLabels() throws AAIException {
-
- String aaiQuery = "generic-vnf('vnf-id','vnfId') (> ('tosca.relationships.HostedOn') vserver > ('org.onap.relationships.inventory.BelongsTo') tenant > ('org.onap.relationships.inventory.BelongsTo') cloud-region('cloud-region-id','One')) > ('org.onap.relationships.inventory.ComposedOf')service-instance*";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
- + "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).createEdgeTraversalWithLabels( 'vserver','tenant', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).createEdgeTraversalWithLabels( 'tenant','cloud-region', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo')))"
- + ".getVerticesByProperty('cloud-region-id','One'))"
- + ".createEdgeTraversalWithLabels( 'generic-vnf','service-instance', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.ComposedOf'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void complex_az_fromComplexTest() throws AAIException {
-
- String aaiQuery = "cloud-region('cloud-owner','coid')('cloud-region-id','crid') [> availability-zone* ,> complex*]";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
- + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
- + ".union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'cloud-region','availability-zone').store('x')"
- + ",builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x')).cap('x').unfold().dedup()";
-
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void complex_az_fromComplexTestWithLabels() throws AAIException {
-
- String aaiQuery = "cloud-region('cloud-owner','coid')('cloud-region-id','crid') [> ('org.onap.relationships.inventory.BelongsTo')availability-zone* ,> ('org.onap.relationships.inventory.LocatedIn')complex*]";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
- + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
- + ".union(builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','availability-zone', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x')"
- + ",builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','complex', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.LocatedIn'))).store('x')).cap('x').unfold().dedup()";
-
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void cloudRegion_fromComplex1Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x').cap('x').unfold().dedup()";
- String aaiQuery = "complex('data-center-code','data-center-code-name') > cloud-region*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloudRegion_fromComplex2Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').getVerticesByProperty('cloud-region-version','crv')"
- + ".store('x').cap('x').unfold().dedup()";
- String aaiQuery = "complex('data-center-code','data-center-code-name') > cloud-region*('cloud-region-version','crv')";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloudRegion_fromNfTypeTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','F5')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver')"
- + ".where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('vnf-name','ZALL1MMSC03'))"
- + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "image('application-vendor','F5') > vserver (> generic-vnf('vnf-name','ZALL1MMSC03')) > tenant > cloud-region*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloudRegion_fromNfTypeVendorVersionTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','vendor')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver').where("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('nf-type','nfType')"
- + ").createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
- + ".store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "image('application-vendor','vendor') > vserver(> generic-vnf('nf-type', 'nfType') ) > tenant > cloud-region*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloud_region_fromVnfTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x')"
- + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x')"
- + ".createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')"
- + ".cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf('vnf-id','vnfId') > vnfc* > vserver* > tenant* > cloud-region*";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void cloud_region_sitesTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')."
- + "getVerticesByProperty('cloud-owner','co').store('x').createEdgeTraversal(EdgeType.COUSIN, "
- + "'cloud-region','complex').store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "cloud-region*('cloud-owner','co') > complex*";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void complex_fromVnf2Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
- + ").cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') [ > pserver* > complex*, "
- + " >vserver > pserver* > complex* " + "]";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void complex_fromVnfTest2() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
- + ".cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') [> pserver* , "
- + " > vserver > pserver* ] > complex*";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void fn_topology1Test() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'customer')"
- + ".getVerticesByProperty('global-customer-id','a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb')"
- + ".createEdgeTraversal(EdgeType.TREE, 'customer','service-subscription').getVerticesByProperty('service-subscription-id','Nimbus')"
- + ".createEdgeTraversal(EdgeType.TREE, 'service-subscription','service-instance').getVerticesByProperty('service-instance-id','sid')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'service-instance','generic-vnf').store('x')"
- + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pnf').store('x')).cap('x').unfold().dedup()";
-
- String aaiQuery = "customer('global-customer-id', 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb') > service-subscription('service-subscription-id', 'Nimbus') "
- + " > service-instance('service-instance-id','sid') > generic-vnf* "
- + " [> vnfc* ,> vserver*,> pserver* ,> pnf* ]";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void vnf_Dsl() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver')"
- + ".getVerticesByProperty('hostname','hostname1'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))).store('x').cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') ( [> pserver('hostname','hostname1'), "
- + " > vserver > pserver('hostname','hostname1')])";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void hasPropertyTest() throws AAIException {
- String aaiQuery = "cloud-region* ('cloud-owner')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region* ('cloud-owner','cloud-owner1','cloud-owner2')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasNotPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner','cloud-owner1','cloud-owner2')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasNotPropertyNullValuesTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner',' ',' null ')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList(' ',' null '))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Ignore
- @Test
- public void hasPropertyIntegerTest() throws AAIException {
- String aaiQuery = "cloud-region('cloud-owner', 'att-nc')('cloud-region-id', 'MTN61a') > vlan-range > vlan-tag*('vlan-id-inner', 20)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','att-nc').getVerticesByProperty('cloud-region-id','MTN61a')"
- + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag').getVerticesByProperty('vlan-id-inner',20).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void directionalityTest() throws AAIException {
- String aaiQuery = "cloud-region('cloud-region-id','abc') >> complex* >> l3-network*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-region-id','abc').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x').createEdgeTraversal(EdgeType.COUSIN, 'complex','l3-network').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void enterSelectFilterTest() throws AAIException {
- String aaiQuery = "cloud-region*('cloud-region-id','whp3a'){'cloud-region-id'}";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-region-id','whp3a').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
- assertEquals(query, dslQuery);
- }
-
-
- @Ignore
- @Test
- public void returnSpecificPropsAndAllForDifferentVertices() throws AAIException {
- String aaiQuery = "cloud-region{'cloud-owner'}('cloud-region-id','new-r111egion-111111') > [ l3-network*, vlan-range > vlan-tag*]";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-region-id','new-r111egion-111111').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','l3-network').store('x'),builder.newInstance()"
- + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag').store('x')).cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
- assertEquals(query, dslQuery);
- }
-
- @Test
- public void groupingAttributesTestForAggregate() throws AAIException {
- String aaiQuery = "cloud-region{'cloud-owner'}('cloud-owner','att-nc')('cloud-region-id','wah2a') > vip-ipv6-address-list > [subnet{'subnet-name'}, instance-group{'id'}]";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','att-nc').getVerticesByProperty('cloud-region-id','wah2a').store('x').createEdgeTraversal(EdgeType.TREE, 'cloud-region','vip-ipv6-address-list').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vip-ipv6-address-list','subnet').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vip-ipv6-address-list','instance-group').store('x')).cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
- assertEquals(query, dslQuery);
- }
-
- @Test
- public void multipleEdgeRuleTest() throws AAIException {
- String aaiQuery = "vserver('vserver-id','abc') > l-interface* > lag-interface*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversal( 'l-interface','lag-interface').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void multipleEdgeRuleTestWithLabels() throws AAIException {
- String aaiQuery = "vserver('vserver-id','abc') > l-interface* > ('org.onap.relationships.inventory.BelongsTo') lag-interface*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversalWithLabels( 'l-interface','lag-interface', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void hasNotPropertyTest() throws AAIException {
- String aaiQuery = "cloud-region* !('cloud-owner')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void overlyNestedQueryTest() throws AAIException {
- //String aaiQuery = "generic-vnf*('vnf-id','vnfId') (> [ pserver('hostname','hostname1'), vserver (> [ pserver('hostname','hostname1'), pserver('hostname','hostname1')])]) > vserver";
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') ( [> pserver('hostname','hostname1'), > vserver ( [> pserver('hostname','hostname1'), > pserver('hostname','hostname1')])]) > vserver";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union" +
- "(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').getVerticesByProperty('hostname','hostname1')," +
- "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').where(builder.newInstance().union(builder.newInstance()" +
- ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'),builder.newInstance()." +
- "createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void overlyNestedQueryTestWithLabels() throws AAIException {
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') ( [> ('tosca.relationships.HostedOn')pserver('hostname','hostname1'),> ('tosca.relationships.HostedOn')vserver ( [> ('tosca.relationships.HostedOn')pserver('hostname','hostname1'),> ('tosca.relationships.HostedOn')pserver('hostname','hostname1')])]) > ('org.onap.relationships.inventory.PartOf')allotted-resource";
-
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union" +
- "(builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1')," +
- "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).where(builder.newInstance().union(builder.newInstance()" +
- ".createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'),builder.newInstance()." +
- "createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversalWithLabels( 'generic-vnf','allotted-resource', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.PartOf'))).cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void getPserverWithAnEdgeToComplexAndCloudRegion() throws AAIException {
- String aaiQuery = "pserver*('prov-status')(> complex)(> cloud-region)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region')).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void getPserverWithAnEdgeToComplexButNotToCloudRegion() throws AAIException {
- String aaiQuery = "pserver*('prov-status')(> complex)!(> cloud-region)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region'))).store('x').cap('x').unfold().dedup()";
-
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void nestedUnionQueryTest() throws AAIException {
-
- String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
- + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','availability-zone')"
- + ".createEdgeTraversal(EdgeType.TREE, 'availability-zone','cloud-region').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'complex','ctag-pool').store('x').union("
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','availability-zone').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','generic-vnf').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','availability-zone').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
- + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','vpls-pe').store('x')"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'vpls-pe','complex').store('x'))"
- + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'))"
- + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','tenant').store('x')"
- + ".cap('x').unfold().dedup()";
-
- String aaiQuery = "generic-vnf*('vnf-id','vnfId') [> pserver* , "
- + " > vserver > pserver* ] > complex* [> availability-zone > cloud-region*,> cloud-region*, " +
- " > ctag-pool* [ > availability-zone* > complex* , > generic-vnf* > availability-zone* > complex*,> vpls-pe* > complex*] > cloud-region*] > tenant* " ;
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
-
- assertEquals(builderQuery, query);
- }
-
- @Test
- public void booleanPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',true)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void upperCaseBooleanPropertyValuesTest() throws AAIException {
- String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',TRUE)";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test
- public void booleanPropertyTest() throws AAIException {
- String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByProperty('in-maint').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- assertEquals(dslQuery, query);
- }
-
- @Test(expected = AAIException.class)
- public void filterOnUnion_vserverFromTentantFromCloudRegion_BadRequest() throws AAIException {
- String aaiQuery = "cloud-region('cloud-owner', 'test-aic')>[tenant*('tenant-id', 'tenant1'), tenant*('tenant-id', 'tenant2')]('tenant-name', 'tenant1')>[vserver*]";
- dslQueryProcessor.parseAaiQuery(QueryVersion.V2,aaiQuery).get("query").toString();
- }
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
+
+ @Test
+ public void dbAliasTest() throws AAIException {
+ String aaiQuery = "logical-link* ('model-invariant-id','invid')";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('model-invariant-id-local','invid')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void apostropheTest() throws AAIException {
+ String aaiQuery = "logical-link*('link-id','dsl\\'link')";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'logical-link').getVerticesByProperty('link-id','dsl\\'link')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegionFromVnf() throws AAIException {
+ String aaiQuery =
+ "generic-vnf*('vnf-name','xyz') [> vnfc* > vserver* [>pserver*, > tenant* > cloud-region*], "
+ + "> vserver* [> pserver*, >tenant* > cloud-region*] ]";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-name','xyz').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')."
+ + "createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x').union(builder.newInstance().createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'vserver','pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant')"
+ + ".store('x').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')),builder.newInstance().createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'generic-vnf','vserver').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver'"
+ + ",'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x').createEdgeTraversal"
+ + "(EdgeType.TREE, 'tenant','cloud-region').store('x'))).cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegionFromVnfWithDirection() throws AAIException {
+ String aaiQuery =
+ "generic-vnf*('vnf-name','xyz') [>> vnfc* >> vserver* [>>pserver*, >> tenant* >> cloud-region*], "
+ + ">> vserver* [>> pserver*, >>tenant* >> cloud-region*] ]";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-name','xyz').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')."
+ + "createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x').union(builder.newInstance().createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'vserver','pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant')"
+ + ".store('x').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')),builder.newInstance().createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'generic-vnf','vserver').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver'"
+ + ",'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x').createEdgeTraversal"
+ + "(EdgeType.TREE, 'tenant','cloud-region').store('x'))).cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegionSites() throws AAIException {
+ String aaiQuery = "cloud-region*('cloud-owner','xyz') > complex*";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner'"
+ + ",'xyz').store('x').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void pserverWithNoComplexTest() throws AAIException {
+ String aaiQuery = "pserver*('hostname','xyz')!(> complex)";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').where(builder.newInstance().not("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void pserverWhereNotTest() throws AAIException {
+ String aaiQuery = "pserver('hostname','xyz')>vserver*!(> vnfc > configuration))";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','xyz').createEdgeTraversal"
+ + "(EdgeType.COUSIN, 'pserver','vserver').where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN,"
+ + " 'vserver','vnfc').createEdgeTraversal(EdgeType.COUSIN, 'vnfc','configuration'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void singleNode1() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid')";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void singleNodeLimit() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT 10";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".store('x').cap('x').unfold().dedup().limit(10)";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void specialCharacterTest() throws AAIException {
+ String aaiQuery =
+ "cloud-region* !('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,') LIMIT 10";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coidhello:?_-)(!@#$%^&*+={}[]|/.<,')"
+ + ".store('x').cap('x').unfold().dedup().limit(10)";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void singleNodeLimitBlah() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT blah";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
+
+ expectedEx.expect(AAIException.class);
+ expectedEx.expectMessage("DSL Syntax Error while processing the query");
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ }
+
+ @Test
+ public void singleNodeLimitNull() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','coid') LIMIT ";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
+
+ expectedEx.expect(AAIException.class);
+ expectedEx.expectMessage("DSL Syntax Error while processing the query");
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ }
+
+ @Test
+ public void cloudRegion1Test() throws AAIException {
+ String aaiQuery =
+ "cloud-region* !('cloud-owner','coid')('cloud-region-id','cr id') LIMIT 10";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner','coid')"
+ + ".getVerticesByProperty('cloud-region-id','cr id').store('x').cap('x').unfold().dedup().limit(10)";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_entitlementTest() throws AAIException {
+
+ /*
+ * A store within a where makes no sense
+ */
+ String aaiQuery =
+ "generic-vnf('vnf-id','vnfId') ( > vserver > tenant > cloud-region('cloud-region-id','One')) > entitlement*";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
+ + ".getVerticesByProperty('cloud-region-id','One'))"
+ + ".createEdgeTraversal(EdgeType.TREE, 'generic-vnf','entitlement').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_entitlementTestWithLabels() throws AAIException {
+
+ String aaiQuery =
+ "generic-vnf('vnf-id','vnfId') (> ('tosca.relationships.HostedOn') vserver > ('org.onap.relationships.inventory.BelongsTo') tenant > ('org.onap.relationships.inventory.BelongsTo') cloud-region('cloud-region-id','One')) > ('org.onap.relationships.inventory.ComposedOf')service-instance*";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where("
+ + "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).createEdgeTraversalWithLabels( 'vserver','tenant', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).createEdgeTraversalWithLabels( 'tenant','cloud-region', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo')))"
+ + ".getVerticesByProperty('cloud-region-id','One'))"
+ + ".createEdgeTraversalWithLabels( 'generic-vnf','service-instance', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.ComposedOf'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void complex_az_fromComplexTest() throws AAIException {
+
+ String aaiQuery =
+ "cloud-region('cloud-owner','coid')('cloud-region-id','crid') [> availability-zone* ,> complex*]";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
+ + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
+ + ".union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'cloud-region','availability-zone').store('x')"
+ + ",builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x')).cap('x').unfold().dedup()";
+
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void complex_az_fromComplexTestWithLabels() throws AAIException {
+
+ String aaiQuery =
+ "cloud-region('cloud-owner','coid')('cloud-region-id','crid') [> ('org.onap.relationships.inventory.BelongsTo')availability-zone* ,> ('org.onap.relationships.inventory.LocatedIn')complex*]";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')"
+ + ".getVerticesByProperty('cloud-owner','coid').getVerticesByProperty('cloud-region-id','crid')"
+ + ".union(builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','availability-zone', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x')"
+ + ",builder.newInstance().createEdgeTraversalWithLabels( 'cloud-region','complex', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.LocatedIn'))).store('x')).cap('x').unfold().dedup()";
+
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromComplex1Test() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x').cap('x').unfold().dedup()";
+ String aaiQuery = "complex('data-center-code','data-center-code-name') > cloud-region*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromComplex2Test() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'complex').getVerticesByProperty('data-center-code','data-center-code-name')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').getVerticesByProperty('cloud-region-version','crv')"
+ + ".store('x').cap('x').unfold().dedup()";
+ String aaiQuery =
+ "complex('data-center-code','data-center-code-name') > cloud-region*('cloud-region-version','crv')";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromNfTypeTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','F5')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver')"
+ + ".where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('vnf-name','ZALL1MMSC03'))"
+ + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "image('application-vendor','F5') > vserver (> generic-vnf('vnf-name','ZALL1MMSC03')) > tenant > cloud-region*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloudRegion_fromNfTypeVendorVersionTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'image').getVerticesByProperty('application-vendor','vendor')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'image','vserver').where("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vserver','generic-vnf').getVerticesByProperty('nf-type','nfType')"
+ + ").createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region')"
+ + ".store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "image('application-vendor','vendor') > vserver(> generic-vnf('nf-type', 'nfType') ) > tenant > cloud-region*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloud_region_fromVnfTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vnfc','vserver').store('x')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'vserver','tenant').store('x')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'tenant','cloud-region').store('x')"
+ + ".cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "generic-vnf('vnf-id','vnfId') > vnfc* > vserver* > tenant* > cloud-region*";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void cloud_region_sitesTest() throws AAIException {
+
+ String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region')."
+ + "getVerticesByProperty('cloud-owner','co').store('x').createEdgeTraversal(EdgeType.COUSIN, "
+ + "'cloud-region','complex').store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery = "cloud-region*('cloud-owner','co') > complex*";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void complex_fromVnf2Test() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
+ + ").cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') [ > pserver* > complex*, "
+ + " >vserver > pserver* > complex* " + "]";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void complex_fromVnfTest2() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
+ + ".cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') [> pserver* , "
+ + " > vserver > pserver* ] > complex*";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void fn_topology1Test() throws AAIException {
+
+ String builderQuery = "builder.getVerticesByProperty('aai-node-type', 'customer')"
+ + ".getVerticesByProperty('global-customer-id','a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'customer','service-subscription').getVerticesByProperty('service-subscription-id','Nimbus')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'service-subscription','service-instance').getVerticesByProperty('service-instance-id','sid')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'service-instance','generic-vnf').store('x')"
+ + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vnfc').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pnf').store('x')).cap('x').unfold().dedup()";
+
+ String aaiQuery =
+ "customer('global-customer-id', 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb') > service-subscription('service-subscription-id', 'Nimbus') "
+ + " > service-instance('service-instance-id','sid') > generic-vnf* "
+ + " [> vnfc* ,> vserver*,> pserver* ,> pnf* ]";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void vnf_Dsl() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver')"
+ + ".getVerticesByProperty('hostname','hostname1'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))).store('x').cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') ( [> pserver('hostname','hostname1'), "
+ + " > vserver > pserver('hostname','hostname1')])";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void hasPropertyTest() throws AAIException {
+ String aaiQuery = "cloud-region* ('cloud-owner')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region* ('cloud-owner','cloud-owner1','cloud-owner2')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasNotPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner','cloud-owner1','cloud-owner2')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList('cloud-owner1','cloud-owner2'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasNotPropertyNullValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner',' ',' null ')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner', new ArrayList<>(Arrays.asList(' ',' null '))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Ignore
+ @Test
+ public void hasPropertyIntegerTest() throws AAIException {
+ String aaiQuery =
+ "cloud-region('cloud-owner', 'att-nc')('cloud-region-id', 'MTN61a') > vlan-range > vlan-tag*('vlan-id-inner', 20)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','att-nc').getVerticesByProperty('cloud-region-id','MTN61a')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag').getVerticesByProperty('vlan-id-inner',20).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void directionalityTest() throws AAIException {
+ String aaiQuery = "cloud-region('cloud-region-id','abc') >> complex* >> l3-network*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-region-id','abc').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','complex').store('x').createEdgeTraversal(EdgeType.COUSIN, 'complex','l3-network').store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void enterSelectFilterTest() throws AAIException {
+ String aaiQuery = "cloud-region*('cloud-region-id','whp3a'){'cloud-region-id'}";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-region-id','whp3a').store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(query, dslQuery);
+ }
+
+ @Ignore
+ @Test
+ public void returnSpecificPropsAndAllForDifferentVertices() throws AAIException {
+ String aaiQuery =
+ "cloud-region{'cloud-owner'}('cloud-region-id','new-r111egion-111111') > [ l3-network*, vlan-range > vlan-tag*]";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-region-id','new-r111egion-111111').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','l3-network').store('x'),builder.newInstance()"
+ + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag').store('x')).cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(query, dslQuery);
+ }
+
+ @Test
+ public void groupingAttributesTestForAggregate() throws AAIException {
+ String aaiQuery =
+ "cloud-region{'cloud-owner'}('cloud-owner','att-nc')('cloud-region-id','wah2a') > vip-ipv6-address-list > [subnet{'subnet-name'}, instance-group{'id'}]";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','att-nc').getVerticesByProperty('cloud-region-id','wah2a').store('x').createEdgeTraversal(EdgeType.TREE, 'cloud-region','vip-ipv6-address-list').union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vip-ipv6-address-list','subnet').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vip-ipv6-address-list','instance-group').store('x')).cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(query, dslQuery);
+ }
+
+ @Test
+ public void multipleEdgeRuleTest() throws AAIException {
+ String aaiQuery = "vserver('vserver-id','abc') > l-interface* > lag-interface*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversal( 'l-interface','lag-interface').store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void multipleEdgeRuleTestWithLabels() throws AAIException {
+ String aaiQuery =
+ "vserver('vserver-id','abc') > l-interface* > ('org.onap.relationships.inventory.BelongsTo') lag-interface*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'vserver').getVerticesByProperty('vserver-id','abc').createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').store('x').createEdgeTraversalWithLabels( 'l-interface','lag-interface', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.BelongsTo'))).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void hasNotPropertyTest() throws AAIException {
+ String aaiQuery = "cloud-region* !('cloud-owner')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesExcludeByProperty('cloud-owner').store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void overlyNestedQueryTest() throws AAIException {
+ // String aaiQuery = "generic-vnf*('vnf-id','vnfId') (> [ pserver('hostname','hostname1'),
+ // vserver (> [ pserver('hostname','hostname1'), pserver('hostname','hostname1')])]) >
+ // vserver";
+ String aaiQuery =
+ "generic-vnf*('vnf-id','vnfId') ( [> pserver('hostname','hostname1'), > vserver ( [> pserver('hostname','hostname1'), > pserver('hostname','hostname1')])]) > vserver";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union"
+ + "(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').getVerticesByProperty('hostname','hostname1'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').where(builder.newInstance().union(builder.newInstance()"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'),builder.newInstance()."
+ + "createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void overlyNestedQueryTestWithLabels() throws AAIException {
+ String aaiQuery =
+ "generic-vnf*('vnf-id','vnfId') ( [> ('tosca.relationships.HostedOn')pserver('hostname','hostname1'),> ('tosca.relationships.HostedOn')vserver ( [> ('tosca.relationships.HostedOn')pserver('hostname','hostname1'),> ('tosca.relationships.HostedOn')pserver('hostname','hostname1')])]) > ('org.onap.relationships.inventory.PartOf')allotted-resource";
+
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').where(builder.newInstance().union"
+ + "(builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'),"
+ + "builder.newInstance().createEdgeTraversalWithLabels( 'generic-vnf','vserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).where(builder.newInstance().union(builder.newInstance()"
+ + ".createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'),builder.newInstance()."
+ + "createEdgeTraversalWithLabels( 'vserver','pserver', new ArrayList<>(Arrays.asList('tosca.relationships.HostedOn'))).getVerticesByProperty('hostname','hostname1'))))).store('x').createEdgeTraversalWithLabels( 'generic-vnf','allotted-resource', new ArrayList<>(Arrays.asList('org.onap.relationships.inventory.PartOf'))).cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void getPserverWithAnEdgeToComplexAndCloudRegion() throws AAIException {
+ String aaiQuery = "pserver*('prov-status')(> complex)(> cloud-region)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region')).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void getPserverWithAnEdgeToComplexButNotToCloudRegion() throws AAIException {
+ String aaiQuery = "pserver*('prov-status')(> complex)!(> cloud-region)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('prov-status').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex')).where(builder.newInstance().not(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pserver','cloud-region'))).store('x').cap('x').unfold().dedup()";
+
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void nestedUnionQueryTest() throws AAIException {
+
+ String builderQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'generic-vnf').getVerticesByProperty('vnf-id','vnfId').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','pserver').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','vserver')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vserver','pserver').store('x'))"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','complex').store('x')"
+ + ".union(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','availability-zone')"
+ + ".createEdgeTraversal(EdgeType.TREE, 'availability-zone','cloud-region').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'complex','ctag-pool').store('x').union("
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','availability-zone').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','generic-vnf').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf','availability-zone').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'availability-zone','complex').store('x'),"
+ + "builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'ctag-pool','vpls-pe').store('x')"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'vpls-pe','complex').store('x'))"
+ + ".createEdgeTraversal(EdgeType.COUSIN, 'complex','cloud-region').store('x'))"
+ + ".createEdgeTraversal(EdgeType.TREE, 'cloud-region','tenant').store('x')"
+ + ".cap('x').unfold().dedup()";
+
+ String aaiQuery = "generic-vnf*('vnf-id','vnfId') [> pserver* , "
+ + " > vserver > pserver* ] > complex* [> availability-zone > cloud-region*,> cloud-region*, "
+ + " > ctag-pool* [ > availability-zone* > complex* , > generic-vnf* > availability-zone* > complex*,> vpls-pe* > complex*] > cloud-region*] > tenant* ";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+
+ assertEquals(builderQuery, query);
+ }
+
+ @Test
+ public void booleanPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',true)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void upperCaseBooleanPropertyValuesTest() throws AAIException {
+ String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint',TRUE)";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByBooleanProperty('in-maint',true).store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test
+ public void booleanPropertyTest() throws AAIException {
+ String aaiQuery = "cloud-region ('cloud-owner','cloud-owner1') > zone*('in-maint')";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','cloud-owner1').createEdgeTraversal(EdgeType.COUSIN, 'cloud-region','zone').getVerticesByProperty('in-maint').store('x').cap('x').unfold().dedup()";
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ assertEquals(dslQuery, query);
+ }
+
+ @Test(expected = AAIException.class)
+ public void filterOnUnion_vserverFromTentantFromCloudRegion_BadRequest() throws AAIException {
+ String aaiQuery =
+ "cloud-region('cloud-owner', 'test-aic')>[tenant*('tenant-id', 'tenant1'), tenant*('tenant-id', 'tenant2')]('tenant-name', 'tenant1')>[vserver*]";
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V2, aaiQuery).get("query").toString();
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeLabelTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeLabelTest.java
index 9664342..808d56b 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeLabelTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeLabelTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,12 +19,12 @@
*/
package org.onap.aai.rest.dsl;
+import static org.junit.Assert.*;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.*;
-
public class EdgeLabelTest {
private static EdgeLabel edgeLabel;
@@ -32,7 +32,7 @@ public class EdgeLabelTest {
@Before
public void setUp() throws Exception {
- edgeLabel = new EdgeLabel("label", true);
+ edgeLabel = new EdgeLabel("label", true);
edgeLabel1 = new EdgeLabel("org.onap.relationships.inventory.Uses", false);
}
@@ -59,4 +59,4 @@ public class EdgeLabelTest {
public void setExactMatch() {
edgeLabel1.setExactMatch(false);
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeTest.java
index 4378085..77f5c55 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/EdgeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,20 +19,21 @@
*/
package org.onap.aai.rest.dsl;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.aai.rest.enums.EdgeDirection;
+import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.List;
-import static org.junit.Assert.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aai.rest.enums.EdgeDirection;
public class EdgeTest {
Edge edge;
Edge edge2;
+
@Before
public void setUp() throws Exception {
EdgeDirection dir = EdgeDirection.OUT;
@@ -76,4 +77,4 @@ public class EdgeTest {
assertNotNull(edge.getDirection().toString());
assertNotNull(edge.toString());
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/ProdDslTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/ProdDslTest.java
index 8c52a31..a78bcde 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/dsl/ProdDslTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/dsl/ProdDslTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,40 +19,46 @@
*/
package org.onap.aai.rest.dsl;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
import org.junit.Ignore;
+import org.junit.Test;
import org.onap.aai.AAISetup;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.rest.enums.QueryVersion;
-import static org.junit.Assert.assertEquals;
-
-//TODO: Change this to read queries and their builder equivalent from a file
-//TODO: Add queries run by SEs
+// TODO: Change this to read queries and their builder equivalent from a file
+// TODO: Add queries run by SEs
public class ProdDslTest extends AAISetup {
@Ignore
@Test
public void msoQueryTest1() throws AAIException {
- String aaiQuery = "cloud-region('cloud-owner', 'value')('cloud-region-id', 'value') > vlan-range > vlan-tag*('vlan-id-outer', '123')";
+ String aaiQuery =
+ "cloud-region('cloud-owner', 'value')('cloud-region-id', 'value') > vlan-range > vlan-tag*('vlan-id-outer', '123')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','value')"
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'cloud-region').getVerticesByProperty('cloud-owner','value')"
+ ".getVerticesByProperty('cloud-region-id','value').createEdgeTraversal(EdgeType.TREE, 'cloud-region','vlan-range').createEdgeTraversal(EdgeType.TREE, 'vlan-range','vlan-tag')"
+ ".getVerticesByProperty('vlan-id-outer',123).store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
assertEquals(dslQuery, query);
}
@Test
public void msoQueryTest2() throws AAIException {
- String aaiQuery = "pserver('hostname', 'pserver-1') > p-interface > sriov-pf*('pf-pci-id', '0000:ee:00.0')";
+ String aaiQuery =
+ "pserver('hostname', 'pserver-1') > p-interface > sriov-pf*('pf-pci-id', '0000:ee:00.0')";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','pserver-1')"
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','pserver-1')"
+ ".createEdgeTraversal(EdgeType.TREE, 'pserver','p-interface')"
+ ".createEdgeTraversal(EdgeType.TREE, 'p-interface','sriov-pf').getVerticesByProperty('pf-pci-id','0000:ee:00.0').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
assertEquals(dslQuery, query);
}
@@ -60,39 +66,49 @@ public class ProdDslTest extends AAISetup {
public void msoQueryTest3() throws AAIException {
String aaiQuery = "l-interface ('interface-id', 'value') > sriov-vf > sriov-pf*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'l-interface').getVerticesByProperty('interface-id','value')"
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'l-interface').getVerticesByProperty('interface-id','value')"
+ ".createEdgeTraversal(EdgeType.TREE, 'l-interface','sriov-vf')"
+ ".createEdgeTraversal(EdgeType.COUSIN, 'sriov-vf','sriov-pf').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
assertEquals(dslQuery, query);
}
- //TODO : Get this from schema
+ // TODO : Get this from schema
@Test
public void msoQueryTest4() throws AAIException {
- //String aaiQuery = "l-interface ('interface-id', 'value') > lag-interface('interface-name', 'bond1') > sriov-pf*";
- String aaiQuery = "l-interface ('interface-id', 'value') > lag-interface('interface-name', 'bond1') > p-interface > sriov-pf*";
+ // String aaiQuery = "l-interface ('interface-id', 'value') >
+ // lag-interface('interface-name', 'bond1') > sriov-pf*";
+ String aaiQuery =
+ "l-interface ('interface-id', 'value') > lag-interface('interface-name', 'bond1') > p-interface > sriov-pf*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'l-interface').getVerticesByProperty('interface-id','value')"
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'l-interface').getVerticesByProperty('interface-id','value')"
+ ".createEdgeTraversal( 'l-interface','lag-interface').getVerticesByProperty('interface-name','bond1')"
+ ".createEdgeTraversal(EdgeType.COUSIN, 'lag-interface','p-interface').createEdgeTraversal(EdgeType.TREE, 'p-interface','sriov-pf').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
assertEquals(dslQuery, query);
}
- //TODO : Get this from schema
+ // TODO : Get this from schema
@Test
public void msoQueryTest5() throws AAIException {
- //String aaiQuery = "pserver ('hostname', 'value') > vserver ('vserver-name', 'value') > l-interface > vlan-tag*";
- String aaiQuery = "pserver ('hostname', 'value') > vserver ('vserver-name', 'value') > l-interface > cp > vlan-tag*";
- String dslQuery = "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','value')"
+ // String aaiQuery = "pserver ('hostname', 'value') > vserver ('vserver-name', 'value') >
+ // l-interface > vlan-tag*";
+ String aaiQuery =
+ "pserver ('hostname', 'value') > vserver ('vserver-name', 'value') > l-interface > cp > vlan-tag*";
+ String dslQuery =
+ "builder.getVerticesByProperty('aai-node-type', 'pserver').getVerticesByProperty('hostname','value')"
+ ".createEdgeTraversal(EdgeType.COUSIN, 'pserver','vserver').getVerticesByProperty('vserver-name','value')"
+ ".createEdgeTraversal(EdgeType.TREE, 'vserver','l-interface').createEdgeTraversal(EdgeType.COUSIN, 'l-interface','cp').createEdgeTraversal(EdgeType.COUSIN, 'cp','vlan-tag').store('x').cap('x').unfold().dedup()";
- String query = dslQueryProcessor.parseAaiQuery(QueryVersion.V1,aaiQuery).get("query").toString();
+ String query =
+ dslQueryProcessor.parseAaiQuery(QueryVersion.V1, aaiQuery).get("query").toString();
assertEquals(dslQuery, query);
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/AbstractSpringHistoryRestTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/AbstractSpringHistoryRestTest.java
index 1d2eac1..5e397dd 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/AbstractSpringHistoryRestTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/AbstractSpringHistoryRestTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,10 @@
*/
package org.onap.aai.rest.history;
+import java.io.UnsupportedEncodingException;
+import java.util.Base64;
+import java.util.Collections;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraph;
@@ -32,8 +36,8 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.nodes.NodeIngestor;
import org.onap.aai.util.AAIConfig;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
@@ -44,18 +48,12 @@ import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
import org.springframework.web.client.RestTemplate;
-import java.io.UnsupportedEncodingException;
-import java.util.Base64;
-import java.util.Collections;
-
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class)
+@SpringBootTest(
+ webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
+ classes = TraversalApp.class)
@TestPropertySource(
- locations = "classpath:application-test.properties",
- properties = {
- "history.enabled=true",
- "history.truncate.window.days = " + Integer.MAX_VALUE
- }
-)
+ locations = "classpath:application-test.properties",
+ properties = {"history.enabled=true", "history.truncate.window.days = " + Integer.MAX_VALUE})
@ContextConfiguration(initializers = PropertyPasswordConfiguration.class)
@Import(TraversalTestConfiguration.class)
public abstract class AbstractSpringHistoryRestTest {
@@ -71,14 +69,14 @@ public abstract class AbstractSpringHistoryRestTest {
@Autowired
protected NodeIngestor nodeIngestor;
-
+
@LocalServerPort
protected int randomPort;
protected HttpEntity httpEntity;
protected String baseUrl;
- protected HttpHeaders headers ;
+ protected HttpHeaders headers;
@BeforeClass
public static void setupConfig() throws AAIException {
@@ -109,12 +107,12 @@ public abstract class AbstractSpringHistoryRestTest {
/*
* Inheritors please override this one
*/
- public void createTestGraph(){
-
+ public void createTestGraph() {
+
}
@After
- public void tearDown(){
+ public void tearDown() {
JanusGraph janusGraph = AAIGraph.getInstance().getGraph();
JanusGraphTransaction transaction = janusGraph.newTransaction();
@@ -123,12 +121,11 @@ public abstract class AbstractSpringHistoryRestTest {
try {
GraphTraversalSource g = transaction.traversal();
- g.V().toList()
- .forEach(Vertex::remove);
- } catch(Exception ex){
+ g.V().toList().forEach(Vertex::remove);
+ } catch (Exception ex) {
success = false;
} finally {
- if(success){
+ if (success) {
transaction.commit();
} else {
transaction.rollback();
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/CQAllChildernFromPnfStateTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/CQAllChildernFromPnfStateTest.java
index 7cf8138..472cffb 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/CQAllChildernFromPnfStateTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/CQAllChildernFromPnfStateTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,10 +19,18 @@
*/
package org.onap.aai.rest.history;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraphTransaction;
@@ -37,210 +45,149 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-@Ignore("The state format requires the history schema to be loaded. " +
- "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. " +
- "This needs to be addressed.")
+@Ignore("The state format requires the history schema to be loaded. "
+ + "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. "
+ + "This needs to be addressed.")
public class CQAllChildernFromPnfStateTest extends AbstractSpringHistoryRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(CQAllChildernFromPnfStateTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
-
- Vertex pnf1 = g.addV()
- .property(AAIProperties.NODE_TYPE, "pnf",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/network/pnfs/pnf/pnf-1",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("pnf-name", "pnf-1",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("pnf-id", "pnf-1-id",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .next();
-
- Vertex pint1 = g.addV()
- .property(AAIProperties.NODE_TYPE, "p-interface",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("interface-name", "pint-1",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .next();
-
- Vertex lint1 = g.addV()
- .property(AAIProperties.NODE_TYPE, "l-interface",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1/l-interfaces/l-interface/lint-1",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("interface-name", "lint-1",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .next();
-
- pint1.addEdge("tosca.relationships.network.BindsTo", pnf1,
- "start-ts", 100L,
- "private", false,
- "aai-uuid", "e713ce2c-62d5-4555-a481-95619cb158aa",
- "prevent-delete", "NONE",
- "delete-other-v", "IN",
- "source-of-truth", "JUNIT-EDGE-C",
- "start-tx-id", "JUNIT-EDGE-C",
- "contains-other-v", "IN");
-
- lint1.addEdge("tosca.relationships.network.BindsTo", pint1,
- "start-ts", 100L,
- "private", false,
- "aai-uuid", "e713ce2c-62d5-4555-a481-95619cb158ab",
- "prevent-delete", "NONE",
- "delete-other-v", "IN",
- "source-of-truth", "JUNIT-EDGE-C",
- "start-tx-id", "JUNIT-EDGE-C",
- "contains-other-v", "IN");
-
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- private JsonArray executeCustomQuery(String endpoint, String queryName, String... startUris) throws Exception {
- JsonObject payload = new JsonObject();
- JsonArray start = new JsonArray();
- Arrays.stream(startUris).forEach(start::add);
- payload.add("start", start);
- payload.addProperty("query", "query/" + queryName);
- httpEntity = new HttpEntity(payload.toString(), headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
- private JsonArray executeGremlin(String endpoint, String query) throws Exception {
- JsonObject payload = new JsonObject();
- payload.addProperty("gremlin", query);
- httpEntity = new HttpEntity(payload.toString(), headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
- private void verifyResultUris(JsonArray results, String... uris) {
- Set<String> expected = new HashSet<>(Arrays.asList(uris));
- final Set<String> actualEquipType = new HashSet<>();
- for (JsonElement result : results) {
- actualEquipType.add(result.getAsJsonObject().get("uri").getAsString());
- }
- assertThat("Verify results uri's", actualEquipType, is(expected));
- }
-
-
- @Test
- public void pnfChildrenQueryTest() throws Exception {
- JsonArray results = executeCustomQuery("/aai/v14/query?format=state", "allchildren-fromPnf", "/network/pnfs/pnf/pnf-1");
- verifyResultUris(results, "/network/pnfs/pnf/pnf-1", "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1", "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1/l-interfaces/l-interface/lint-1");
- }
-
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(CQAllChildernFromPnfStateTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+
+ Vertex pnf1 = g.addV()
+ .property(AAIProperties.NODE_TYPE, "pnf", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI, "/network/pnfs/pnf/pnf-1",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("pnf-name", "pnf-1", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("pnf-id", "pnf-1-id", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+
+ Vertex pint1 = g.addV()
+ .property(AAIProperties.NODE_TYPE, "p-interface", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI,
+ "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("interface-name", "pint-1", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+
+ Vertex lint1 = g.addV()
+ .property(AAIProperties.NODE_TYPE, "l-interface", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI,
+ "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1/l-interfaces/l-interface/lint-1",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("interface-name", "lint-1", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+
+ pint1.addEdge("tosca.relationships.network.BindsTo", pnf1, "start-ts", 100L, "private",
+ false, "aai-uuid", "e713ce2c-62d5-4555-a481-95619cb158aa", "prevent-delete", "NONE",
+ "delete-other-v", "IN", "source-of-truth", "JUNIT-EDGE-C", "start-tx-id",
+ "JUNIT-EDGE-C", "contains-other-v", "IN");
+
+ lint1.addEdge("tosca.relationships.network.BindsTo", pint1, "start-ts", 100L, "private",
+ false, "aai-uuid", "e713ce2c-62d5-4555-a481-95619cb158ab", "prevent-delete", "NONE",
+ "delete-other-v", "IN", "source-of-truth", "JUNIT-EDGE-C", "start-tx-id",
+ "JUNIT-EDGE-C", "contains-other-v", "IN");
+
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ private JsonArray executeCustomQuery(String endpoint, String queryName, String... startUris)
+ throws Exception {
+ JsonObject payload = new JsonObject();
+ JsonArray start = new JsonArray();
+ Arrays.stream(startUris).forEach(start::add);
+ payload.add("start", start);
+ payload.addProperty("query", "query/" + queryName);
+ httpEntity = new HttpEntity(payload.toString(), headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private JsonArray executeGremlin(String endpoint, String query) throws Exception {
+ JsonObject payload = new JsonObject();
+ payload.addProperty("gremlin", query);
+ httpEntity = new HttpEntity(payload.toString(), headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private void verifyResultUris(JsonArray results, String... uris) {
+ Set<String> expected = new HashSet<>(Arrays.asList(uris));
+ final Set<String> actualEquipType = new HashSet<>();
+ for (JsonElement result : results) {
+ actualEquipType.add(result.getAsJsonObject().get("uri").getAsString());
+ }
+ assertThat("Verify results uri's", actualEquipType, is(expected));
+ }
+
+ @Test
+ public void pnfChildrenQueryTest() throws Exception {
+ JsonArray results = executeCustomQuery("/aai/v14/query?format=state", "allchildren-fromPnf",
+ "/network/pnfs/pnf/pnf-1");
+ verifyResultUris(results, "/network/pnfs/pnf/pnf-1",
+ "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1",
+ "/network/pnfs/pnf/pnf-1/p-interfaces/p-interface/pint-1/l-interfaces/l-interface/lint-1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleEdgeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleEdgeTest.java
index 5b2c8da..d26eff2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleEdgeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleEdgeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,10 +19,16 @@
*/
package org.onap.aai.rest.history;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraphTransaction;
@@ -38,439 +44,370 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-@Ignore("The lifecycle format requires the history schema to be loaded. " +
- "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. " +
- "This needs to be addressed.")
+@Ignore("The lifecycle format requires the history schema to be loaded. "
+ + "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. "
+ + "This needs to be addressed.")
public class DslConsumerHistoryLifecycleEdgeTest extends AbstractSpringHistoryRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerHistoryLifecycleEdgeTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
-
- Vertex pserver = g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("equip-type", "ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .next();
- Vertex complex = g.addV().property(AAIProperties.NODE_TYPE, "complex",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/complexes/complex/test-complex-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("physical-location-id", "test-complex-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("street", "200 S. Laurel Ave",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("city", "Middletown",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("state", "NJ",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property("zip", "11111",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C" ,
- AAIProperties.START_TS, 100L
- )
- .next();
-
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 100,
- "private", false,
- "aai-uuid", "edge1",
- "end-source-of-truth", "JUNIT-E-D-1",
- "end-tx-id", "JUNIT-E-D-1",
- "end-ts", 300,
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-1",
- "start-tx-id", "JUNIT-E-C-1",
- "contains-other-v", "NONE"
- );
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 500,
- "private", false,
- "aai-uuid", "edge2",
- "end-source-of-truth", "JUNIT-E-D-2",
- "end-tx-id", "JUNIT-E-D-2",
- "end-ts", 700,
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-2",
- "start-tx-id", "JUNIT-E-C-2",
- "contains-other-v", "NONE"
- );
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 900,
- "private", false,
- "aai-uuid", "edge3",
- "end-source-of-truth", "JUNIT-E-D-3",
- "end-tx-id", "JUNIT-E-D-3",
- "end-ts", 1100,
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-3",
- "start-tx-id", "JUNIT-E-C-3",
- "contains-other-v", "NONE"
- );
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 1300,
- "private", false,
- "aai-uuid", "edge3",
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-3",
- "start-tx-id", "JUNIT-E-C-3",
- "contains-other-v", "NONE"
- );
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
- return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
- }
-
- private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint, String additionalFilterInParen) throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
-
- private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
- List<String> expected = Arrays.asList(expectedEquipTypes);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("value") && !property.getAsJsonObject().get("value").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("sot") && !property.getAsJsonObject().get("sot").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type SoTs in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTxId(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("tx-id") && !property.getAsJsonObject().get("tx-id").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("tx-id").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type tx-ids in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
- List<Long> expected = Arrays.asList(expectedSTOs);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("timestamp") && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("timestamp").getAsLong());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type timestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyNodeTimestamps(JsonArray results, Long... nodeTimestamps) {
- List<Long> expected = Arrays.asList(nodeTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("node-actions").getAsJsonArray().forEach(jsonElement ->
- actualEquipType.add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
- }
- assertThat("Verify node-changes timestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyRelatedToCreatedTimestamps(JsonArray results, Long... edgeCreatedTimestamps) {
- List<Long> expected = Arrays.asList(edgeCreatedTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
- if (jsonElement.getAsJsonObject().has("timestamp")) {
- actualEquipType.add(jsonElement.getAsJsonObject().get("timestamp").getAsLong());
- }
- });
- }
- assertThat("Verify related-to createdtimestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyRelatedToCreatedDeletedTimestamps(JsonArray results, Long... edgeDeletedTimestamps) {
- List<Long> expected = Arrays.asList(edgeDeletedTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
- if (jsonElement.getAsJsonObject().has("end-timestamp")) {
- actualEquipType.add(jsonElement.getAsJsonObject().get("end-timestamp").getAsLong());
- }
- });
- }
- assertThat("Verify related-to createdtimestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyRelatedToCount(JsonArray results, int expectedSize) {
- int actualSize = 0;
- for (JsonElement result : results) {
- actualSize += result.getAsJsonObject().get("related-to").getAsJsonArray().size();
- }
- assertEquals("Verify related-to count", actualSize, expectedSize);
- }
-
- private void verifyRelatedToTxId(JsonArray results) {
- final Set<JsonObject> withTxId = new HashSet<>();
- int count = 0;
- for (JsonElement result : results) {
- count += result.getAsJsonObject().get("related-to").getAsJsonArray().size();
- result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
- if (jsonElement.getAsJsonObject().has("tx-id")) {
- withTxId.add(jsonElement.getAsJsonObject());
- }
- if (jsonElement.getAsJsonObject().has("end-tx-id")) {
- withTxId.add(jsonElement.getAsJsonObject());
- }
- });
- }
- assertEquals("Verify no related-to has end-tx-id in state", count, withTxId.size());
- }
-
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyNodeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results, 100L, 500L, 900L, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results, 300L, 700L, 1100L);
- verifyRelatedToCount(results, 4);
- verifyRelatedToTxId(results);
- }
-
-
-
- @Test
- public void lifecycleQueryStartTsBeforeSecondEdgeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=400";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results);
- verifyRelatedToCreatedTimestamps(results, 500L, 900L, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results, 700L, 1100L);
- verifyRelatedToCount(results, 3);
- verifyRelatedToTxId(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAtSecondEdgeDeletionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=700";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results);
- verifyRelatedToCreatedTimestamps(results, 900L, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results, 700L, 1100L);
- verifyRelatedToCount(results, 3);
- verifyRelatedToTxId(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterSecondEdgeDeletionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=800";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results);
- verifyRelatedToCreatedTimestamps(results, 900L, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results, 1100L);
- verifyRelatedToCount(results, 2);
- verifyRelatedToTxId(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAtLastEdgeActionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1300";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results);
- verifyRelatedToCreatedTimestamps(results, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 1);
- verifyRelatedToTxId(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterLastEdgeActionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1400";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 0, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results);
- verifyRelatedToCreatedTimestamps(results);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 0);
- verifyRelatedToTxId(results);
- }
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(DslConsumerHistoryLifecycleEdgeTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+
+ Vertex pserver = g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("equip-type", "ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+ Vertex complex = g.addV()
+ .property(AAIProperties.NODE_TYPE, "complex", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/complexes/complex/test-complex-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("physical-location-id", "test-complex-dsl", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("street", "200 S. Laurel Ave", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("city", "Middletown", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("state", "NJ", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("zip", "11111", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 100,
+ "private", false, "aai-uuid", "edge1", "end-source-of-truth", "JUNIT-E-D-1",
+ "end-tx-id", "JUNIT-E-D-1", "end-ts", 300, "prevent-delete", "IN", "delete-other-v",
+ "NONE", "source-of-truth", "JUNIT-E-C-1", "start-tx-id", "JUNIT-E-C-1",
+ "contains-other-v", "NONE");
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 500,
+ "private", false, "aai-uuid", "edge2", "end-source-of-truth", "JUNIT-E-D-2",
+ "end-tx-id", "JUNIT-E-D-2", "end-ts", 700, "prevent-delete", "IN", "delete-other-v",
+ "NONE", "source-of-truth", "JUNIT-E-C-2", "start-tx-id", "JUNIT-E-C-2",
+ "contains-other-v", "NONE");
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 900,
+ "private", false, "aai-uuid", "edge3", "end-source-of-truth", "JUNIT-E-D-3",
+ "end-tx-id", "JUNIT-E-D-3", "end-ts", 1100, "prevent-delete", "IN",
+ "delete-other-v", "NONE", "source-of-truth", "JUNIT-E-C-3", "start-tx-id",
+ "JUNIT-E-C-3", "contains-other-v", "NONE");
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 1300,
+ "private", false, "aai-uuid", "edge3", "prevent-delete", "IN", "delete-other-v",
+ "NONE", "source-of-truth", "JUNIT-E-C-3", "start-tx-id", "JUNIT-E-C-3",
+ "contains-other-v", "NONE");
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
+ return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
+ }
+
+ private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint,
+ String additionalFilterInParen) throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
+ List<String> expected = Arrays.asList(expectedEquipTypes);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("value")
+ && !property.getAsJsonObject().get("value").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("sot")
+ && !property.getAsJsonObject().get("sot").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type SoTs in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTxId(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("tx-id")
+ && !property.getAsJsonObject().get("tx-id").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("tx-id").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type tx-ids in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
+ List<Long> expected = Arrays.asList(expectedSTOs);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("timestamp")
+ && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
+ actualEquipType
+ .add(property.getAsJsonObject().get("timestamp").getAsLong());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type timestamps in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyNodeTimestamps(JsonArray results, Long... nodeTimestamps) {
+ List<Long> expected = Arrays.asList(nodeTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("node-actions").getAsJsonArray()
+ .forEach(jsonElement -> actualEquipType
+ .add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
+ }
+ assertThat("Verify node-changes timestamps in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyRelatedToCreatedTimestamps(JsonArray results,
+ Long... edgeCreatedTimestamps) {
+ List<Long> expected = Arrays.asList(edgeCreatedTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
+ if (jsonElement.getAsJsonObject().has("timestamp")) {
+ actualEquipType.add(jsonElement.getAsJsonObject().get("timestamp").getAsLong());
+ }
+ });
+ }
+ assertThat("Verify related-to createdtimestamps in lifecycle", actualEquipType,
+ is(expected));
+ }
+
+ private void verifyRelatedToCreatedDeletedTimestamps(JsonArray results,
+ Long... edgeDeletedTimestamps) {
+ List<Long> expected = Arrays.asList(edgeDeletedTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
+ if (jsonElement.getAsJsonObject().has("end-timestamp")) {
+ actualEquipType
+ .add(jsonElement.getAsJsonObject().get("end-timestamp").getAsLong());
+ }
+ });
+ }
+ assertThat("Verify related-to createdtimestamps in lifecycle", actualEquipType,
+ is(expected));
+ }
+
+ private void verifyRelatedToCount(JsonArray results, int expectedSize) {
+ int actualSize = 0;
+ for (JsonElement result : results) {
+ actualSize += result.getAsJsonObject().get("related-to").getAsJsonArray().size();
+ }
+ assertEquals("Verify related-to count", actualSize, expectedSize);
+ }
+
+ private void verifyRelatedToTxId(JsonArray results) {
+ final Set<JsonObject> withTxId = new HashSet<>();
+ int count = 0;
+ for (JsonElement result : results) {
+ count += result.getAsJsonObject().get("related-to").getAsJsonArray().size();
+ result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
+ if (jsonElement.getAsJsonObject().has("tx-id")) {
+ withTxId.add(jsonElement.getAsJsonObject());
+ }
+ if (jsonElement.getAsJsonObject().has("end-tx-id")) {
+ withTxId.add(jsonElement.getAsJsonObject());
+ }
+ });
+ }
+ assertEquals("Verify no related-to has end-tx-id in state", count, withTxId.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyNodeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results, 100L, 500L, 900L, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results, 300L, 700L, 1100L);
+ verifyRelatedToCount(results, 4);
+ verifyRelatedToTxId(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeSecondEdgeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=400";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results);
+ verifyRelatedToCreatedTimestamps(results, 500L, 900L, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results, 700L, 1100L);
+ verifyRelatedToCount(results, 3);
+ verifyRelatedToTxId(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtSecondEdgeDeletionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=700";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results);
+ verifyRelatedToCreatedTimestamps(results, 900L, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results, 700L, 1100L);
+ verifyRelatedToCount(results, 3);
+ verifyRelatedToTxId(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterSecondEdgeDeletionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=800";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results);
+ verifyRelatedToCreatedTimestamps(results, 900L, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results, 1100L);
+ verifyRelatedToCount(results, 2);
+ verifyRelatedToTxId(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtLastEdgeActionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1300";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results);
+ verifyRelatedToCreatedTimestamps(results, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 1);
+ verifyRelatedToTxId(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterLastEdgeActionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1400";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 0, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results);
+ verifyRelatedToCreatedTimestamps(results);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 0);
+ verifyRelatedToTxId(results);
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.java
index 25e9e84..dc794b8 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,9 +19,15 @@
*/
package org.onap.aai.rest.history;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraphTransaction;
import org.junit.Ignore;
@@ -36,709 +42,668 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-@Ignore("The lifecycle format requires the history schema to be loaded. " +
- "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. " +
- "This needs to be addressed.")
-public class DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest extends AbstractSpringHistoryRestTest {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
- /*
- Pserver
- - created pserver @ time 100
- - equip-type = first-ps-type
- - update equip-type @ 500
- - equip-type = first-ps-type-update
- - deleted pserver @ time 1000
- */
- g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property(AAIProperties.RESOURCE_VERSION, "500",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property("equip-type", "first-ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property("equip-type", "first-ps-type-update",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
- AAIProperties.START_TX_ID, "JUNIT-D",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.END_TS, 1000L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
- AAIProperties.START_TX_ID, "JUNIT-D",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 1000L,
- AAIProperties.END_TS, 1000L
- )
- .next();
-
- /*
- Pserver
- - created pserver @ time 10000
- - equip-type = second-ps-type
- - delete equip-type @ 13000
- - recreate equip-type @ 15000
- - equip-type = second-ps-type-recreated
- - update equip-type @ 17000
- - equip-type = second-ps-type-update
- - delete equip-type @ 20000
- */
- g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "10000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U-1",
- AAIProperties.END_TX_ID, "JUNIT-U-1",
- AAIProperties.START_TS, 10000L,
- AAIProperties.END_TS, 13000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "13000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U-1",
- AAIProperties.START_TX_ID, "JUNIT-U-1",
- AAIProperties.END_SOT, "JUNIT-U-2",
- AAIProperties.END_TX_ID, "JUNIT-U-2",
- AAIProperties.START_TS, 13000L,
- AAIProperties.END_TS, 15000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "15000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U-2",
- AAIProperties.START_TX_ID, "JUNIT-U-2",
- AAIProperties.END_SOT, "JUNIT-U-3",
- AAIProperties.END_TX_ID, "JUNIT-U-3",
- AAIProperties.START_TS, 15000L,
- AAIProperties.END_TS, 17000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "17000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U-3",
- AAIProperties.START_TX_ID, "JUNIT-U-3",
- AAIProperties.END_SOT, "JUNIT-U-4",
- AAIProperties.END_TX_ID, "JUNIT-U-4",
- AAIProperties.START_TS, 17000L,
- AAIProperties.END_TS, 20000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "20000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U-4",
- AAIProperties.START_TX_ID, "JUNIT-U-4",
- AAIProperties.START_TS, 20000L
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property("in-maint", true,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property("equip-type", "second-ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U-1",
- AAIProperties.END_TX_ID, "JUNIT-U-1",
- AAIProperties.START_TS, 10000L,
- AAIProperties.END_TS, 13000L
- )
- .property("equip-type", "second-ps-type-recreated",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U-2",
- AAIProperties.START_TX_ID, "JUNIT-U-2",
- AAIProperties.END_SOT, "JUNIT-U-3",
- AAIProperties.END_TX_ID, "JUNIT-U-3",
- AAIProperties.START_TS, 15000L,
- AAIProperties.END_TS, 17000L
- )
- .property("equip-type", "second-ps-type-update",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U-3",
- AAIProperties.START_TX_ID, "JUNIT-U-3",
- AAIProperties.START_TS, 17000L,
- AAIProperties.END_SOT, "JUNIT-U-4",
- AAIProperties.END_TX_ID, "JUNIT-U-4",
- AAIProperties.END_TS, 20000L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property(AAIProperties.START_TS, 10000L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .next();
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
- return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
- }
-
- private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint, String additionalFilterInParen) throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
-
- private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
- List<String> expected = Arrays.asList(expectedEquipTypes);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("value") && !property.getAsJsonObject().get("value").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("sot") && !property.getAsJsonObject().get("sot").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type SoTs in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTxId(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("tx-id") && !property.getAsJsonObject().get("tx-id").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("tx-id").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type tx-ids in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
- List<Long> expected = Arrays.asList(expectedSTOs);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("timestamp") && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("timestamp").getAsLong());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type timestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyNodeTimestamps(JsonArray results, Long... nodeTimestamps) {
- List<Long> expected = Arrays.asList(nodeTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("node-actions").getAsJsonArray().forEach(jsonElement ->
- actualEquipType.add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
- }
- assertThat("Verify node-changes timestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyNodeSot(JsonArray results, String... nodeSots) {
- List<String> expected = Arrays.asList(nodeSots);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("node-actions").getAsJsonArray().forEach(jsonElement ->
- actualEquipType.add(jsonElement.getAsJsonObject().get("sot").getAsString()));
- }
- assertThat("Verify node-changes sot in lifecycle", actualEquipType, is(expected));
- }
-
-
- @Test
- public void lifecycleQueryNoStartOrEndTsTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
- equipType = "second-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
- verifyNodeTimestamps(results, 10000L);
- }
-
-
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
- equipType = "second-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
- verifyNodeTimestamps(results, 10000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAtCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=100";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=300";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L);
- verifyNodeTimestamps(results, 10000L, 1000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAtFirstUpdateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=500";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L);
- verifyNodeTimestamps(results, 10000L, 1000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterFirstUpdateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=700";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
- verifyNodeTimestamps(results, 10000L, 1000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAtFirstDeleteTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
- verifyNodeTimestamps(results, 10000L, 1000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterFirstDeleteTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=5000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
- verifyNodeTimestamps(results, 10000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAtSecondCreateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=10000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
- verifyNodeTimestamps(results, 10000L);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterSecondCreateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=12000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null);
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAtEquipTypeFirstDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=13000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null);
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterEquipTypeFirstDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=14000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAtEquipTypeRecreateOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=15000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterEquipTypeRecreateOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=16000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3");
- verifyEquipTypeTimestamps(results, 20000L, 17000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAtEquipTypeUpdateOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=17000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3");
- verifyEquipTypeTimestamps(results, 20000L, 17000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterEquipTypeUpdateOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=19000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, new String[] {null});
- verifyEquipTypeSoTs(results, "JUNIT-U-4");
- verifyEquipTypeTxId(results, "JUNIT-U-4");
- verifyEquipTypeTimestamps(results, 20000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsOnEquipTypeSecondDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=20000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, new String[] {null});
- verifyEquipTypeSoTs(results, "JUNIT-U-4");
- verifyEquipTypeTxId(results, "JUNIT-U-4");
- verifyEquipTypeTimestamps(results, 20000L);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsAfterEquipTypeSecondDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=22000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 0, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results);
- }
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationEndTimeAfterEquipTypeSecondDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=22000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
- }
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationEndTimeAtEquipTypeSecondDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=20000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
- }
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationEndTimeBeforeEquipTypeSecondDeleteOnSecondPsTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=19000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "second-ps-type-update", "second-ps-type-recreated", null, "second-ps-type", "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
- }
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationEndTimeBeforeSecondPsCreateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=9000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
- }
-
- @Test
- public void verifyNodeActionsWithNoTimeRangeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
- verifyNodeTimestamps(results, 10000L, 1000L, 100L);
- verifyNodeSot(results, "JUNIT-C", "JUNIT-D", "JUNIT-C");
- }
+@Ignore("The lifecycle format requires the history schema to be loaded. "
+ + "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. "
+ + "This needs to be addressed.")
+public class DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest
+ extends AbstractSpringHistoryRestTest {
+
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(DslConsumerHistoryLifecycleNodeDeletedThenRecreatedTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+ /*
+ * Pserver
+ * - created pserver @ time 100
+ * - equip-type = first-ps-type
+ * - update equip-type @ 500
+ * - equip-type = first-ps-type-update
+ * - deleted pserver @ time 1000
+ */
+ g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.END_SOT, "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D",
+ AAIProperties.START_TS, 100L, AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-U", AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property(AAIProperties.RESOURCE_VERSION, "500", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property("equip-type", "first-ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U",
+ AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property("equip-type", "first-ps-type-update", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.END_SOT, "JUNIT-D", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-D", AAIProperties.START_TX_ID, "JUNIT-D", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.END_TS, 1000L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
+ AAIProperties.START_TX_ID, "JUNIT-D", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 1000L,
+ AAIProperties.END_TS, 1000L)
+ .next();
+
+ /*
+ * Pserver
+ * - created pserver @ time 10000
+ * - equip-type = second-ps-type
+ * - delete equip-type @ 13000
+ * - recreate equip-type @ 15000
+ * - equip-type = second-ps-type-recreated
+ * - update equip-type @ 17000
+ * - equip-type = second-ps-type-update
+ * - delete equip-type @ 20000
+ */
+ g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 10000L)
+ .property(AAIProperties.RESOURCE_VERSION, "10000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-U-1", AAIProperties.END_TX_ID, "JUNIT-U-1", AAIProperties.START_TS,
+ 10000L, AAIProperties.END_TS, 13000L)
+ .property(AAIProperties.RESOURCE_VERSION, "13000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U-1", AAIProperties.START_TX_ID, "JUNIT-U-1", AAIProperties.END_SOT,
+ "JUNIT-U-2", AAIProperties.END_TX_ID, "JUNIT-U-2", AAIProperties.START_TS,
+ 13000L, AAIProperties.END_TS, 15000L)
+ .property(AAIProperties.RESOURCE_VERSION, "15000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U-2", AAIProperties.START_TX_ID, "JUNIT-U-2", AAIProperties.END_SOT,
+ "JUNIT-U-3", AAIProperties.END_TX_ID, "JUNIT-U-3", AAIProperties.START_TS,
+ 15000L, AAIProperties.END_TS, 17000L)
+ .property(AAIProperties.RESOURCE_VERSION, "17000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U-3", AAIProperties.START_TX_ID, "JUNIT-U-3", AAIProperties.END_SOT,
+ "JUNIT-U-4", AAIProperties.END_TX_ID, "JUNIT-U-4", AAIProperties.START_TS,
+ 17000L, AAIProperties.END_TS, 20000L)
+ .property(AAIProperties.RESOURCE_VERSION, "20000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U-4", AAIProperties.START_TX_ID, "JUNIT-U-4", AAIProperties.START_TS,
+ 20000L)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property("in-maint", true, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property("equip-type", "second-ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U-1",
+ AAIProperties.END_TX_ID, "JUNIT-U-1", AAIProperties.START_TS, 10000L,
+ AAIProperties.END_TS, 13000L)
+ .property("equip-type", "second-ps-type-recreated", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U-2", AAIProperties.START_TX_ID, "JUNIT-U-2", AAIProperties.END_SOT,
+ "JUNIT-U-3", AAIProperties.END_TX_ID, "JUNIT-U-3", AAIProperties.START_TS,
+ 15000L, AAIProperties.END_TS, 17000L)
+ .property("equip-type", "second-ps-type-update", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U-3", AAIProperties.START_TX_ID, "JUNIT-U-3", AAIProperties.START_TS,
+ 17000L, AAIProperties.END_SOT, "JUNIT-U-4", AAIProperties.END_TX_ID,
+ "JUNIT-U-4", AAIProperties.END_TS, 20000L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property(AAIProperties.START_TS, 10000L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .next();
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
+ return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
+ }
+
+ private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint,
+ String additionalFilterInParen) throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
+ List<String> expected = Arrays.asList(expectedEquipTypes);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("value")
+ && !property.getAsJsonObject().get("value").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("sot")
+ && !property.getAsJsonObject().get("sot").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type SoTs in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTxId(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("tx-id")
+ && !property.getAsJsonObject().get("tx-id").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("tx-id").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type tx-ids in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
+ List<Long> expected = Arrays.asList(expectedSTOs);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("timestamp")
+ && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
+ actualEquipType
+ .add(property.getAsJsonObject().get("timestamp").getAsLong());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type timestamps in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyNodeTimestamps(JsonArray results, Long... nodeTimestamps) {
+ List<Long> expected = Arrays.asList(nodeTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("node-actions").getAsJsonArray()
+ .forEach(jsonElement -> actualEquipType
+ .add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
+ }
+ assertThat("Verify node-changes timestamps in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyNodeSot(JsonArray results, String... nodeSots) {
+ List<String> expected = Arrays.asList(nodeSots);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("node-actions").getAsJsonArray()
+ .forEach(jsonElement -> actualEquipType
+ .add(jsonElement.getAsJsonObject().get("sot").getAsString()));
+ }
+ assertThat("Verify node-changes sot in lifecycle", actualEquipType, is(expected));
+ }
+
+ @Test
+ public void lifecycleQueryNoStartOrEndTsTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ equipType = "second-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
+ verifyNodeTimestamps(results, 10000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ equipType = "second-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
+ verifyNodeTimestamps(results, 10000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=100";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=300";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L);
+ verifyNodeTimestamps(results, 10000L, 1000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtFirstUpdateTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=500";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L);
+ verifyNodeTimestamps(results, 10000L, 1000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterFirstUpdateTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=700";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
+ verifyNodeTimestamps(results, 10000L, 1000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtFirstDeleteTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
+ verifyNodeTimestamps(results, 10000L, 1000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterFirstDeleteTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=5000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
+ verifyNodeTimestamps(results, 10000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtSecondCreateTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=10000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L);
+ verifyNodeTimestamps(results, 10000L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterSecondCreateTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=12000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null);
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtEquipTypeFirstDeleteOnSecondPsTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=13000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null);
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterEquipTypeFirstDeleteOnSecondPsTimeTest()
+ throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=14000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtEquipTypeRecreateOnSecondPsTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=15000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterEquipTypeRecreateOnSecondPsTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=16000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtEquipTypeUpdateOnSecondPsTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=17000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterEquipTypeUpdateOnSecondPsTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=19000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, new String[] {null});
+ verifyEquipTypeSoTs(results, "JUNIT-U-4");
+ verifyEquipTypeTxId(results, "JUNIT-U-4");
+ verifyEquipTypeTimestamps(results, 20000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsOnEquipTypeSecondDeleteOnSecondPsTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=20000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, new String[] {null});
+ verifyEquipTypeSoTs(results, "JUNIT-U-4");
+ verifyEquipTypeTxId(results, "JUNIT-U-4");
+ verifyEquipTypeTimestamps(results, 20000L);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterEquipTypeSecondDeleteOnSecondPsTimeTest()
+ throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=22000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 0, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationEndTimeAfterEquipTypeSecondDeleteOnSecondPsTimeTest()
+ throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=22000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationEndTimeAtEquipTypeSecondDeleteOnSecondPsTimeTest()
+ throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=20000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, null, "second-ps-type-update", "second-ps-type-recreated",
+ null, "second-ps-type", "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-4", "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C",
+ "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 20000L, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationEndTimeBeforeEquipTypeSecondDeleteOnSecondPsTimeTest()
+ throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=19000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "second-ps-type-update", "second-ps-type-recreated", null,
+ "second-ps-type", "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U",
+ "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U-3", "JUNIT-U-2", "JUNIT-U-1", "JUNIT-C", "JUNIT-U",
+ "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 17000L, 15000L, 13000L, 10000L, 500L, 100L);
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationEndTimeBeforeSecondPsCreateTimeTest()
+ throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50&endTs=9000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+ }
+
+ @Test
+ public void verifyNodeActionsWithNoTimeRangeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+ verifyNodeTimestamps(results, 10000L, 1000L, 100L);
+ verifyNodeSot(results, "JUNIT-C", "JUNIT-D", "JUNIT-C");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleSingleNodeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleSingleNodeTest.java
index e59573d..6d1a36c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleSingleNodeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryLifecycleSingleNodeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,9 +19,15 @@
*/
package org.onap.aai.rest.history;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraphTransaction;
import org.junit.Ignore;
@@ -36,432 +42,404 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-@Ignore("The lifecycle format requires the history schema to be loaded. " +
- "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. " +
- "This needs to be addressed.")
+@Ignore("The lifecycle format requires the history schema to be loaded. "
+ + "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. "
+ + "This needs to be addressed.")
public class DslConsumerHistoryLifecycleSingleNodeTest extends AbstractSpringHistoryRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerHistoryLifecycleSingleNodeTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
- /*
- Pserver
- - created pserver @ time 100
- - equip-type = first-ps-type
- - update equip-type @ 500
- - equip-type = first-ps-type-update
- - deleted pserver @ time 1000
- */
- g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property(AAIProperties.RESOURCE_VERSION, "500",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property("equip-type", "first-ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property("equip-type", "first-ps-type-update",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
- AAIProperties.START_TX_ID, "JUNIT-D",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.END_TS, 1000L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
- AAIProperties.START_TX_ID, "JUNIT-D",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 1000L,
- AAIProperties.END_TS, 1000L
- )
- .next();
-
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
- return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
- }
-
- private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint, String additionalFilterInParen) throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
-
- private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
- List<String> expected = Arrays.asList(expectedEquipTypes);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("value") && !property.getAsJsonObject().get("value").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("sot") && !property.getAsJsonObject().get("sot").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type SoTs in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTxId(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("tx-id") && !property.getAsJsonObject().get("tx-id").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("tx-id").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type tx-ids in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
- List<Long> expected = Arrays.asList(expectedSTOs);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("timestamp") && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("timestamp").getAsLong());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type timestamps in lifecycle", actualEquipType, is(expected));
- }
-
- private void verifyNodeTimestamps(JsonArray results, Long... nodeTimestamps) {
- List<Long> expected = Arrays.asList(nodeTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("node-actions").getAsJsonArray().forEach(jsonElement ->
- actualEquipType.add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
- }
- assertThat("Verify node-changes timestamps in lifecycle", actualEquipType, is(expected));
- }
-
-
- @Test
- public void lifecycleQueryNoStartOrEndTsTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
-
-
- @Test
- public void lifecycleQueryStartTsBeforeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
- @Test
- public void lifecycleQueryStartTsAtCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=100";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
- verifyEquipTypeTimestamps(results, 500L, 100L);
- verifyNodeTimestamps(results, 1000L, 100L);
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
- @Test
- public void lifecycleQueryStartTsAfterCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=300";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U");
- verifyEquipTypeTxId(results, "JUNIT-U");
- verifyEquipTypeTimestamps(results, 500L);
- verifyNodeTimestamps(results, 1000L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U");
- verifyEquipTypeTxId(results, "JUNIT-U");
- verifyEquipTypeTimestamps(results, 500L);
- verifyNodeTimestamps(results, 1000L);
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
- @Test
- public void lifecycleQueryStartTsAtUpdateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=500";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U");
- verifyEquipTypeTxId(results, "JUNIT-U");
- verifyEquipTypeTimestamps(results, 500L);
- verifyNodeTimestamps(results, 1000L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyEquipTypeSoTs(results, "JUNIT-U");
- verifyEquipTypeTxId(results, "JUNIT-U");
- verifyEquipTypeTimestamps(results, 500L);
- verifyNodeTimestamps(results, 1000L);
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
- @Test
- public void lifecycleQueryStartTsAfterUpdateTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=700";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTxId(results);
- verifyEquipTypeTimestamps(results);
- verifyNodeTimestamps(results, 1000L);
-
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
- @Test
- public void lifecycleQueryStartTsAtDeleteTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
- assertEquals("properties size should be 0", results.get(0).getAsJsonObject().get("properties").getAsJsonArray().size(), 0);
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
-
- @Test
- public void lifecycleQueryStartTsAfterDeleteTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=5000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 0, results.size());
-
- String equipType = "first-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "other-ps-type-recreated";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(DslConsumerHistoryLifecycleSingleNodeTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+ /*
+ * Pserver
+ * - created pserver @ time 100
+ * - equip-type = first-ps-type
+ * - update equip-type @ 500
+ * - equip-type = first-ps-type-update
+ * - deleted pserver @ time 1000
+ */
+ g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.END_SOT, "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D",
+ AAIProperties.START_TS, 100L, AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-U", AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property(AAIProperties.RESOURCE_VERSION, "500", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property("equip-type", "first-ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U",
+ AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property("equip-type", "first-ps-type-update", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.END_SOT, "JUNIT-D", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-D", AAIProperties.START_TX_ID, "JUNIT-D", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.END_TS, 1000L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
+ AAIProperties.START_TX_ID, "JUNIT-D", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 1000L,
+ AAIProperties.END_TS, 1000L)
+ .next();
+
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
+ return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
+ }
+
+ private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint,
+ String additionalFilterInParen) throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
+ List<String> expected = Arrays.asList(expectedEquipTypes);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("value")
+ && !property.getAsJsonObject().get("value").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("sot")
+ && !property.getAsJsonObject().get("sot").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type SoTs in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTxId(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("tx-id")
+ && !property.getAsJsonObject().get("tx-id").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("tx-id").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type tx-ids in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
+ List<Long> expected = Arrays.asList(expectedSTOs);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("timestamp")
+ && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
+ actualEquipType
+ .add(property.getAsJsonObject().get("timestamp").getAsLong());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type timestamps in lifecycle", actualEquipType, is(expected));
+ }
+
+ private void verifyNodeTimestamps(JsonArray results, Long... nodeTimestamps) {
+ List<Long> expected = Arrays.asList(nodeTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("node-actions").getAsJsonArray()
+ .forEach(jsonElement -> actualEquipType
+ .add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
+ }
+ assertThat("Verify node-changes timestamps in lifecycle", actualEquipType, is(expected));
+ }
+
+ @Test
+ public void lifecycleQueryNoStartOrEndTsTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsBeforeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=50";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=100";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update", "first-ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTxId(results, "JUNIT-U", "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 500L, 100L);
+ verifyNodeTimestamps(results, 1000L, 100L);
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=300";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U");
+ verifyEquipTypeTxId(results, "JUNIT-U");
+ verifyEquipTypeTimestamps(results, 500L);
+ verifyNodeTimestamps(results, 1000L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U");
+ verifyEquipTypeTxId(results, "JUNIT-U");
+ verifyEquipTypeTimestamps(results, 500L);
+ verifyNodeTimestamps(results, 1000L);
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtUpdateTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=500";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U");
+ verifyEquipTypeTxId(results, "JUNIT-U");
+ verifyEquipTypeTimestamps(results, 500L);
+ verifyNodeTimestamps(results, 1000L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyEquipTypeSoTs(results, "JUNIT-U");
+ verifyEquipTypeTxId(results, "JUNIT-U");
+ verifyEquipTypeTimestamps(results, 500L);
+ verifyNodeTimestamps(results, 1000L);
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterUpdateTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=700";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTxId(results);
+ verifyEquipTypeTimestamps(results);
+ verifyNodeTimestamps(results, 1000L);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAtDeleteTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=1000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+ assertEquals("properties size should be 0",
+ results.get(0).getAsJsonObject().get("properties").getAsJsonArray().size(), 0);
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
+
+ @Test
+ public void lifecycleQueryStartTsAfterDeleteTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=lifecycle&startTs=5000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 0, results.size());
+
+ String equipType = "first-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "other-ps-type-recreated";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateEdgeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateEdgeTest.java
index 4e122dc..6b9815c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateEdgeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateEdgeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,10 +19,16 @@
*/
package org.onap.aai.rest.history;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.JanusGraphTransaction;
@@ -38,439 +44,372 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-@Ignore("The state format requires the history schema to be loaded. " +
- "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. " +
- "This needs to be addressed.")
+@Ignore("The state format requires the history schema to be loaded. "
+ + "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. "
+ + "This needs to be addressed.")
public class DslConsumerHistoryStateEdgeTest extends AbstractSpringHistoryRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerHistoryStateEdgeTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
-
- Vertex pserver = g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("equip-type", "ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .next();
- Vertex complex = g.addV().property(AAIProperties.NODE_TYPE, "complex",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/complexes/complex/test-complex-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("physical-location-id", "test-complex-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("street", "200 S. Laurel Ave",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("city", "Middletown",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("state", "NJ",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property("zip", "11111",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 100L
- )
- .next();
-
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 100,
- "private", false,
- "aai-uuid", "edge1",
- "end-source-of-truth", "JUNIT-E-D-1",
- "end-tx-id", "JUNIT-E-D-1",
- "end-ts", 300,
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-1",
- "start-tx-id", "JUNIT-E-C-1",
- "contains-other-v", "NONE"
- );
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 500,
- "private", false,
- "aai-uuid", "edge2",
- "end-source-of-truth", "JUNIT-E-D-2",
- "end-tx-id", "JUNIT-E-D-2",
- "end-ts", 700,
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-2",
- "start-tx-id", "JUNIT-E-C-2",
- "contains-other-v", "NONE"
- );
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 900,
- "private", false,
- "aai-uuid", "edge3",
- "end-source-of-truth", "JUNIT-E-D-3",
- "end-tx-id", "JUNIT-E-D-3",
- "end-ts", 1100,
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-3",
- "start-tx-id", "JUNIT-E-C-3",
- "contains-other-v", "NONE"
- );
- pserver.addEdge("org.onap.relationships.inventory.LocatedIn",
- complex,
- "start-ts", 1300,
- "private", false,
- "aai-uuid", "edge3",
- "prevent-delete", "IN",
- "delete-other-v", "NONE",
- "source-of-truth", "JUNIT-E-C-3",
- "start-tx-id", "JUNIT-E-C-3",
- "contains-other-v", "NONE"
- );
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
- return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
- }
-
- private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint, String additionalFilterInParen) throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
-
- private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
- List<String> expected = Arrays.asList(expectedEquipTypes);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- assertFalse("State format properties should not have end timestamps",
- property.getAsJsonObject().has("end-timestamp"));
- if (property.getAsJsonObject().has("value") && !property.getAsJsonObject().get("value").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type in state", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
- List<String> expected = Arrays.asList(expectedSTOs);
- final List<String> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("sot") && !property.getAsJsonObject().get("sot").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type SoTs in state", actualEquipType, is(expected));
- }
-
- private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
- List<Long> expected = Arrays.asList(expectedSTOs);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- if (property.getAsJsonObject().has("timestamp") && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
- actualEquipType.add(property.getAsJsonObject().get("timestamp").getAsLong());
- } else {
- actualEquipType.add(null);
- }
- }
- }
- }
- assertThat("Verify equip-type timestamps in state", actualEquipType, is(expected));
- }
-
- private void verifyRelatedToCreatedTimestamps(JsonArray results, Long... edgeCreatedTimestamps) {
- List<Long> expected = Arrays.asList(edgeCreatedTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement ->
- actualEquipType.add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
- }
- assertThat("Verify related-to createdtimestamps in state", actualEquipType, is(expected));
- }
-
- private void verifyRelatedToCreatedDeletedTimestamps(JsonArray results, Long... edgeDeletedTimestamps) {
- List<Long> expected = Arrays.asList(edgeDeletedTimestamps);
- final List<Long> actualEquipType = new ArrayList<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
- if (jsonElement.getAsJsonObject().has("end-timestamp")) {
- actualEquipType.add(jsonElement.getAsJsonObject().get("end-timestamp").getAsLong());
- }
- });
- }
- assertThat("Verify related-to created timestamps in state", actualEquipType, is(expected));
- }
-
- private void verifyRelatedToCount(JsonArray results, int expectedSize) {
- int actualSize = 0;
- for (JsonElement result : results) {
- actualSize += result.getAsJsonObject().get("related-to").getAsJsonArray().size();
- }
- assertEquals("Verify related-to count", actualSize, expectedSize);
- }
-
- private void verifyAllPropsTxIds(JsonArray results) {
- final Set<String> propMissingCreatedTxId = new HashSet<>();
- final Set<String> propContainingEndTxId = new HashSet<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (!property.getAsJsonObject().has("tx-id")) {
- propMissingCreatedTxId.add(property.getAsJsonObject().get("key").getAsString());
- }
- if (property.getAsJsonObject().has("end-tx-id")) {
- propContainingEndTxId.add(property.getAsJsonObject().get("key").getAsString());
- }
- }
- }
-
- assertThat("Verify no prop is missing tx-id in state", propMissingCreatedTxId, is(Collections.EMPTY_SET));
- assertThat("Verify no prop has end-tx-id in state", propContainingEndTxId, is(Collections.EMPTY_SET));
- }
-
- private void verifyRelatedToCreatedTxId(JsonArray results) {
- final Set<JsonObject> edgeMissingCreatedTxId = new HashSet<>();
- final Set<JsonObject> edgeContainingEndTxId = new HashSet<>();
- for (JsonElement result : results) {
- result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
- if (!jsonElement.getAsJsonObject().has("tx-id")) {
- edgeMissingCreatedTxId.add(jsonElement.getAsJsonObject());
- }
- if (jsonElement.getAsJsonObject().has("end-tx-id")) {
- edgeContainingEndTxId.add(jsonElement.getAsJsonObject());
- }
- });
- }
- assertThat("Verify no related-to is missing tx-id in state", edgeMissingCreatedTxId, is(Collections.EMPTY_SET));
- assertThat("Verify no related-to has end-tx-id in state", edgeContainingEndTxId, is(Collections.EMPTY_SET));
- }
-
- @Test
- public void stateQueryStartTsBeforeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=50";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 0, results.size());
-
- verifyEquipTypeValues(results);
- verifyEquipTypeSoTs(results);
- verifyEquipTypeTimestamps(results);
- verifyRelatedToCreatedTimestamps(results);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 0);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
-
-
-
- @Test
- public void stateQueryStartTsBeforeSecondEdgeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=400";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 0);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
-
- @Test
- public void stateQueryStartTsAfterSecondEdgeCreationTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=600";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results, 500L);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 1);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
-
- @Test
- public void stateQueryStartTsAtSecondEdgeDeletionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=700";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 0);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
-
- @Test
- public void stateQueryStartTsAfterSecondEdgeDeletionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=800";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 0);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
-
- @Test
- public void stateQueryStartTsAtLastEdgeActionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=1300";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 1);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
-
- @Test
- public void stateQueryStartTsAfterLastEdgeActionTimeTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=1400";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals("Result size", 1, results.size());
-
- verifyEquipTypeValues(results, "ps-type");
- verifyEquipTypeSoTs(results, "JUNIT-C");
- verifyEquipTypeTimestamps(results, 100L);
- verifyRelatedToCreatedTimestamps(results, 1300L);
- verifyRelatedToCreatedDeletedTimestamps(results);
- verifyRelatedToCount(results, 1);
- verifyAllPropsTxIds(results);
- verifyRelatedToCreatedTxId(results);
- }
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(DslConsumerHistoryStateEdgeTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+
+ Vertex pserver = g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("equip-type", "ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+ Vertex complex = g.addV()
+ .property(AAIProperties.NODE_TYPE, "complex", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/complexes/complex/test-complex-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 100L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("physical-location-id", "test-complex-dsl", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("street", "200 S. Laurel Ave", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("city", "Middletown", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("state", "NJ", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property("zip", "11111", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 100L)
+ .next();
+
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 100,
+ "private", false, "aai-uuid", "edge1", "end-source-of-truth", "JUNIT-E-D-1",
+ "end-tx-id", "JUNIT-E-D-1", "end-ts", 300, "prevent-delete", "IN", "delete-other-v",
+ "NONE", "source-of-truth", "JUNIT-E-C-1", "start-tx-id", "JUNIT-E-C-1",
+ "contains-other-v", "NONE");
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 500,
+ "private", false, "aai-uuid", "edge2", "end-source-of-truth", "JUNIT-E-D-2",
+ "end-tx-id", "JUNIT-E-D-2", "end-ts", 700, "prevent-delete", "IN", "delete-other-v",
+ "NONE", "source-of-truth", "JUNIT-E-C-2", "start-tx-id", "JUNIT-E-C-2",
+ "contains-other-v", "NONE");
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 900,
+ "private", false, "aai-uuid", "edge3", "end-source-of-truth", "JUNIT-E-D-3",
+ "end-tx-id", "JUNIT-E-D-3", "end-ts", 1100, "prevent-delete", "IN",
+ "delete-other-v", "NONE", "source-of-truth", "JUNIT-E-C-3", "start-tx-id",
+ "JUNIT-E-C-3", "contains-other-v", "NONE");
+ pserver.addEdge("org.onap.relationships.inventory.LocatedIn", complex, "start-ts", 1300,
+ "private", false, "aai-uuid", "edge3", "prevent-delete", "IN", "delete-other-v",
+ "NONE", "source-of-truth", "JUNIT-E-C-3", "start-tx-id", "JUNIT-E-C-3",
+ "contains-other-v", "NONE");
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
+ return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
+ }
+
+ private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint,
+ String additionalFilterInParen) throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private void verifyEquipTypeValues(JsonArray results, String... expectedEquipTypes) {
+ List<String> expected = Arrays.asList(expectedEquipTypes);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ assertFalse("State format properties should not have end timestamps",
+ property.getAsJsonObject().has("end-timestamp"));
+ if (property.getAsJsonObject().has("value")
+ && !property.getAsJsonObject().get("value").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type in state", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeSoTs(JsonArray results, String... expectedSTOs) {
+ List<String> expected = Arrays.asList(expectedSTOs);
+ final List<String> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("sot")
+ && !property.getAsJsonObject().get("sot").isJsonNull()) {
+ actualEquipType.add(property.getAsJsonObject().get("sot").getAsString());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type SoTs in state", actualEquipType, is(expected));
+ }
+
+ private void verifyEquipTypeTimestamps(JsonArray results, Long... expectedSTOs) {
+ List<Long> expected = Arrays.asList(expectedSTOs);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ if (property.getAsJsonObject().has("timestamp")
+ && !property.getAsJsonObject().get("timestamp").isJsonNull()) {
+ actualEquipType
+ .add(property.getAsJsonObject().get("timestamp").getAsLong());
+ } else {
+ actualEquipType.add(null);
+ }
+ }
+ }
+ }
+ assertThat("Verify equip-type timestamps in state", actualEquipType, is(expected));
+ }
+
+ private void verifyRelatedToCreatedTimestamps(JsonArray results,
+ Long... edgeCreatedTimestamps) {
+ List<Long> expected = Arrays.asList(edgeCreatedTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("related-to").getAsJsonArray()
+ .forEach(jsonElement -> actualEquipType
+ .add(jsonElement.getAsJsonObject().get("timestamp").getAsLong()));
+ }
+ assertThat("Verify related-to createdtimestamps in state", actualEquipType, is(expected));
+ }
+
+ private void verifyRelatedToCreatedDeletedTimestamps(JsonArray results,
+ Long... edgeDeletedTimestamps) {
+ List<Long> expected = Arrays.asList(edgeDeletedTimestamps);
+ final List<Long> actualEquipType = new ArrayList<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
+ if (jsonElement.getAsJsonObject().has("end-timestamp")) {
+ actualEquipType
+ .add(jsonElement.getAsJsonObject().get("end-timestamp").getAsLong());
+ }
+ });
+ }
+ assertThat("Verify related-to created timestamps in state", actualEquipType, is(expected));
+ }
+
+ private void verifyRelatedToCount(JsonArray results, int expectedSize) {
+ int actualSize = 0;
+ for (JsonElement result : results) {
+ actualSize += result.getAsJsonObject().get("related-to").getAsJsonArray().size();
+ }
+ assertEquals("Verify related-to count", actualSize, expectedSize);
+ }
+
+ private void verifyAllPropsTxIds(JsonArray results) {
+ final Set<String> propMissingCreatedTxId = new HashSet<>();
+ final Set<String> propContainingEndTxId = new HashSet<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (!property.getAsJsonObject().has("tx-id")) {
+ propMissingCreatedTxId.add(property.getAsJsonObject().get("key").getAsString());
+ }
+ if (property.getAsJsonObject().has("end-tx-id")) {
+ propContainingEndTxId.add(property.getAsJsonObject().get("key").getAsString());
+ }
+ }
+ }
+
+ assertThat("Verify no prop is missing tx-id in state", propMissingCreatedTxId,
+ is(Collections.EMPTY_SET));
+ assertThat("Verify no prop has end-tx-id in state", propContainingEndTxId,
+ is(Collections.EMPTY_SET));
+ }
+
+ private void verifyRelatedToCreatedTxId(JsonArray results) {
+ final Set<JsonObject> edgeMissingCreatedTxId = new HashSet<>();
+ final Set<JsonObject> edgeContainingEndTxId = new HashSet<>();
+ for (JsonElement result : results) {
+ result.getAsJsonObject().get("related-to").getAsJsonArray().forEach(jsonElement -> {
+ if (!jsonElement.getAsJsonObject().has("tx-id")) {
+ edgeMissingCreatedTxId.add(jsonElement.getAsJsonObject());
+ }
+ if (jsonElement.getAsJsonObject().has("end-tx-id")) {
+ edgeContainingEndTxId.add(jsonElement.getAsJsonObject());
+ }
+ });
+ }
+ assertThat("Verify no related-to is missing tx-id in state", edgeMissingCreatedTxId,
+ is(Collections.EMPTY_SET));
+ assertThat("Verify no related-to has end-tx-id in state", edgeContainingEndTxId,
+ is(Collections.EMPTY_SET));
+ }
+
+ @Test
+ public void stateQueryStartTsBeforeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=50";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 0, results.size());
+
+ verifyEquipTypeValues(results);
+ verifyEquipTypeSoTs(results);
+ verifyEquipTypeTimestamps(results);
+ verifyRelatedToCreatedTimestamps(results);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 0);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
+
+ @Test
+ public void stateQueryStartTsBeforeSecondEdgeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=400";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 0);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
+
+ @Test
+ public void stateQueryStartTsAfterSecondEdgeCreationTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=600";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results, 500L);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 1);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
+
+ @Test
+ public void stateQueryStartTsAtSecondEdgeDeletionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=700";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 0);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
+
+ @Test
+ public void stateQueryStartTsAfterSecondEdgeDeletionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=800";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 0);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
+
+ @Test
+ public void stateQueryStartTsAtLastEdgeActionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=1300";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 1);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
+
+ @Test
+ public void stateQueryStartTsAfterLastEdgeActionTimeTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=1400";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals("Result size", 1, results.size());
+
+ verifyEquipTypeValues(results, "ps-type");
+ verifyEquipTypeSoTs(results, "JUNIT-C");
+ verifyEquipTypeTimestamps(results, 100L);
+ verifyRelatedToCreatedTimestamps(results, 1300L);
+ verifyRelatedToCreatedDeletedTimestamps(results);
+ verifyRelatedToCount(results, 1);
+ verifyAllPropsTxIds(results);
+ verifyRelatedToCreatedTxId(results);
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateTest.java
index bb9584e..5b08d83 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/history/DslConsumerHistoryStateTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,9 +19,15 @@
*/
package org.onap.aai.rest.history;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
+
+import java.util.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraphTransaction;
import org.junit.Ignore;
@@ -36,735 +42,704 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-@Ignore("The state format requires the history schema to be loaded. " +
- "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. " +
- "This needs to be addressed.")
+@Ignore("The state format requires the history schema to be loaded. "
+ + "Because aaigraph is a singleton its very complicated to have 2 different schemas loaded for testing. "
+ + "This needs to be addressed.")
public class DslConsumerHistoryStateTest extends AbstractSpringHistoryRestTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerHistoryStateTest.class);
-
- @Override
- public void createTestGraph() {
- JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
- boolean success = true;
- try {
- GraphTraversalSource g = transaction.traversal();
- /*
- Pserver
- - created @ time 100
- - update in-maint/equip-type @ 500
- - deleted @ time 1000
- */
- g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "100",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property(AAIProperties.RESOURCE_VERSION, "500",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property("in-maint", true,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property("equip-type", "first-ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 500L
- )
- .property("equip-type", "first-ps-type-update",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 500L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
- AAIProperties.START_TX_ID, "JUNIT-D",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.START_TS, 100L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 100L,
- AAIProperties.END_TS, 1000L
- )
- .property(AAIProperties.END_TS, 1000L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
- AAIProperties.START_TX_ID, "JUNIT-D",
- AAIProperties.END_SOT, "JUNIT-D",
- AAIProperties.END_TX_ID, "JUNIT-D",
- AAIProperties.START_TS, 1000L,
- AAIProperties.END_TS, 1000L
- )
- .next();
-
- /*
- Pserver
- - created @ time 10000
- - update in-maint/equip-type @ 15000
- */
- g.addV().property(AAIProperties.NODE_TYPE, "pserver",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property(AAIProperties.AAI_URI, "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "10000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 10000L,
- AAIProperties.END_TS, 15000L
- )
- .property(AAIProperties.RESOURCE_VERSION, "15000",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 15000
- )
- .property("hostname", "test-pserver-dsl",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property("in-maint", true,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 10000L,
- AAIProperties.END_TS, 15000L
- )
- .property("in-maint", false,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 15000L
- )
- .property("equip-type", "second-ps-type",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.END_SOT, "JUNIT-U",
- AAIProperties.END_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 10000L,
- AAIProperties.END_TS, 15000L
- )
- .property("equip-type", "second-ps-type-update",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
- AAIProperties.START_TX_ID, "JUNIT-U",
- AAIProperties.START_TS, 15000L
- )
- .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .property(AAIProperties.START_TS, 10000L,
- AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
- AAIProperties.START_TX_ID, "JUNIT-C",
- AAIProperties.START_TS, 10000L
- )
- .next();
- } catch (Exception ex) {
- success = false;
- } finally {
- if (success) {
- transaction.commit();
- } else {
- transaction.rollback();
- fail("Unable to setup the graph");
- }
- }
- }
-
- private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
- return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
- }
-
- private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint, String additionalFilterInParen) throws Exception {
- Map<String, String> dslQueryMap = new HashMap<>();
- dslQueryMap.put("dsl-query", "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
- String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
- httpEntity = new HttpEntity(payload, headers);
- ResponseEntity responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
- JsonArray results = new JsonParser().parse(responseEntity.getBody().toString()).getAsJsonObject().getAsJsonArray("results");
- LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint, responseEntity.getBody());
-
- assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
- assertEquals("Expected the response to be 200", HttpStatus.OK, responseEntity.getStatusCode());
- return results;
- }
-
- private void verifyEquipTypeValues(JsonArray results, String... equipType) {
- Set<String> expectedEquipTypes = new HashSet<>(Arrays.asList(equipType));
- final Set<String> actualEquipType = new HashSet<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- assertFalse("State format properties should not have end timestamps",
- property.getAsJsonObject().has("end-timestamp"));
- if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
- actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
- }
- }
- }
- assertThat("Verify equip-type in state", actualEquipType, is(expectedEquipTypes));
- }
-
-
- private void verifyAllPropsTxIds(JsonArray results) {
- final Set<String> propMissingCreatedTxId = new HashSet<>();
- final Set<String> propContainingEndTxId = new HashSet<>();
- for (JsonElement result : results) {
- for (JsonElement property : result.getAsJsonObject().get("properties").getAsJsonArray()) {
- if (!property.getAsJsonObject().has("tx-id")) {
- propMissingCreatedTxId.add(property.getAsJsonObject().get("key").getAsString());
- }
- if (property.getAsJsonObject().has("end-tx-id")) {
- propContainingEndTxId.add(property.getAsJsonObject().get("key").getAsString());
- }
- }
- }
-
- assertThat("Verify no prop is missing tx-id in state", propMissingCreatedTxId, is(Collections.EMPTY_SET));
- assertThat("Verify no prop has end-tx-id in state", propContainingEndTxId, is(Collections.EMPTY_SET));
- }
-
- @Test
- public void stateQueryBeforeCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=50";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- @Test
- public void stateQueryAtCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=100";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAfterCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=200";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAtUpdateTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=500";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAfterUpdateTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=700";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAtDeletionTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=1000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- @Test
- public void stateQueryAfterDeletionTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=2000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- // WITH endTs=startTs
- @Test
- public void stateQueryBeforeCreationWithEndTsTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=50&endTs=50";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- @Test
- public void stateQueryAtCreationTimeWithEndTsTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=100&endTs=100";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAfterCreationTimeWithEndTsTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=200&endTs=200";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAtUpdateTimeWithEndTsTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=500&endTs=500";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAfterUpdateTimeWithEndTsTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=700&endTs=700";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "first-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAtDeletionTimeWithEndTsTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=1000&endTs=1000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- @Test
- public void stateQueryAfterDeletionTimeWithEndTsTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=2000&endTs=2000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- // Second pserver
-
- @Test
- public void stateQueryBeforeSecondCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=9000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(0, results.size());
- }
-
- @Test
- public void stateQueryAtSecondCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=10000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "second-ps-type");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAfterSecondCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=12000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "second-ps-type");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAtUpdateAfterSecondCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=15000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "second-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryAfterUpdateAfterSecondCreationTimeTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=17000";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "second-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryNoTimestampTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state";
- JsonArray results = getResultsForPserverLookupByHostname(endpoint);
- assertEquals(1, results.size());
- verifyEquipTypeValues(results, "second-ps-type-update");
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryNoTimestampWithEquipTypeFilterTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
-
- verifyEquipTypeValues(results, equipType);
-
- verifyAllPropsTxIds(results);
- }
-
- @Test
- public void stateQueryTimestampBeforeFirstCreateWithEquipTypeFilterTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=50";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- }
-
- @Test
- public void stateQueryTimestampAtFirstCreateWithEquipTypeFilterTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=100";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
-
- verifyEquipTypeValues(results, equipType);
-
- verifyAllPropsTxIds(results);
-
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
-
- }
-
- @Test
- public void stateQueryTimestampAfterFirstCreateWithEquipTypeFilterTest() throws Exception {
-
- String endpoint = "/aai/v14/dsl?format=state&startTs=200";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ private static final Logger LOGGER = LoggerFactory.getLogger(DslConsumerHistoryStateTest.class);
+
+ @Override
+ public void createTestGraph() {
+ JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+ boolean success = true;
+ try {
+ GraphTraversalSource g = transaction.traversal();
+ /*
+ * Pserver
+ * - created @ time 100
+ * - update in-maint/equip-type @ 500
+ * - deleted @ time 1000
+ */
+ g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.END_SOT, "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D",
+ AAIProperties.START_TS, 100L, AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.RESOURCE_VERSION, "100", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-U", AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property(AAIProperties.RESOURCE_VERSION, "500", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U",
+ AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property("in-maint", true, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
+ AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property("equip-type", "first-ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U",
+ AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 500L)
+ .property("equip-type", "first-ps-type-update", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 500L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.END_SOT, "JUNIT-D", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-D", AAIProperties.START_TX_ID, "JUNIT-D", AAIProperties.END_SOT,
+ "JUNIT-D", AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.START_TS, 100L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 100L,
+ AAIProperties.END_TS, 1000L)
+ .property(AAIProperties.END_TS, 1000L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-D",
+ AAIProperties.START_TX_ID, "JUNIT-D", AAIProperties.END_SOT, "JUNIT-D",
+ AAIProperties.END_TX_ID, "JUNIT-D", AAIProperties.START_TS, 1000L,
+ AAIProperties.END_TS, 1000L)
+ .next();
+
+ /*
+ * Pserver
+ * - created @ time 10000
+ * - update in-maint/equip-type @ 15000
+ */
+ g.addV()
+ .property(AAIProperties.NODE_TYPE, "pserver", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property(AAIProperties.AAI_URI,
+ "/cloud-infrastructure/pservers/pserver/test-pserver-dsl",
+ AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C",
+ AAIProperties.START_TS, 10000L)
+ .property(AAIProperties.RESOURCE_VERSION, "10000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT,
+ "JUNIT-U", AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 10000L,
+ AAIProperties.END_TS, 15000L)
+ .property(AAIProperties.RESOURCE_VERSION, "15000", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.START_TS, 15000)
+ .property("hostname", "test-pserver-dsl", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property("in-maint", true, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U",
+ AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 10000L,
+ AAIProperties.END_TS, 15000L)
+ .property("in-maint", false, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-U",
+ AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.START_TS, 15000L)
+ .property("equip-type", "second-ps-type", AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.END_SOT, "JUNIT-U",
+ AAIProperties.END_TX_ID, "JUNIT-U", AAIProperties.START_TS, 10000L,
+ AAIProperties.END_TS, 15000L)
+ .property("equip-type", "second-ps-type-update", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-U", AAIProperties.START_TX_ID, "JUNIT-U", AAIProperties.START_TS, 15000L)
+ .property(AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C", AAIProperties.SOURCE_OF_TRUTH,
+ "JUNIT-C", AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .property(AAIProperties.START_TS, 10000L, AAIProperties.SOURCE_OF_TRUTH, "JUNIT-C",
+ AAIProperties.START_TX_ID, "JUNIT-C", AAIProperties.START_TS, 10000L)
+ .next();
+ } catch (Exception ex) {
+ success = false;
+ } finally {
+ if (success) {
+ transaction.commit();
+ } else {
+ transaction.rollback();
+ fail("Unable to setup the graph");
+ }
+ }
+ }
+
+ private JsonArray getResultsForPserverLookupByHostname(String endpoint) throws Exception {
+ return getResultsForPserverLookupByHostnameAndAnother(endpoint, "");
+ }
+
+ private JsonArray getResultsForPserverLookupByHostnameAndAnother(String endpoint,
+ String additionalFilterInParen) throws Exception {
+ Map<String, String> dslQueryMap = new HashMap<>();
+ dslQueryMap.put("dsl-query",
+ "pserver*('hostname','test-pserver-dsl')" + additionalFilterInParen);
+ String payload = PayloadUtil.getTemplatePayload("dsl-query.json", dslQueryMap);
+ httpEntity = new HttpEntity(payload, headers);
+ ResponseEntity responseEntity =
+ restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class);
+ JsonArray results = new JsonParser().parse(responseEntity.getBody().toString())
+ .getAsJsonObject().getAsJsonArray("results");
+ LOGGER.debug("Response for PUT request with uri {} : {}", baseUrl + endpoint,
+ responseEntity.getBody());
+
+ assertNotNull("Response from /aai/v14/dsl is not null", responseEntity);
+ assertEquals("Expected the response to be 200", HttpStatus.OK,
+ responseEntity.getStatusCode());
+ return results;
+ }
+
+ private void verifyEquipTypeValues(JsonArray results, String... equipType) {
+ Set<String> expectedEquipTypes = new HashSet<>(Arrays.asList(equipType));
+ final Set<String> actualEquipType = new HashSet<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ assertFalse("State format properties should not have end timestamps",
+ property.getAsJsonObject().has("end-timestamp"));
+ if (property.getAsJsonObject().get("key").getAsString().equals("equip-type")) {
+ actualEquipType.add(property.getAsJsonObject().get("value").getAsString());
+ }
+ }
+ }
+ assertThat("Verify equip-type in state", actualEquipType, is(expectedEquipTypes));
+ }
+
+ private void verifyAllPropsTxIds(JsonArray results) {
+ final Set<String> propMissingCreatedTxId = new HashSet<>();
+ final Set<String> propContainingEndTxId = new HashSet<>();
+ for (JsonElement result : results) {
+ for (JsonElement property : result.getAsJsonObject().get("properties")
+ .getAsJsonArray()) {
+ if (!property.getAsJsonObject().has("tx-id")) {
+ propMissingCreatedTxId.add(property.getAsJsonObject().get("key").getAsString());
+ }
+ if (property.getAsJsonObject().has("end-tx-id")) {
+ propContainingEndTxId.add(property.getAsJsonObject().get("key").getAsString());
+ }
+ }
+ }
+
+ assertThat("Verify no prop is missing tx-id in state", propMissingCreatedTxId,
+ is(Collections.EMPTY_SET));
+ assertThat("Verify no prop has end-tx-id in state", propContainingEndTxId,
+ is(Collections.EMPTY_SET));
+ }
+
+ @Test
+ public void stateQueryBeforeCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=50";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ @Test
+ public void stateQueryAtCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=100";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAfterCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=200";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAtUpdateTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=500";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAfterUpdateTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=700";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAtDeletionTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=1000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ @Test
+ public void stateQueryAfterDeletionTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=2000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ // WITH endTs=startTs
+ @Test
+ public void stateQueryBeforeCreationWithEndTsTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=50&endTs=50";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ @Test
+ public void stateQueryAtCreationTimeWithEndTsTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=100&endTs=100";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAfterCreationTimeWithEndTsTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=200&endTs=200";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAtUpdateTimeWithEndTsTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=500&endTs=500";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAfterUpdateTimeWithEndTsTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=700&endTs=700";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "first-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAtDeletionTimeWithEndTsTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=1000&endTs=1000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ @Test
+ public void stateQueryAfterDeletionTimeWithEndTsTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=2000&endTs=2000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ // Second pserver
+
+ @Test
+ public void stateQueryBeforeSecondCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=9000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(0, results.size());
+ }
+
+ @Test
+ public void stateQueryAtSecondCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=10000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "second-ps-type");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAfterSecondCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=12000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "second-ps-type");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAtUpdateAfterSecondCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=15000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "second-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryAfterUpdateAfterSecondCreationTimeTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state&startTs=17000";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "second-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryNoTimestampTest() throws Exception {
+ String endpoint = "/aai/v14/dsl?format=state";
+ JsonArray results = getResultsForPserverLookupByHostname(endpoint);
+ assertEquals(1, results.size());
+ verifyEquipTypeValues(results, "second-ps-type-update");
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryNoTimestampWithEquipTypeFilterTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+
+ verifyEquipTypeValues(results, equipType);
+
+ verifyAllPropsTxIds(results);
+ }
+
+ @Test
+ public void stateQueryTimestampBeforeFirstCreateWithEquipTypeFilterTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=50";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ }
+
+ @Test
+ public void stateQueryTimestampAtFirstCreateWithEquipTypeFilterTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=100";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
+
+ verifyEquipTypeValues(results, equipType);
+
+ verifyAllPropsTxIds(results);
+
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
+
+ }
+
+ @Test
+ public void stateQueryTimestampAfterFirstCreateWithEquipTypeFilterTest() throws Exception {
+
+ String endpoint = "/aai/v14/dsl?format=state&startTs=200";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAtFirstUpdateWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAtFirstUpdateWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=500";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=500";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAfterFirstUpdateWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAfterFirstUpdateWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=700";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=700";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAtFirstDeleteWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAtFirstDeleteWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=1000";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=1000";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAfterFirstDeleteWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAfterFirstDeleteWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=5000";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=5000";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAtSecondCreateWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAtSecondCreateWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=10000";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=10000";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAfterSecondCreateWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAfterSecondCreateWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=12000";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=12000";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- }
+ }
- @Test
- public void stateQueryTimestampAtSecondUpdateWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAtSecondUpdateWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=15000";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=15000";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- }
+ }
- @Test
- public void stateQueryTimestampAfterSecondUpdateWithEquipTypeFilterTest() throws Exception {
+ @Test
+ public void stateQueryTimestampAfterSecondUpdateWithEquipTypeFilterTest() throws Exception {
- String endpoint = "/aai/v14/dsl?format=state&startTs=15000";
- String equipType = "first-ps-type";
- JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ String endpoint = "/aai/v14/dsl?format=state&startTs=15000";
+ String equipType = "first-ps-type";
+ JsonArray results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "first-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "first-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 0, results.size());
+ equipType = "second-ps-type";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 0, results.size());
- equipType = "second-ps-type-update";
- results = getResultsForPserverLookupByHostnameAndAnother(endpoint, "('equip-type','" + equipType + "')");
- assertEquals("Filter equip-type on " + equipType, 1, results.size());
+ equipType = "second-ps-type-update";
+ results = getResultsForPserverLookupByHostnameAndAnother(endpoint,
+ "('equip-type','" + equipType + "')");
+ assertEquals("Filter equip-type on " + equipType, 1, results.size());
- verifyEquipTypeValues(results, equipType);
+ verifyEquipTypeValues(results, equipType);
- verifyAllPropsTxIds(results);
+ verifyAllPropsTxIds(results);
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/retired/RetiredConsumerSpringTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/retired/RetiredConsumerSpringTest.java
index 46e4a35..bd62e71 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/retired/RetiredConsumerSpringTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/retired/RetiredConsumerSpringTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,20 +19,21 @@
*/
package org.onap.aai.rest.retired;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.junit.Assert.assertEquals;
+
import com.att.eelf.configuration.EELFManager;
+
+import java.util.HashMap;
+import java.util.Map;
+
import org.junit.Test;
import org.onap.aai.rest.AbstractSpringRestTest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import java.util.HashMap;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-
public class RetiredConsumerSpringTest extends AbstractSpringRestTest {
private static final Logger LOGGER = LoggerFactory.getLogger(RetiredConsumerSpringTest.class);
@@ -40,7 +41,7 @@ public class RetiredConsumerSpringTest extends AbstractSpringRestTest {
private Map<String, HttpStatus> httpStatusMap;
@Test
- public void testOldVersionsEndpointReturnRetired(){
+ public void testOldVersionsEndpointReturnRetired() {
setupOldVersions();
executeRestCalls();
}
@@ -48,8 +49,10 @@ public class RetiredConsumerSpringTest extends AbstractSpringRestTest {
protected void executeRestCalls() {
httpStatusMap.forEach((url, status) -> {
ResponseEntity responseEntity;
- responseEntity = restTemplate.exchange(baseUrl + url, HttpMethod.GET, httpEntity, String.class);
- LOGGER.debug("For url {} expected status {} actual status {} and body {}", url, status, responseEntity.getStatusCodeValue(), responseEntity.getBody());
+ responseEntity =
+ restTemplate.exchange(baseUrl + url, HttpMethod.GET, httpEntity, String.class);
+ LOGGER.debug("For url {} expected status {} actual status {} and body {}", url, status,
+ responseEntity.getStatusCodeValue(), responseEntity.getBody());
assertEquals(status, responseEntity.getStatusCode());
});
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/AccessServiceFromServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/AccessServiceFromServiceInstanceTest.java
index 8275959..81d80bf 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/AccessServiceFromServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/AccessServiceFromServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -33,61 +33,83 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class AccessServiceFromServiceInstanceTest extends QueryTest {
- public AccessServiceFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
- super();
+ public AccessServiceFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
}
@Test
public void test() {
- super.run();
+ super.run();
}
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-type", "service-subcription-1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type", "customer", "global-customer-id", "customer-id-1", "subscriber-name", "customer-name1", "subscriber-type", "customer-type1");
- Vertex forwardingPath = graph.addVertex(T.label, "forwarding-path", T.id, "4", "aai-node-type", "forwarding-path", "forwarding-path-id", "forwarding-path-id-1", "forwarding-path-name", "forwarding-path-name-1");
- Vertex configuration = graph.addVertex(T.label, "configuration", T.id, "5", "aai-node-type", "configuration", "configuration-id", "configuration-1", "configuration-type", "configuration-type-1", "configuration-sub-type", "configuration-sub-type-1");
- Vertex evc = graph.addVertex(T.label, "evc", T.id, "6", "aai-node-type", "evc", "evc-id", "evc-1");
- Vertex forwarder = graph.addVertex(T.label, "forwarder", T.id,"7", "aai-node-type", "forwarder", "sequence", "forwarder-1");
- Vertex forwarderEvc = graph.addVertex(T.label, "forwarder-evc", T.id, "8", "aai-node-type", "forwarder-evc", "forwarder-evc-id", "forwarder-evc-1");
- Vertex pInterface = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type", "p-interface", "interface-name", "p-interface-1");
- Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "10", "aai-node-type", "pnf", "pnf-name", "pnf1name");
- Vertex lagInterface = graph.addVertex(T.label, "lag-interface", T.id, "11", "aai-node-type", "lag-interface","interface-name", "lagint1");
- Vertex logicalLink = graph.addVertex(T.label, "logical-link", T.id, "12", "aai-node-type", "logical-link", "link-name", "logical-link-1", "link-type", "LAG");
- Vertex badLogicalLink = graph.addVertex(T.label, "logical-link", T.id, "13", "aai-node-type", "logical-link", "link-name", "logical-link-bad", "link-type", "BAD");
- Vertex wrongInterfaceOne = graph.addVertex(T.label, "l-interface", T.id, "14", "aai-node-type", "l-interface", "interface-name", "wrong-interface-1");
- Vertex wrongInterfaceTwo = graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface", "interface-name", "wrong-interface-2");
- Vertex wrongInterfaceThree = graph.addVertex(T.label, "l-interface", T.id, "16", "aai-node-type", "l-interface", "interface-name", "wrong-interface-3");
- Vertex wrongInterfaceFour = graph.addVertex(T.label, "l-interface", T.id, "17", "aai-node-type", "l-interface", "interface-name", "wrong-interface-4");
- Vertex vlanMapping = graph.addVertex(T.label, "vlan-mapping", T.id, "18", "aai-node-type", "vlan-mapping", "vlan-mapping-id", "vlan-mapping-1");
-
+ // Set up the test graph
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-type", "service-subcription-1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type",
+ "customer", "global-customer-id", "customer-id-1", "subscriber-name", "customer-name1",
+ "subscriber-type", "customer-type1");
+ Vertex forwardingPath = graph.addVertex(T.label, "forwarding-path", T.id, "4",
+ "aai-node-type", "forwarding-path", "forwarding-path-id", "forwarding-path-id-1",
+ "forwarding-path-name", "forwarding-path-name-1");
+ Vertex configuration = graph.addVertex(T.label, "configuration", T.id, "5", "aai-node-type",
+ "configuration", "configuration-id", "configuration-1", "configuration-type",
+ "configuration-type-1", "configuration-sub-type", "configuration-sub-type-1");
+ Vertex evc =
+ graph.addVertex(T.label, "evc", T.id, "6", "aai-node-type", "evc", "evc-id", "evc-1");
+ Vertex forwarder = graph.addVertex(T.label, "forwarder", T.id, "7", "aai-node-type",
+ "forwarder", "sequence", "forwarder-1");
+ Vertex forwarderEvc = graph.addVertex(T.label, "forwarder-evc", T.id, "8", "aai-node-type",
+ "forwarder-evc", "forwarder-evc-id", "forwarder-evc-1");
+ Vertex pInterface = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-1");
+ Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "10", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name");
+ Vertex lagInterface = graph.addVertex(T.label, "lag-interface", T.id, "11", "aai-node-type",
+ "lag-interface", "interface-name", "lagint1");
+ Vertex logicalLink = graph.addVertex(T.label, "logical-link", T.id, "12", "aai-node-type",
+ "logical-link", "link-name", "logical-link-1", "link-type", "LAG");
+ Vertex badLogicalLink = graph.addVertex(T.label, "logical-link", T.id, "13",
+ "aai-node-type", "logical-link", "link-name", "logical-link-bad", "link-type", "BAD");
+ Vertex wrongInterfaceOne = graph.addVertex(T.label, "l-interface", T.id, "14",
+ "aai-node-type", "l-interface", "interface-name", "wrong-interface-1");
+ Vertex wrongInterfaceTwo = graph.addVertex(T.label, "l-interface", T.id, "15",
+ "aai-node-type", "l-interface", "interface-name", "wrong-interface-2");
+ Vertex wrongInterfaceThree = graph.addVertex(T.label, "l-interface", T.id, "16",
+ "aai-node-type", "l-interface", "interface-name", "wrong-interface-3");
+ Vertex wrongInterfaceFour = graph.addVertex(T.label, "l-interface", T.id, "17",
+ "aai-node-type", "l-interface", "interface-name", "wrong-interface-4");
+ Vertex vlanMapping = graph.addVertex(T.label, "vlan-mapping", T.id, "18", "aai-node-type",
+ "vlan-mapping", "vlan-mapping-id", "vlan-mapping-1");
+
GraphTraversalSource g = graph.traversal();
-
+
rules.addTreeEdge(g, serviceInstance, serviceSubscription);
rules.addTreeEdge(g, serviceSubscription, customer);
- rules.addEdge(g, serviceInstance,forwardingPath);
+ rules.addEdge(g, serviceInstance, forwardingPath);
rules.addEdge(g, forwardingPath, configuration);
- rules.addTreeEdge(g, configuration,evc);
- rules.addTreeEdge(g, forwardingPath,forwarder);
+ rules.addTreeEdge(g, configuration, evc);
+ rules.addTreeEdge(g, forwardingPath, forwarder);
rules.addEdge(g, forwarder, configuration);
- rules.addTreeEdge(g, configuration,forwarderEvc);
- rules.addTreeEdge(g, vlanMapping,forwarderEvc);
+ rules.addTreeEdge(g, configuration, forwarderEvc);
+ rules.addTreeEdge(g, vlanMapping, forwarderEvc);
rules.addEdge(g, forwarder, pInterface);
- rules.addTreeEdge(g, pnf,pInterface);
+ rules.addTreeEdge(g, pnf, pInterface);
rules.addEdge(g, forwarder, lagInterface);
- rules.addTreeEdge(g, lagInterface,pnf);
- rules.addEdge(g, logicalLink,lagInterface);
-
- //incorrect nodes
+ rules.addTreeEdge(g, lagInterface, pnf);
+ rules.addEdge(g, logicalLink, lagInterface);
+
+ // incorrect nodes
rules.addEdge(g, badLogicalLink, lagInterface);
rules.addEdge(g, configuration, wrongInterfaceOne);
rules.addEdge(g, forwarder, wrongInterfaceTwo);
rules.addTreeEdge(g, pInterface, wrongInterfaceThree);
- rules.addTreeEdge(g, lagInterface, wrongInterfaceFour);
-
+ rules.addTreeEdge(g, lagInterface, wrongInterfaceFour);
+
expectedResult.add(serviceInstance);
expectedResult.add(serviceSubscription);
expectedResult.add(customer);
@@ -101,24 +123,28 @@ public class AccessServiceFromServiceInstanceTest extends QueryTest {
expectedResult.add(pnf);
expectedResult.add(lagInterface);
expectedResult.add(logicalLink);
-
+
}
@Override
protected String getQueryName() {
- return "access-service-fromServiceInstance";
+ return "access-service-fromServiceInstance";
}
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "customer").has("global-customer-id", "customer-id-1").in("org.onap.relationships.inventory.BelongsTo")
- .has("aai-node-type", "service-subscription").has("service-type", "service-subcription-1").in("org.onap.relationships.inventory.BelongsTo")
- .has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
+ g.has("aai-node-type", "customer").has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .has("aai-node-type", "service-subscription")
+ .has("service-type", "service-subcription-1")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .has("aai-node-type", "service-instance")
+ .has("service-instance-id", "service-instance-id-1");
}
@Override
protected void addParam(Map<String, Object> params) {
- return;
+ return;
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/AvailabilityZoneAndComplexfromCloudRegionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/AvailabilityZoneAndComplexfromCloudRegionQueryTest.java
index 7ce6f9b..2f5788b 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/AvailabilityZoneAndComplexfromCloudRegionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/AvailabilityZoneAndComplexfromCloudRegionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,47 +30,60 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class AvailabilityZoneAndComplexfromCloudRegionQueryTest extends QueryTest {
- public AvailabilityZoneAndComplexfromCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public AvailabilityZoneAndComplexfromCloudRegionQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
- Vertex availibityzone = graph.addVertex(T.label, "availability-zone", T.id, "1", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "2", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1","country","country1");
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-10", "cloud-owner", "cloud-owner-10");
- Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "4", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-10", "hypervisor-type", "hypervisortype-10");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "5", "aai-node-type", "complex", "physical-location-id", "physical-location-id-20","country","country20");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, cloudregion, availibityzone);
- rules.addEdge(g, cloudregion,complex);
-
- rules.addTreeEdge(g, cloudregion1, availibityzone1);
- rules.addEdge(g, cloudregion1,complex1);
-
- expectedResult.add(availibityzone);
- expectedResult.add(complex);
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected String getQueryName() {
- return "availabilityZoneAndComplex-fromCloudRegion";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","cloud-region").has("cloud-owner","cloud-owner-1").has("cloud-region-id","cloud-region-id-1");
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
+ Vertex availibityzone = graph.addVertex(T.label, "availability-zone", T.id, "1",
+ "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1",
+ "hypervisor-type", "hypervisortype-1");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "2", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1", "country", "country1");
+
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-10", "cloud-owner", "cloud-owner-10");
+ Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "4",
+ "aai-node-type", "availability-zone", "availability-zone-name", "az-name-10",
+ "hypervisor-type", "hypervisortype-10");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "5", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-20", "country", "country20");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, cloudregion, availibityzone);
+ rules.addEdge(g, cloudregion, complex);
+
+ rules.addTreeEdge(g, cloudregion1, availibityzone1);
+ rules.addEdge(g, cloudregion1, complex1);
+
+ expectedResult.add(availibityzone);
+ expectedResult.add(complex);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "availabilityZoneAndComplex-fromCloudRegion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region").has("cloud-owner", "cloud-owner-1")
+ .has("cloud-region-id", "cloud-region-id-1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ClosedLoopQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ClosedLoopQueryTest.java
index 821836a..3b610f1 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ClosedLoopQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ClosedLoopQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,74 +30,87 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ClosedLoopQueryTest extends QueryTest {
- public ClosedLoopQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
-
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
- Vertex vfModule = graph.addVertex(T.label, "vf-module", T.id, "4", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1");
-
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "5", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "6", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
-
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserver-id-2","vserver-name","vserver-name-1");
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
-
- Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "9", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
- Vertex vfModule1 = graph.addVertex(T.label, "vf-module", T.id, "10", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-2");
-
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "11", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName02");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "12", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-1");
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, vserver, gnvf);
- rules.addEdge(g, gnvf, serviceInstance);
- rules.addTreeEdge(g, gnvf, vfModule);
- rules.addTreeEdge(g, vserver,tenant);
- rules.addTreeEdge(g, tenant,cloudregion);
-
- //Not expected in result
- rules.addEdge(g, vserver1, gnvf1);
- rules.addEdge(g, gnvf1, serviceInstance1);
- rules.addTreeEdge(g, gnvf1, vfModule1);
- rules.addTreeEdge(g, vserver1,tenant1);
- rules.addTreeEdge(g, tenant1,cloudregion1);
- //Not expected in result
-
- expectedResult.add(vserver);
- expectedResult.add(gnvf);
- expectedResult.add(serviceInstance);
- expectedResult.add(vfModule);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
-
- }
-
- @Override
- protected String getQueryName() {
- return "closed-loop";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vserver").has("vserver-id", "vserver-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public ClosedLoopQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
+ Vertex vfModule = graph.addVertex(T.label, "vf-module", T.id, "4", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1");
+
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "5", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "6", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-1");
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2");
+
+ Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "9",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
+ Vertex vfModule1 = graph.addVertex(T.label, "vf-module", T.id, "10", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-2");
+
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "11", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName02");
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "12", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-1");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, vserver, gnvf);
+ rules.addEdge(g, gnvf, serviceInstance);
+ rules.addTreeEdge(g, gnvf, vfModule);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+
+ // Not expected in result
+ rules.addEdge(g, vserver1, gnvf1);
+ rules.addEdge(g, gnvf1, serviceInstance1);
+ rules.addTreeEdge(g, gnvf1, vfModule1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ // Not expected in result
+
+ expectedResult.add(vserver);
+ expectedResult.add(gnvf);
+ expectedResult.add(serviceInstance);
+ expectedResult.add(vfModule);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "closed-loop";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vserver").has("vserver-id", "vserver-id-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionAndSourceFromConfigurationQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionAndSourceFromConfigurationQueryTest.java
index 87e421d..43ddca7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionAndSourceFromConfigurationQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionAndSourceFromConfigurationQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,72 +31,86 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionAndSourceFromConfigurationQueryTest extends QueryTest {
- public CloudRegionAndSourceFromConfigurationQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void test() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex config = graph.addVertex(T.label, "configuration", T.id, "0", "aai-node-type", "configuration", "configuration-id", "configuration");
- Vertex logicalLink = graph.addVertex(T.label, "l", T.id, "1", "aai-node-type", "logical-link", "link-name", "link-name-0");
- Vertex lInterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "interface-name", "interface-name-0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-0", "vserver-name", "vserver-name-0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-0", "cloud-region-owner", "cloud-owner-name-0","cloud-region-version","cloud-region-version-0");
-
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "6", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-0", "vf-module-name", "vf-module-name0");
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
-
-
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface", "interface-name", "interface-name-1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "14", "aai-node-type", "tenant", "tenant-id", "tenantid11", "tenant-name", "tenantName11");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "15", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1","cloud-region-version","cloud-region-version-1");
-
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "16", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "17", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, config, logicalLink);
- rules.addEdge(g, logicalLink, lInterface,"org.onap.relationships.inventory.Source");
- rules.addTreeEdge(g, lInterface, vserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, vserver, vfmodule);
- rules.addTreeEdge(g, vfmodule, gnvf);
-
- rules.addEdge(g, logicalLink, lInterface1,"tosca.relationships.network.LinksTo");//false
- rules.addTreeEdge(g, lInterface1, vserver1);//false
- rules.addTreeEdge(g, vserver1, tenant1);//false
- rules.addTreeEdge(g, tenant1, cloudregion1);//false
- rules.addEdge(g, vserver1, vfmodule1);//false
- rules.addTreeEdge(g, vfmodule1, gnvf1);//false
-
-
- expectedResult.add(cloudregion);
- expectedResult.add(gnvf);
- }
-
- @Override
- protected String getQueryName() {
- return "cloud-region-and-source-FromConfiguration";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "configuration").has("configuration-id", "configuration");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public CloudRegionAndSourceFromConfigurationQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex config = graph.addVertex(T.label, "configuration", T.id, "0", "aai-node-type",
+ "configuration", "configuration-id", "configuration");
+ Vertex logicalLink = graph.addVertex(T.label, "l", T.id, "1", "aai-node-type",
+ "logical-link", "link-name", "link-name-0");
+ Vertex lInterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-0", "vserver-name", "vserver-name-0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-0", "cloud-region-owner",
+ "cloud-owner-name-0", "cloud-region-version", "cloud-region-version-0");
+
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "6", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-0", "vf-module-name", "vf-module-name0");
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
+
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "14", "aai-node-type", "tenant",
+ "tenant-id", "tenantid11", "tenant-name", "tenantName11");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "15", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner",
+ "cloud-owner-name-1", "cloud-region-version", "cloud-region-version-1");
+
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "16", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "17", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, config, logicalLink);
+ rules.addEdge(g, logicalLink, lInterface, "org.onap.relationships.inventory.Source");
+ rules.addTreeEdge(g, lInterface, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, vserver, vfmodule);
+ rules.addTreeEdge(g, vfmodule, gnvf);
+
+ rules.addEdge(g, logicalLink, lInterface1, "tosca.relationships.network.LinksTo");// false
+ rules.addTreeEdge(g, lInterface1, vserver1);// false
+ rules.addTreeEdge(g, vserver1, tenant1);// false
+ rules.addTreeEdge(g, tenant1, cloudregion1);// false
+ rules.addEdge(g, vserver1, vfmodule1);// false
+ rules.addTreeEdge(g, vfmodule1, gnvf1);// false
+
+ expectedResult.add(cloudregion);
+ expectedResult.add(gnvf);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloud-region-and-source-FromConfiguration";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "configuration").has("configuration-id", "configuration");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeQueryTest.java
index 1cf94ca..f3a8352 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,53 +26,67 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionFromNfTypeQueryTest extends QueryTest {
- public CloudRegionFromNfTypeQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnfid01", "nf-type", "sample-nf-type");
- Vertex cloudregion0 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "regionid00", "cloud-region-owner", "cloudOwnername00");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver", "vserver-id", "vserverid01");
-
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnfid02", "nf-type", "ex-nf-type");
- Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type", "cloud-region", "cloud-region-id", "regionid03", "cloud-region-owner", "cloudOwnername03");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-id", "vserverid02");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, tenant, cloudregion0);
- rules.addTreeEdge(g, vserver1, tenant);
- rules.addEdge(g, genericvnf, vserver1);
-
- rules.addTreeEdge(g, tenant2, cloudregion3);
- rules.addTreeEdge(g, vserver2, tenant2);
- rules.addEdge(g, genericvnf2, vserver2);
-
- expectedResult.add(cloudregion0);
- }
- @Override
- protected String getQueryName() {
- return "cloudRegion-fromNfType";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("nf-type", "sample-nf-type");
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public CloudRegionFromNfTypeQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid01", "nf-type", "sample-nf-type");
+ Vertex cloudregion0 =
+ graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region",
+ "cloud-region-id", "regionid00", "cloud-region-owner", "cloudOwnername00");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver",
+ "vserver-id", "vserverid01");
+
+ Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid02", "nf-type", "ex-nf-type");
+ Vertex cloudregion3 =
+ graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type", "cloud-region",
+ "cloud-region-id", "regionid03", "cloud-region-owner", "cloudOwnername03");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type",
+ "vserver", "vserver-id", "vserverid02");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, tenant, cloudregion0);
+ rules.addTreeEdge(g, vserver1, tenant);
+ rules.addEdge(g, genericvnf, vserver1);
+
+ rules.addTreeEdge(g, tenant2, cloudregion3);
+ rules.addTreeEdge(g, vserver2, tenant2);
+ rules.addEdge(g, genericvnf2, vserver2);
+
+ expectedResult.add(cloudregion0);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloudRegion-fromNfType";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("nf-type", "sample-nf-type");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersionTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersionTest.java
index bc4488d..cdc28b7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersionTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersionTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,68 +31,87 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionFromNfTypeVendorVersionTest extends QueryTest {
- public CloudRegionFromNfTypeVendorVersionTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image",
- "image-id", "image1", "image-name", "imageName1", "image-os-distro", "boopOS", "image-os-version", "1.0", "image-selflink", "self/link",
- "application-vendor","vendor1");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "20", "aai-node-type", "vserver", "vserver-id", "vserverid01");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "21", "aai-node-type", "vserver", "vserver-id", "vserverid02");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type", "vserver", "vserver-id", "vserverid03");
-
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "31", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
- Vertex tenant3 = graph.addVertex(T.label, "tenant", T.id, "32", "aai-node-type", "tenant", "tenant-id", "tenantid03", "tenant-name", "tenantName03");
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "40", "aai-node-type", "generic-vnf", "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "41", "aai-node-type", "generic-vnf", "vnf-id", "genvnf2", "vnf-name", "genvnfname2", "nf-type", "wrong-nf-type");
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "50", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg1", "cloud-region-owner", "cloudOwnername00");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "51", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg2", "cloud-region-owner", "cloudOwnername01");
- Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "52", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg3", "cloud-region-owner", "cloudOwnername02");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, cloudregion1, tenant1);
- rules.addTreeEdge(g, cloudregion2, tenant2);
- rules.addTreeEdge(g, cloudregion3, tenant3);
- rules.addTreeEdge(g, tenant1, vserver1);
- rules.addTreeEdge(g, tenant2, vserver2);
- rules.addTreeEdge(g, tenant3, vserver3);
- rules.addEdge(g, genericvnf1, vserver1);
- rules.addEdge(g, genericvnf2, vserver2);
- rules.addEdge(g, genericvnf1, vserver3);
- rules.addEdge(g, vserver1, image1);
- rules.addEdge(g, vserver2, image1);
- rules.addEdge(g, vserver3, image1);
-
- expectedResult.add(cloudregion1);
- expectedResult.add(cloudregion3);
- }
-
- @Override
- protected String getQueryName() {
- return "cloudRegion-fromNfTypeVendorVersion";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","image").has("application-vendor","vendor1"); //TODO another test w the optional param too
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("nfType", "sample-nf-type");
- }
+ public CloudRegionFromNfTypeVendorVersionTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image",
+ "image-id", "image1", "image-name", "imageName1", "image-os-distro", "boopOS",
+ "image-os-version", "1.0", "image-selflink", "self/link", "application-vendor",
+ "vendor1");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "20", "aai-node-type",
+ "vserver", "vserver-id", "vserverid01");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "21", "aai-node-type",
+ "vserver", "vserver-id", "vserverid02");
+ Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type",
+ "vserver", "vserver-id", "vserverid03");
+
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "31", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+ Vertex tenant3 = graph.addVertex(T.label, "tenant", T.id, "32", "aai-node-type", "tenant",
+ "tenant-id", "tenantid03", "tenant-name", "tenantName03");
+
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "40", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ Vertex genericvnf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "41", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf2", "vnf-name", "genvnfname2", "nf-type", "wrong-nf-type");
+
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "50", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg1", "cloud-region-owner", "cloudOwnername00");
+ Vertex cloudregion2 =
+ graph.addVertex(T.label, "cloud-region", T.id, "51", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg2", "cloud-region-owner", "cloudOwnername01");
+ Vertex cloudregion3 =
+ graph.addVertex(T.label, "cloud-region", T.id, "52", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg3", "cloud-region-owner", "cloudOwnername02");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, cloudregion1, tenant1);
+ rules.addTreeEdge(g, cloudregion2, tenant2);
+ rules.addTreeEdge(g, cloudregion3, tenant3);
+ rules.addTreeEdge(g, tenant1, vserver1);
+ rules.addTreeEdge(g, tenant2, vserver2);
+ rules.addTreeEdge(g, tenant3, vserver3);
+ rules.addEdge(g, genericvnf1, vserver1);
+ rules.addEdge(g, genericvnf2, vserver2);
+ rules.addEdge(g, genericvnf1, vserver3);
+ rules.addEdge(g, vserver1, image1);
+ rules.addEdge(g, vserver2, image1);
+ rules.addEdge(g, vserver3, image1);
+
+ expectedResult.add(cloudregion1);
+ expectedResult.add(cloudregion3);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloudRegion-fromNfTypeVendorVersion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "image").has("application-vendor", "vendor1"); // TODO another test w
+ // the optional param
+ // too
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("nfType", "sample-nf-type");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersion_withOptionalTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersion_withOptionalTest.java
index 8726a71..5944096 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersion_withOptionalTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromNfTypeVendorVersion_withOptionalTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,72 +31,91 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionFromNfTypeVendorVersion_withOptionalTest extends QueryTest {
- public CloudRegionFromNfTypeVendorVersion_withOptionalTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image",
- "image-id", "image1", "image-name", "imageName1", "image-os-distro", "boopOS", "image-os-version", "1.0", "image-selflink", "self/link",
- "application-vendor","vendor1","application-version","1.0");
- Vertex image2 = graph.addVertex(T.label, "image", T.id, "11", "aai-node-type", "image",
- "image-id", "image2", "image-name", "imageName2", "image-os-distro", "boopOS", "image-os-version", "1.0", "image-selflink", "self/link",
- "application-vendor","vendor1","application-version","2.1");
- Vertex image3 = graph.addVertex(T.label, "image", T.id, "12", "aai-node-type", "image",
- "image-id", "image3", "image-name", "imageName3", "image-os-distro", "boopOS", "image-os-version", "1.0", "image-selflink", "self/link",
- "application-vendor","wrongVendor","application-version","1.0");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "20", "aai-node-type", "vserver", "vserver-id", "vserverid01");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "21", "aai-node-type", "vserver", "vserver-id", "vserverid02");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type", "vserver", "vserver-id", "vserverid03");
-
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "31", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
- Vertex tenant3 = graph.addVertex(T.label, "tenant", T.id, "32", "aai-node-type", "tenant", "tenant-id", "tenantid03", "tenant-name", "tenantName03");
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "40", "aai-node-type", "generic-vnf", "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "50", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg1", "cloud-region-owner", "cloudOwnername00");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "51", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg2", "cloud-region-owner", "cloudOwnername01");
- Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "52", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg3", "cloud-region-owner", "cloudOwnername02");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, cloudregion1, tenant1);
- rules.addTreeEdge(g, cloudregion2, tenant2);
- rules.addTreeEdge(g, cloudregion3, tenant3);
- rules.addTreeEdge(g, tenant1, vserver1);
- rules.addTreeEdge(g, tenant2, vserver2);
- rules.addTreeEdge(g, tenant3, vserver3);
- rules.addEdge(g, genericvnf1, vserver1);
- rules.addEdge(g, genericvnf1, vserver2);
- rules.addEdge(g, genericvnf1, vserver3);
- rules.addEdge(g, vserver1, image1);
- rules.addEdge(g, vserver2, image2);
- rules.addEdge(g, vserver3, image3);
-
- expectedResult.add(cloudregion1);
- }
-
- @Override
- protected String getQueryName() {
- return "cloudRegion-fromNfTypeVendorVersion";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","image").has("application-vendor","vendor1").has("application-version","1.0");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("nfType", "sample-nf-type");
- }
+ public CloudRegionFromNfTypeVendorVersion_withOptionalTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image",
+ "image-id", "image1", "image-name", "imageName1", "image-os-distro", "boopOS",
+ "image-os-version", "1.0", "image-selflink", "self/link", "application-vendor",
+ "vendor1", "application-version", "1.0");
+ Vertex image2 = graph.addVertex(T.label, "image", T.id, "11", "aai-node-type", "image",
+ "image-id", "image2", "image-name", "imageName2", "image-os-distro", "boopOS",
+ "image-os-version", "1.0", "image-selflink", "self/link", "application-vendor",
+ "vendor1", "application-version", "2.1");
+ Vertex image3 = graph.addVertex(T.label, "image", T.id, "12", "aai-node-type", "image",
+ "image-id", "image3", "image-name", "imageName3", "image-os-distro", "boopOS",
+ "image-os-version", "1.0", "image-selflink", "self/link", "application-vendor",
+ "wrongVendor", "application-version", "1.0");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "20", "aai-node-type",
+ "vserver", "vserver-id", "vserverid01");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "21", "aai-node-type",
+ "vserver", "vserver-id", "vserverid02");
+ Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type",
+ "vserver", "vserver-id", "vserverid03");
+
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "31", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+ Vertex tenant3 = graph.addVertex(T.label, "tenant", T.id, "32", "aai-node-type", "tenant",
+ "tenant-id", "tenantid03", "tenant-name", "tenantName03");
+
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "40", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "50", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg1", "cloud-region-owner", "cloudOwnername00");
+ Vertex cloudregion2 =
+ graph.addVertex(T.label, "cloud-region", T.id, "51", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg2", "cloud-region-owner", "cloudOwnername01");
+ Vertex cloudregion3 =
+ graph.addVertex(T.label, "cloud-region", T.id, "52", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg3", "cloud-region-owner", "cloudOwnername02");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, cloudregion1, tenant1);
+ rules.addTreeEdge(g, cloudregion2, tenant2);
+ rules.addTreeEdge(g, cloudregion3, tenant3);
+ rules.addTreeEdge(g, tenant1, vserver1);
+ rules.addTreeEdge(g, tenant2, vserver2);
+ rules.addTreeEdge(g, tenant3, vserver3);
+ rules.addEdge(g, genericvnf1, vserver1);
+ rules.addEdge(g, genericvnf1, vserver2);
+ rules.addEdge(g, genericvnf1, vserver3);
+ rules.addEdge(g, vserver1, image1);
+ rules.addEdge(g, vserver2, image2);
+ rules.addEdge(g, vserver3, image3);
+
+ expectedResult.add(cloudregion1);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloudRegion-fromNfTypeVendorVersion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "image").has("application-vendor", "vendor1")
+ .has("application-version", "1.0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("nfType", "sample-nf-type");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromVnfTest.java
index d364f34..087abac 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromVnfTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionFromVnfTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -33,67 +33,74 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionFromVnfTest extends QueryTest {
- public CloudRegionFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public CloudRegionFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex gv = graph.addVertex(T.id, "00", "aai-node-type", "generic-vnf", "vnf-id", "gvId", "vnf-name", "name", "vnf-type", "type");
- Vertex vnfc = graph.addVertex(T.id, "10", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function");
- Vertex vserv = graph.addVertex(T.id, "20", "aai-node-type", "vserver",
- "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
- Vertex cr = graph.addVertex(T.id, "30", "aai-node-type", "cloud-region", "cloud-owner", "some guy", "cloud-region-id", "crId");
- Vertex tenant = graph.addVertex(T.id, "40", "aai-node-type", "tenant", "tenant-id", "ten1", "tenant-name", "tenName");
- Vertex pserv = graph.addVertex(T.id, "50", "aai-node-type", "pserver", "hostname", "hostname1", "in-maint", "false");
- Vertex vserv2 = graph.addVertex(T.id, "60", "aai-node-type", "vserver",
- "vserver-id", "vservId2", "vserver-name", "vservName2", "vserver-selflink", "me/self");
- Vertex pserv2 = graph.addVertex(T.id, "70", "aai-node-type", "pserver", "hostname", "hostname2", "in-maint", "false");
- Vertex tenant2 = graph.addVertex(T.id, "80", "aai-node-type", "tenant", "tenant-id", "ten2", "tenant-name", "tenName2");
- Vertex cr2 = graph.addVertex(T.id, "90", "aai-node-type", "cloud-region", "cloud-owner", "some guy2", "cloud-region-id", "crId2");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gv, vnfc);
- rules.addEdge(g, vnfc, vserv);
- rules.addEdge(g, vserv, pserv);
- rules.addTreeEdge(g, cr, tenant);
- rules.addTreeEdge(g, tenant, vserv);
- rules.addEdge(g, gv, vserv2);
- rules.addEdge(g, vserv2, pserv2);
- rules.addTreeEdge(g, vserv2, tenant2);
- rules.addTreeEdge(g, tenant2, cr2);
-
- expectedResult.add(gv);
- expectedResult.add(cr);
- expectedResult.add(tenant);
- expectedResult.add(vnfc);
- expectedResult.add(vserv);
- expectedResult.add(pserv);
- expectedResult.add(cr2);
- expectedResult.add(tenant2);
- expectedResult.add(vserv2);
- expectedResult.add(pserv2);
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex gv = graph.addVertex(T.id, "00", "aai-node-type", "generic-vnf", "vnf-id", "gvId",
+ "vnf-name", "name", "vnf-type", "type");
+ Vertex vnfc = graph.addVertex(T.id, "10", "aai-node-type", "vnfc", "vnfc-name", "vnfcName1",
+ "nfc-naming-code", "blue", "nfc-function", "correct-function");
+ Vertex vserv = graph.addVertex(T.id, "20", "aai-node-type", "vserver", "vserver-id",
+ "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
+ Vertex cr = graph.addVertex(T.id, "30", "aai-node-type", "cloud-region", "cloud-owner",
+ "some guy", "cloud-region-id", "crId");
+ Vertex tenant = graph.addVertex(T.id, "40", "aai-node-type", "tenant", "tenant-id", "ten1",
+ "tenant-name", "tenName");
+ Vertex pserv = graph.addVertex(T.id, "50", "aai-node-type", "pserver", "hostname",
+ "hostname1", "in-maint", "false");
+ Vertex vserv2 = graph.addVertex(T.id, "60", "aai-node-type", "vserver", "vserver-id",
+ "vservId2", "vserver-name", "vservName2", "vserver-selflink", "me/self");
+ Vertex pserv2 = graph.addVertex(T.id, "70", "aai-node-type", "pserver", "hostname",
+ "hostname2", "in-maint", "false");
+ Vertex tenant2 = graph.addVertex(T.id, "80", "aai-node-type", "tenant", "tenant-id", "ten2",
+ "tenant-name", "tenName2");
+ Vertex cr2 = graph.addVertex(T.id, "90", "aai-node-type", "cloud-region", "cloud-owner",
+ "some guy2", "cloud-region-id", "crId2");
- @Override
- protected String getQueryName() {
- return "cloud-region-fromVnf";
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gv, vnfc);
+ rules.addEdge(g, vnfc, vserv);
+ rules.addEdge(g, vserv, pserv);
+ rules.addTreeEdge(g, cr, tenant);
+ rules.addTreeEdge(g, tenant, vserv);
+ rules.addEdge(g, gv, vserv2);
+ rules.addEdge(g, vserv2, pserv2);
+ rules.addTreeEdge(g, vserv2, tenant2);
+ rules.addTreeEdge(g, tenant2, cr2);
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvId");
- }
+ expectedResult.add(gv);
+ expectedResult.add(cr);
+ expectedResult.add(tenant);
+ expectedResult.add(vnfc);
+ expectedResult.add(vserv);
+ expectedResult.add(pserv);
+ expectedResult.add(cr2);
+ expectedResult.add(tenant2);
+ expectedResult.add(vserv2);
+ expectedResult.add(pserv2);
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- // N/A for this query
- }
+ @Override
+ protected String getQueryName() {
+ return "cloud-region-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvId");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ // N/A for this query
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionSitesQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionSitesQueryTest.java
index c1f3474..390ef22 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionSitesQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionSitesQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,59 +26,65 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionSitesQueryTest extends QueryTest {
- public CloudRegionSitesQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
+ public CloudRegionSitesQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1");
+ Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1");
+ Vertex region3 = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1");
+ Vertex region4 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner2");
+ Vertex complex1 =
+ graph.addVertex(T.label, "complex", T.id, "4", "aai-node-type", "complex");
+ Vertex complex2 =
+ graph.addVertex(T.label, "complex", T.id, "5", "aai-node-type", "complex");
+ Vertex complex3 =
+ graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, region1, complex1);
+ rules.addEdge(g, region2, complex1);
+ rules.addEdge(g, region3, complex2);
+ rules.addEdge(g, region4, complex3);
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1");
- Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1");
- Vertex region3 = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1");
- Vertex region4 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner2");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "4", "aai-node-type", "complex");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "5", "aai-node-type", "complex");
- Vertex complex3 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex");
+ expectedResult.add(region1);
+ expectedResult.add(region2);
+ expectedResult.add(region3);
+ expectedResult.add(complex1);
+ expectedResult.add(complex2);
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, region1, complex1);
- rules.addEdge(g, region2, complex1);
- rules.addEdge(g, region3, complex2);
- rules.addEdge(g, region4, complex3);
+ }
- expectedResult.add(region1);
- expectedResult.add(region2);
- expectedResult.add(region3);
- expectedResult.add(complex1);
- expectedResult.add(complex2);
-
- }
+ @Override
+ protected String getQueryName() {
+ return "cloud-region-sites";
+ }
- @Override
- protected String getQueryName() {
- return "cloud-region-sites";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "cloud-region");
-
- }
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("owner", "cloudOwner1");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("owner", "cloudOwner1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryCloudRegionVersionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryCloudRegionVersionQueryTest.java
index 1ad6663..b0c697f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryCloudRegionVersionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryCloudRegionVersionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,50 +26,57 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionfromCountryCloudRegionVersionQueryTest extends QueryTest {
- public CloudRegionfromCountryCloudRegionVersionQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public CloudRegionfromCountryCloudRegionVersionQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1", "country", "country1");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner",
+ "cloud-owner-name-1", "cloud-region-version", "cloud-region-version-1");
+
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "2", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2", "country", "country2");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner",
+ "cloud-owner-name-2", "cloud-region-version", "cloud-region-version-2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, complex, cloudregion);
+
+ rules.addEdge(g, complex1, cloudregion1);
+
+ expectedResult.add(cloudregion);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloudRegion-fromCountryCloudRegionVersion";
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "complex").has("country", "country1");
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1","country","country1");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1","cloud-region-version","cloud-region-version-1");
-
-
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "2", "aai-node-type", "complex", "physical-location-id", "physical-location-id-2","country","country2");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2","cloud-region-version","cloud-region-version-2");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, complex,cloudregion);
-
- rules.addEdge(g, complex1,cloudregion1);
-
- expectedResult.add(cloudregion);
-
- }
+ }
- @Override
- protected String getQueryName() {
- return "cloudRegion-fromCountryCloudRegionVersion";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "complex").has("country", "country1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("cloudRegionVersion", "cloud-region-version-1");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("cloudRegionVersion", "cloud-region-version-1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryQueryTest.java
index 38a20a1..1e5c751 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionfromCountryQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,50 +26,56 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class CloudRegionfromCountryQueryTest extends QueryTest {
- public CloudRegionfromCountryQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public CloudRegionfromCountryQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1");
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "2", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2");
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, complex, cloudregion);
+
+ rules.addEdge(g, complex1, cloudregion1);
+
+ expectedResult.add(cloudregion);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloudRegion-fromCountry";
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("physical-location-id", "physical-location-id-1");
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
-
-
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "2", "aai-node-type", "complex", "physical-location-id", "physical-location-id-2");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, complex,cloudregion);
-
- rules.addEdge(g, complex1,cloudregion1);
-
- expectedResult.add(cloudregion);
-
- }
+ }
- @Override
- protected String getQueryName() {
- return "cloudRegion-fromCountry";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("physical-location-id", "physical-location-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionsByGenericVnfHGPairsTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionsByGenericVnfHGPairsTest.java
index 1bfff46..9bf61e2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionsByGenericVnfHGPairsTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CloudRegionsByGenericVnfHGPairsTest.java
@@ -10,7 +10,7 @@ package org.onap.aai.rest.search;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -34,176 +34,192 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-public class CloudRegionsByGenericVnfHGPairsTest extends LinkedHashMapQueryTest{
-
- public CloudRegionsByGenericVnfHGPairsTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void test() {
- super.run();
- String expectedServiceInstanceUri = "service-instance-id1";
- String[] expectedCloudRegions = {"c1oud-region-1","c1oud-region-3","c1oud-region-4"};
- String[] actualCloudRegions = new String[3];
- assertEquals("Number of results is correct", hashMapList.size(), 3);
- for(int i = 0; i < hashMapList.size(); i++) {
- LinkedHashMap currentMap = hashMapList.get(i);
- assertEquals("Result " + i + " has correct service-instance",
- currentMap.get("a").toString(), expectedServiceInstanceUri);
- actualCloudRegions[i] = currentMap.get("b").toString();
- }
- Arrays.sort(expectedCloudRegions);
- Arrays.sort(actualCloudRegions);
- assertTrue("Cloud regions are correct", Arrays.equals(actualCloudRegions, expectedCloudRegions));
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- // Set up the test graph
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "0", "aai-node-type",
- "service-subscription", "service-type", "DHV");
- Vertex servicesubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "1", "aai-node-type",
- "service-subscription", "service-type", "HNGATEWAY");
- Vertex servicesubscription2 = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type",
- "service-subscription", "service-type", "service-type-2");
-
- Vertex servicesubscription3 = graph.addVertex(T.label, "service-subscription", T.id, "3", "aai-node-type",
- "service-subscription", "service-type", "HNGATEWAY");
- Vertex servicesubscription4 = graph.addVertex(T.label, "service-subscription", T.id, "4", "aai-node-type",
- "service-subscription", "service-type", "HNGATEWAY");
- Vertex servicesubscription5 = graph.addVertex(T.label, "service-subscription", T.id, "5", "aai-node-type",
- "service-subscription", "service-type", "HNGATEWAY");
-
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "6", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id1", "aai-uri", "service-instance-id1");
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "7", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id2", "aai-uri", "service-instance-id2");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "8", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id3", "aai-uri", "service-instance-id3");
- Vertex serviceinstance3 = graph.addVertex(T.label, "service-instance", T.id, "9", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id4", "aai-uri", "service-instance-id4");
-
- Vertex serviceinstance4 = graph.addVertex(T.label, "service-instance", T.id, "10", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id5", "aai-uri", "service-instance-id5");
- Vertex serviceinstance5 = graph.addVertex(T.label, "service-instance", T.id, "11", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id6", "aai-uri", "service-instance-id6");
- Vertex serviceinstance6 = graph.addVertex(T.label, "service-instance", T.id, "12", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id7", "aai-uri", "service-instance-id7");
-
- Vertex serviceinstance7 = graph.addVertex(T.label, "service-instance", T.id, "13", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id8", "aai-uri", "service-instance-id8");
- Vertex serviceinstance8 = graph.addVertex(T.label, "service-instance", T.id, "14", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id9", "aai-uri", "service-instance-id9");
- Vertex serviceinstance9 = graph.addVertex(T.label, "service-instance", T.id, "15", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id10", "aai-uri", "service-instance-id10");
-
- Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "16", "aai-node-type",
- "allotted-resource");
- Vertex allottedresource1 = graph.addVertex(T.label, "allotted-resource", T.id, "17", "aai-node-type",
- "allotted-resource");
- Vertex allottedresource2 = graph.addVertex(T.label, "allotted-resource", T.id, "18", "aai-node-type",
- "allotted-resource");
- Vertex allottedresource3 = graph.addVertex(T.label, "allotted-resource", T.id, "35", "aai-node-type",
- "allotted-resource");
-
- Vertex gvnf = graph.addVertex(T.label, "generic-vnf", T.id, "19", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-0", "vnf-type", "HG");
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "20", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-1", "vnf-type", "vnf-type-1");
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "21", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-2", "vnf-type", "HG");
- Vertex gvnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-2", "vnf-type", "HG");
- Vertex gvnf4 = graph.addVertex(T.label, "generic-vnf", T.id, "36", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-2", "vnf-type", "HP");
-
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "23", "aai-node-type", "vserver");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "24", "aai-node-type", "vserver");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "25", "aai-node-type", "vserver");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "26", "aai-node-type", "vserver");
- Vertex vserver4 = graph.addVertex(T.label, "vserver", T.id, "38", "aai-node-type", "vserver");
-
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "27", "aai-node-type", "tenant");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "28", "aai-node-type", "tenant");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "29", "aai-node-type", "tenant");
- Vertex tenant3 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant");
- Vertex tenant4 = graph.addVertex(T.label, "tenant", T.id, "39", "aai-node-type", "tenant");
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "31", "aai-node-type", "cloud-region",
- "aai-uri", "c1oud-region-1");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "32", "aai-node-type", "cloud-region",
- "aai-uri", "c1oud-region-2");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "33", "aai-node-type", "cloud-region",
- "aai-uri", "c1oud-region-3");
- Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "34", "aai-node-type", "cloud-region",
- "aai-uri", "c1oud-region-4");
- Vertex cloudregion4 = graph.addVertex(T.label, "cloud-region", T.id, "40", "aai-node-type", "cloud-region",
- "aai-uri", "c1oud-region-5");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, servicesubscription, serviceinstance);
-
- rules.addEdge(g, serviceinstance, allottedresource);
- rules.addEdge(g, serviceinstance, allottedresource1);
- rules.addEdge(g, serviceinstance, allottedresource2);
- rules.addEdge(g, serviceinstance, allottedresource3);
-
- rules.addTreeEdge(g, allottedresource, serviceinstance1);
- rules.addTreeEdge(g, serviceinstance1, servicesubscription1);
- rules.addTreeEdge(g, servicesubscription1, serviceinstance2);
- rules.addEdge(g, serviceinstance2, gvnf);
- rules.addEdge(g, gvnf, vserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
-
- rules.addTreeEdge(g, allottedresource1, serviceinstance4);
- rules.addTreeEdge(g, serviceinstance4, servicesubscription3);
- rules.addTreeEdge(g, servicesubscription3, serviceinstance5);
- rules.addEdge(g, serviceinstance5, gvnf2);
- rules.addEdge(g, gvnf2, vserver2);
- rules.addTreeEdge(g, vserver2, tenant2);
- rules.addTreeEdge(g, tenant2, cloudregion2);
-
- rules.addTreeEdge(g, allottedresource2, serviceinstance6);
- rules.addTreeEdge(g, serviceinstance6, servicesubscription4);
- rules.addTreeEdge(g, servicesubscription4, serviceinstance7);
- rules.addEdge(g, serviceinstance7, gvnf3);
- rules.addEdge(g, gvnf3, vserver3);
- rules.addTreeEdge(g, vserver3, tenant3);
- rules.addTreeEdge(g, tenant3, cloudregion3);
-
- rules.addTreeEdge(g, allottedresource3, serviceinstance8);
- rules.addTreeEdge(g, serviceinstance8, servicesubscription5);
- rules.addTreeEdge(g, servicesubscription5, serviceinstance9);
- rules.addEdge(g, serviceinstance9, gvnf4);
- rules.addEdge(g, gvnf4, vserver4);
- rules.addTreeEdge(g, vserver4, tenant4);
- rules.addTreeEdge(g, tenant4, cloudregion4);// Not expected in output as vnf-type is not HG
-
-
- rules.addTreeEdge(g, servicesubscription2, serviceinstance3);
- rules.addEdge(g, serviceinstance3, allottedresource);
- rules.addEdge(g, serviceinstance2, gvnf1);
- rules.addEdge(g, gvnf1, vserver1);
- rules.addTreeEdge(g, vserver1, tenant1);
- rules.addTreeEdge(g, tenant1, cloudregion1);// Not expected in output as service-subscription is not DHV
-
- }
-
- @Override
- protected String getQueryName() {
- return "cloud-regions-by-generic-vnf-HG-pairs";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-subscription").has("service-type", "DHV");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+public class CloudRegionsByGenericVnfHGPairsTest extends LinkedHashMapQueryTest {
+
+ public CloudRegionsByGenericVnfHGPairsTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ String expectedServiceInstanceUri = "service-instance-id1";
+ String[] expectedCloudRegions = {"c1oud-region-1", "c1oud-region-3", "c1oud-region-4"};
+ String[] actualCloudRegions = new String[3];
+ assertEquals("Number of results is correct", hashMapList.size(), 3);
+ for (int i = 0; i < hashMapList.size(); i++) {
+ LinkedHashMap currentMap = hashMapList.get(i);
+ assertEquals("Result " + i + " has correct service-instance",
+ currentMap.get("a").toString(), expectedServiceInstanceUri);
+ actualCloudRegions[i] = currentMap.get("b").toString();
+ }
+ Arrays.sort(expectedCloudRegions);
+ Arrays.sort(actualCloudRegions);
+ assertTrue("Cloud regions are correct",
+ Arrays.equals(actualCloudRegions, expectedCloudRegions));
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "0",
+ "aai-node-type", "service-subscription", "service-type", "DHV");
+ Vertex servicesubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "1",
+ "aai-node-type", "service-subscription", "service-type", "HNGATEWAY");
+ Vertex servicesubscription2 = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-type", "service-type-2");
+
+ Vertex servicesubscription3 = graph.addVertex(T.label, "service-subscription", T.id, "3",
+ "aai-node-type", "service-subscription", "service-type", "HNGATEWAY");
+ Vertex servicesubscription4 = graph.addVertex(T.label, "service-subscription", T.id, "4",
+ "aai-node-type", "service-subscription", "service-type", "HNGATEWAY");
+ Vertex servicesubscription5 = graph.addVertex(T.label, "service-subscription", T.id, "5",
+ "aai-node-type", "service-subscription", "service-type", "HNGATEWAY");
+
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "6",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id1",
+ "aai-uri", "service-instance-id1");
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "7",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id2",
+ "aai-uri", "service-instance-id2");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "8",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id3",
+ "aai-uri", "service-instance-id3");
+ Vertex serviceinstance3 = graph.addVertex(T.label, "service-instance", T.id, "9",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id4",
+ "aai-uri", "service-instance-id4");
+
+ Vertex serviceinstance4 = graph.addVertex(T.label, "service-instance", T.id, "10",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id5",
+ "aai-uri", "service-instance-id5");
+ Vertex serviceinstance5 = graph.addVertex(T.label, "service-instance", T.id, "11",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id6",
+ "aai-uri", "service-instance-id6");
+ Vertex serviceinstance6 = graph.addVertex(T.label, "service-instance", T.id, "12",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id7",
+ "aai-uri", "service-instance-id7");
+
+ Vertex serviceinstance7 = graph.addVertex(T.label, "service-instance", T.id, "13",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id8",
+ "aai-uri", "service-instance-id8");
+ Vertex serviceinstance8 = graph.addVertex(T.label, "service-instance", T.id, "14",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id9",
+ "aai-uri", "service-instance-id9");
+ Vertex serviceinstance9 = graph.addVertex(T.label, "service-instance", T.id, "15",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id10",
+ "aai-uri", "service-instance-id10");
+
+ Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "16",
+ "aai-node-type", "allotted-resource");
+ Vertex allottedresource1 = graph.addVertex(T.label, "allotted-resource", T.id, "17",
+ "aai-node-type", "allotted-resource");
+ Vertex allottedresource2 = graph.addVertex(T.label, "allotted-resource", T.id, "18",
+ "aai-node-type", "allotted-resource");
+ Vertex allottedresource3 = graph.addVertex(T.label, "allotted-resource", T.id, "35",
+ "aai-node-type", "allotted-resource");
+
+ Vertex gvnf = graph.addVertex(T.label, "generic-vnf", T.id, "19", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-0", "vnf-type", "HG");
+ Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "20", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-type", "vnf-type-1");
+ Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "21", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-type", "HG");
+ Vertex gvnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-type", "HG");
+ Vertex gvnf4 = graph.addVertex(T.label, "generic-vnf", T.id, "36", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-type", "HP");
+
+ Vertex vserver =
+ graph.addVertex(T.label, "vserver", T.id, "23", "aai-node-type", "vserver");
+ Vertex vserver1 =
+ graph.addVertex(T.label, "vserver", T.id, "24", "aai-node-type", "vserver");
+ Vertex vserver2 =
+ graph.addVertex(T.label, "vserver", T.id, "25", "aai-node-type", "vserver");
+ Vertex vserver3 =
+ graph.addVertex(T.label, "vserver", T.id, "26", "aai-node-type", "vserver");
+ Vertex vserver4 =
+ graph.addVertex(T.label, "vserver", T.id, "38", "aai-node-type", "vserver");
+
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "27", "aai-node-type", "tenant");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "28", "aai-node-type", "tenant");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "29", "aai-node-type", "tenant");
+ Vertex tenant3 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant");
+ Vertex tenant4 = graph.addVertex(T.label, "tenant", T.id, "39", "aai-node-type", "tenant");
+
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "31", "aai-node-type",
+ "cloud-region", "aai-uri", "c1oud-region-1");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "32", "aai-node-type",
+ "cloud-region", "aai-uri", "c1oud-region-2");
+ Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "33", "aai-node-type",
+ "cloud-region", "aai-uri", "c1oud-region-3");
+ Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "34", "aai-node-type",
+ "cloud-region", "aai-uri", "c1oud-region-4");
+ Vertex cloudregion4 = graph.addVertex(T.label, "cloud-region", T.id, "40", "aai-node-type",
+ "cloud-region", "aai-uri", "c1oud-region-5");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, servicesubscription, serviceinstance);
+
+ rules.addEdge(g, serviceinstance, allottedresource);
+ rules.addEdge(g, serviceinstance, allottedresource1);
+ rules.addEdge(g, serviceinstance, allottedresource2);
+ rules.addEdge(g, serviceinstance, allottedresource3);
+
+ rules.addTreeEdge(g, allottedresource, serviceinstance1);
+ rules.addTreeEdge(g, serviceinstance1, servicesubscription1);
+ rules.addTreeEdge(g, servicesubscription1, serviceinstance2);
+ rules.addEdge(g, serviceinstance2, gvnf);
+ rules.addEdge(g, gvnf, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+
+ rules.addTreeEdge(g, allottedresource1, serviceinstance4);
+ rules.addTreeEdge(g, serviceinstance4, servicesubscription3);
+ rules.addTreeEdge(g, servicesubscription3, serviceinstance5);
+ rules.addEdge(g, serviceinstance5, gvnf2);
+ rules.addEdge(g, gvnf2, vserver2);
+ rules.addTreeEdge(g, vserver2, tenant2);
+ rules.addTreeEdge(g, tenant2, cloudregion2);
+
+ rules.addTreeEdge(g, allottedresource2, serviceinstance6);
+ rules.addTreeEdge(g, serviceinstance6, servicesubscription4);
+ rules.addTreeEdge(g, servicesubscription4, serviceinstance7);
+ rules.addEdge(g, serviceinstance7, gvnf3);
+ rules.addEdge(g, gvnf3, vserver3);
+ rules.addTreeEdge(g, vserver3, tenant3);
+ rules.addTreeEdge(g, tenant3, cloudregion3);
+
+ rules.addTreeEdge(g, allottedresource3, serviceinstance8);
+ rules.addTreeEdge(g, serviceinstance8, servicesubscription5);
+ rules.addTreeEdge(g, servicesubscription5, serviceinstance9);
+ rules.addEdge(g, serviceinstance9, gvnf4);
+ rules.addEdge(g, gvnf4, vserver4);
+ rules.addTreeEdge(g, vserver4, tenant4);
+ rules.addTreeEdge(g, tenant4, cloudregion4);// Not expected in output as vnf-type is not HG
+
+ rules.addTreeEdge(g, servicesubscription2, serviceinstance3);
+ rules.addEdge(g, serviceinstance3, allottedresource);
+ rules.addEdge(g, serviceinstance2, gvnf1);
+ rules.addEdge(g, gvnf1, vserver1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);// Not expected in output as
+ // service-subscription is not DHV
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "cloud-regions-by-generic-vnf-HG-pairs";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-subscription").has("service-type", "DHV");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ColocatedDevicesQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ColocatedDevicesQueryTest.java
index ee5db08..e94a7ef 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ColocatedDevicesQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ColocatedDevicesQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,89 +26,105 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ColocatedDevicesQueryTest extends QueryTest {
- public ColocatedDevicesQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex pserverint1 = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "3", "aai-node-type", "pnf", "pnf-name", "pnfname1");
- Vertex pnfint1 = graph.addVertex(T.label, "p-interface", T.id, "4", "aai-node-type", "p-interface", "interface-name", "ge0/0/0");
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "5", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
-
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex", "physical-location-id", "clli2");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex pserverint2 = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type", "p-interface", "interface-name", "xe0/0/1");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "9", "aai-node-type", "pserver", "hostname", "pservername3");
- Vertex pserverint3 = graph.addVertex(T.label, "p-interface", T.id, "10", "aai-node-type", "p-interface", "interface-name", "xe0/0/3");
- Vertex plink2 = graph.addVertex(T.label, "physical-link", T.id, "11", "aai-node-type", "physical-link", "link-name", "xe0/0/1-to-xe0/0/3");
-
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "12", "aai-node-type", "pnf", "pnf-name", "pnfname2");
- Vertex pnfint2 = graph.addVertex(T.label, "p-interface", T.id, "13", "aai-node-type", "p-interface", "interface-name", "ge0/0/2");
- Vertex pnf3 = graph.addVertex(T.label, "pnf", T.id, "14", "aai-node-type", "pnf", "pnf-name", "pnfname3");
- Vertex pnfint3 = graph.addVertex(T.label, "p-interface", T.id, "15", "aai-node-type", "p-interface", "interface-name", "ge0/0/3");
- Vertex plink3 = graph.addVertex(T.label, "physical-link", T.id, "16", "aai-node-type", "physical-link", "link-name", "ge0/0/2-to-ge0/0/3");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver1, complex1);
- rules.addTreeEdge(g, pserver1, pserverint1);
- rules.addEdge(g, pnf1, complex1);
- rules.addTreeEdge(g, pnf1, pnfint1);
- rules.addEdge(g, pserverint1, plink1);
- rules.addEdge(g, pnfint1, plink1);
-
- rules.addEdge(g, pserver2, complex1);
- rules.addTreeEdge(g, pserver2, pserverint2);
- rules.addEdge(g, pserver3, complex2);
- rules.addTreeEdge(g, pserver3, pserverint3);
- rules.addEdge(g, pserverint2, plink2);
- rules.addEdge(g, pserverint3, plink2);
-
- rules.addEdge(g, pnf2, complex2);
- rules.addTreeEdge(g, pnf2, pnfint2);
- rules.addEdge(g, pnf3, complex2);
- rules.addTreeEdge(g, pnf3, pnfint3);
- rules.addEdge(g, pnfint2, plink3);
- rules.addEdge(g, pnfint3, plink3);
-
-
- expectedResult.add(pnf1);
- expectedResult.add(pnfint1);
- expectedResult.add(pserver1);
- expectedResult.add(pserverint1);
- expectedResult.add(plink1);
- expectedResult.add(pserver2);
- expectedResult.add(pserverint2);
- expectedResult.add(plink2);
-
-
- }
- @Override
- protected String getQueryName() {
- return "colocated-devices";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("hostname", "pservername1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public ColocatedDevicesQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex pserverint1 = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "3", "aai-node-type", "pnf", "pnf-name",
+ "pnfname1");
+ Vertex pnfint1 = graph.addVertex(T.label, "p-interface", T.id, "4", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "5", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
+
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
+ "physical-location-id", "clli2");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver",
+ "hostname", "pservername2");
+ Vertex pserverint2 = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/1");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "9", "aai-node-type", "pserver",
+ "hostname", "pservername3");
+ Vertex pserverint3 = graph.addVertex(T.label, "p-interface", T.id, "10", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/3");
+ Vertex plink2 = graph.addVertex(T.label, "physical-link", T.id, "11", "aai-node-type",
+ "physical-link", "link-name", "xe0/0/1-to-xe0/0/3");
+
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "12", "aai-node-type", "pnf",
+ "pnf-name", "pnfname2");
+ Vertex pnfint2 = graph.addVertex(T.label, "p-interface", T.id, "13", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/2");
+ Vertex pnf3 = graph.addVertex(T.label, "pnf", T.id, "14", "aai-node-type", "pnf",
+ "pnf-name", "pnfname3");
+ Vertex pnfint3 = graph.addVertex(T.label, "p-interface", T.id, "15", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/3");
+ Vertex plink3 = graph.addVertex(T.label, "physical-link", T.id, "16", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/2-to-ge0/0/3");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver1, complex1);
+ rules.addTreeEdge(g, pserver1, pserverint1);
+ rules.addEdge(g, pnf1, complex1);
+ rules.addTreeEdge(g, pnf1, pnfint1);
+ rules.addEdge(g, pserverint1, plink1);
+ rules.addEdge(g, pnfint1, plink1);
+
+ rules.addEdge(g, pserver2, complex1);
+ rules.addTreeEdge(g, pserver2, pserverint2);
+ rules.addEdge(g, pserver3, complex2);
+ rules.addTreeEdge(g, pserver3, pserverint3);
+ rules.addEdge(g, pserverint2, plink2);
+ rules.addEdge(g, pserverint3, plink2);
+
+ rules.addEdge(g, pnf2, complex2);
+ rules.addTreeEdge(g, pnf2, pnfint2);
+ rules.addEdge(g, pnf3, complex2);
+ rules.addTreeEdge(g, pnf3, pnfint3);
+ rules.addEdge(g, pnfint2, plink3);
+ rules.addEdge(g, pnfint3, plink3);
+
+ expectedResult.add(pnf1);
+ expectedResult.add(pnfint1);
+ expectedResult.add(pserver1);
+ expectedResult.add(pserverint1);
+ expectedResult.add(plink1);
+ expectedResult.add(pserver2);
+ expectedResult.add(pserverint2);
+ expectedResult.add(plink2);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "colocated-devices";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("hostname", "pservername1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ComplexFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ComplexFromVnfTest.java
index 72b2898..63a3a0c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ComplexFromVnfTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ComplexFromVnfTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,56 +26,63 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ComplexFromVnfTest extends QueryTest {
- public ComplexFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public ComplexFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver",
+ "hostname", "hostname-1");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1", "country", "US");
+
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "hostname-2");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2", "country", "US");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gnvf1, vserver1);
+ rules.addEdge(g, vserver1, pserver1);
+ rules.addEdge(g, pserver1, complex1);
+ rules.addEdge(g, gnvf1, pserver2);
+ rules.addEdge(g, pserver2, complex2);
+
+ expectedResult.add(gnvf1);
+ expectedResult.add(pserver1);
+ expectedResult.add(complex1);
+ expectedResult.add(pserver2);
+ expectedResult.add(complex2);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "complex-fromVnf";
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("vnf-name", "vnf-name-1");
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver", "hostname", "hostname-1");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1", "country", "US");
-
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "hostname-2");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex", "physical-location-id", "physical-location-id-2", "country", "US");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gnvf1, vserver1);
- rules.addEdge(g, vserver1, pserver1);
- rules.addEdge(g, pserver1, complex1);
- rules.addEdge(g, gnvf1, pserver2);
- rules.addEdge(g, pserver2, complex2);
-
- expectedResult.add(gnvf1);
- expectedResult.add(pserver1);
- expectedResult.add(complex1);
- expectedResult.add(pserver2);
- expectedResult.add(complex2);
- }
+ }
- @Override
- protected String getQueryName() {
- return "complex-fromVnf";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("vnf-name", "vnf-name-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ContainmentPathQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ContainmentPathQueryTest.java
index 1a7edb4..dd9dcdd 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ContainmentPathQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ContainmentPathQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,13 @@
*/
package org.onap.aai.rest.search;
+import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+import java.util.Map;
+import java.util.stream.Collectors;
+
import org.apache.tinkerpop.gremlin.process.traversal.Path;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,13 +34,6 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
public class ContainmentPathQueryTest extends PathQueryTest {
public ContainmentPathQueryTest() throws AAIException, NoEdgeRuleFoundException {
@@ -42,10 +42,14 @@ public class ContainmentPathQueryTest extends PathQueryTest {
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "0", "aai-node-type", "pnf", "pnf-name", "pnf-1");
- Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "1", "aai-node-type", "p-interface", "interface-name", "p-interface-1");
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "interface-name", "l-interface-1");
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "3", "aai-node-type", "vlan", "vlan-interface", "vlan-1");
+ Vertex pnf1 =
+ graph.addVertex(T.label, "pnf", T.id, "0", "aai-node-type", "pnf", "pnf-name", "pnf-1");
+ Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "1", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-1");
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "interface-name", "l-interface-1");
+ Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "3", "aai-node-type", "vlan",
+ "vlan-interface", "vlan-1");
rules.addTreeEdge(gts, pnf1, pInterface1);
rules.addTreeEdge(gts, pInterface1, lInterface1);
@@ -55,16 +59,22 @@ public class ContainmentPathQueryTest extends PathQueryTest {
@Test
public void vlanPathTest() {
super.run();
- assertEquals("1 path is returned ",1, pathList.size());
+ assertEquals("1 path is returned ", 1, pathList.size());
Path path = pathList.get(0);
- Vertex pnf1 = graph.traversal().V().has("aai-node-type", "pnf").has("pnf-name", "pnf-1").next();
- Vertex pInterface1 = graph.traversal().V().has("aai-node-type", "p-interface").has("interface-name", "p-interface-1").next();
- Vertex lInterface1 = graph.traversal().V().has("aai-node-type", "l-interface").has("interface-name", "l-interface-1").next();
- Vertex vlan1 = graph.traversal().V().has("aai-node-type", "vlan").has("vlan-interface", "vlan-1").next();
+ Vertex pnf1 =
+ graph.traversal().V().has("aai-node-type", "pnf").has("pnf-name", "pnf-1").next();
+ Vertex pInterface1 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-1").next();
+ Vertex lInterface1 = graph.traversal().V().has("aai-node-type", "l-interface")
+ .has("interface-name", "l-interface-1").next();
+ Vertex vlan1 = graph.traversal().V().has("aai-node-type", "vlan")
+ .has("vlan-interface", "vlan-1").next();
- //remoce edges
- assertThat(path.objects().stream().filter(o -> o instanceof Vertex).collect(Collectors.toList()), contains(vlan1, lInterface1, pInterface1, pnf1));
+ // remoce edges
+ assertThat(
+ path.objects().stream().filter(o -> o instanceof Vertex).collect(Collectors.toList()),
+ contains(vlan1, lInterface1, pInterface1, pnf1));
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/CountVnfByVnfTypeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/CountVnfByVnfTypeTest.java
index 3ec0886..3f34e36 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/CountVnfByVnfTypeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/CountVnfByVnfTypeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,29 +18,33 @@
* ============LICENSE_END=========================================================
*/
/**
-* ============LICENSE_START=======================================================
-* org.onap.aai
-* ================================================================================
-* Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-* ================================================================================
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-* ============LICENSE_END=========================================================
-*
-* ECOMP is a trademark and service mark of AT&T Intellectual Property.
-*/
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ */
package org.onap.aai.rest.search;
import com.google.common.collect.ImmutableMap;
+
+import java.util.ArrayList;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -48,54 +52,57 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
-import java.util.ArrayList;
-import java.util.Map;
-
public class CountVnfByVnfTypeTest extends QueryCountTest {
- public CountVnfByVnfTypeTest() throws AAIException {
- super();
+ public CountVnfByVnfTypeTest() throws AAIException {
+ super();
}
@Test
public void test() {
- super.run();
+ super.run();
}
@Override
- protected void createGraph() throws AAIException {
- //Set up the test graph
- Vertex genericVnfTypeA1 = graph.addVertex(T.label, "genric-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "vnf-type", "A");
- Vertex genericVnfTypeB1 = graph.addVertex(T.label, "genric-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "vnf-type", "B");
- Vertex genericVnfTypeC1 = graph.addVertex(T.label, "genric-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-3", "vnf-name", "vnf-name-3", "vnf-type", "C");
- Vertex genericVnfTypeA2 = graph.addVertex(T.label, "genric-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-4", "vnf-name", "vnf-name-4", "vnf-type", "A");
- Vertex genericVnfTypeB2 = graph.addVertex(T.label, "genric-vnf", T.id, "5", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-5", "vnf-name", "vnf-name-5", "vnf-type", "B");
- Vertex genericVnfTypeA3 = graph.addVertex(T.label, "genric-vnf", T.id, "6", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-6", "vnf-name", "vnf-name-6", "vnf-type", "A");
- Vertex genericVnfTypeA4 = graph.addVertex(T.label, "genric-vnf", T.id, "7", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-7", "vnf-name", "vnf-name-7", "vnf-type", "A");
-
- GraphTraversalSource g = graph.traversal();
+ protected void createGraph() throws AAIException {
+ // Set up the test graph
+ Vertex genericVnfTypeA1 = graph.addVertex(T.label, "genric-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "vnf-type", "A");
+ Vertex genericVnfTypeB1 = graph.addVertex(T.label, "genric-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "vnf-type", "B");
+ Vertex genericVnfTypeC1 = graph.addVertex(T.label, "genric-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-3", "vnf-name", "vnf-name-3", "vnf-type", "C");
+ Vertex genericVnfTypeA2 = graph.addVertex(T.label, "genric-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-4", "vnf-name", "vnf-name-4", "vnf-type", "A");
+ Vertex genericVnfTypeB2 = graph.addVertex(T.label, "genric-vnf", T.id, "5", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-5", "vnf-name", "vnf-name-5", "vnf-type", "B");
+ Vertex genericVnfTypeA3 = graph.addVertex(T.label, "genric-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-6", "vnf-name", "vnf-name-6", "vnf-type", "A");
+ Vertex genericVnfTypeA4 = graph.addVertex(T.label, "genric-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-7", "vnf-name", "vnf-name-7", "vnf-type", "A");
- listOfMapEntryForCoutnQueries = new ArrayList<>();
- listOfMapEntryForCoutnQueries.add(ImmutableMap.of("A", 4L).entrySet().iterator().next());
- listOfMapEntryForCoutnQueries.add(ImmutableMap.of("B", 2L).entrySet().iterator().next());
- listOfMapEntryForCoutnQueries.add(ImmutableMap.of("C", 1L).entrySet().iterator().next());
- //expectedResultForMaps = expectedResultForMaps + "[A=4, B=2, C=1]";
- }
+ GraphTraversalSource g = graph.traversal();
- @Override
- protected String getQueryName() {
- return "count-vnf-byVnfType";
- }
+ listOfMapEntryForCoutnQueries = new ArrayList<>();
+ listOfMapEntryForCoutnQueries.add(ImmutableMap.of("A", 4L).entrySet().iterator().next());
+ listOfMapEntryForCoutnQueries.add(ImmutableMap.of("B", 2L).entrySet().iterator().next());
+ listOfMapEntryForCoutnQueries.add(ImmutableMap.of("C", 1L).entrySet().iterator().next());
+ // expectedResultForMaps = expectedResultForMaps + "[A=4, B=2, C=1]";
+ }
+ @Override
+ protected String getQueryName() {
+ return "count-vnf-byVnfType";
+ }
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- return;
+ return;
}
@Override
protected void addParam(Map<String, Object> params) {
- return;
+ return;
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/DestinationFromConfigurationQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/DestinationFromConfigurationQueryTest.java
index 47c7d84..bf50dde 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/DestinationFromConfigurationQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/DestinationFromConfigurationQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
*/
package org.onap.aai.rest.search;
-
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,69 +31,79 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class DestinationFromConfigurationQueryTest extends QueryTest {
- public DestinationFromConfigurationQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void test() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex config = graph.addVertex(T.label, "configuration", T.id, "0", "aai-node-type", "configuration", "configuration-id", "configuration");
- Vertex logicalLink = graph.addVertex(T.label, "l", T.id, "1", "aai-node-type", "logical-link", "link-name", "link-name-0");
- Vertex lInterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "interface-name", "interface-name-0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-0", "vserver-name", "vserver-name-0");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "4", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-0", "vf-module-name", "vf-module-name0");
-
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
-
- Vertex logicalLink1 = graph.addVertex(T.label, "l", T.id, "11", "aai-node-type", "logical-link", "link-name", "link-name-1");
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface", "interface-name", "interface-name-1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "14", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "15", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "16", "aai-node-type", "pnf", "pnf-name", "pnfname-1");
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, config, logicalLink);
- rules.addEdge(g, logicalLink, lInterface,"org.onap.relationships.inventory.Destination");
- rules.addTreeEdge(g, lInterface, vserver);
- rules.addEdge(g, vserver, vfmodule);
- rules.addTreeEdge(g, vfmodule, gnvf);
-
- rules.addEdge(g, logicalLink, lInterface1,"tosca.relationships.network.LinksTo");//false
- rules.addTreeEdge(g, lInterface1, vserver1);//false
- rules.addEdge(g, vserver1, vfmodule1);//false
- rules.addTreeEdge(g, vfmodule1, gnvf1);//false
-
- rules.addEdge(g, config, logicalLink1);
- rules.addEdge(g, logicalLink1, gnvf1);
- rules.addEdge(g, gnvf1, pnf1);
-
-
- expectedResult.add(gnvf);
- expectedResult.add(pnf1);
- }
-
- @Override
- protected String getQueryName() {
- return "destination-FromConfiguration";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "configuration").has("configuration-id", "configuration");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public DestinationFromConfigurationQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex config = graph.addVertex(T.label, "configuration", T.id, "0", "aai-node-type",
+ "configuration", "configuration-id", "configuration");
+ Vertex logicalLink = graph.addVertex(T.label, "l", T.id, "1", "aai-node-type",
+ "logical-link", "link-name", "link-name-0");
+ Vertex lInterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-0", "vserver-name", "vserver-name-0");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "4", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-0", "vf-module-name", "vf-module-name0");
+
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
+
+ Vertex logicalLink1 = graph.addVertex(T.label, "l", T.id, "11", "aai-node-type",
+ "logical-link", "link-name", "link-name-1");
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "14", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "15", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "16", "aai-node-type", "pnf",
+ "pnf-name", "pnfname-1");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, config, logicalLink);
+ rules.addEdge(g, logicalLink, lInterface, "org.onap.relationships.inventory.Destination");
+ rules.addTreeEdge(g, lInterface, vserver);
+ rules.addEdge(g, vserver, vfmodule);
+ rules.addTreeEdge(g, vfmodule, gnvf);
+
+ rules.addEdge(g, logicalLink, lInterface1, "tosca.relationships.network.LinksTo");// false
+ rules.addTreeEdge(g, lInterface1, vserver1);// false
+ rules.addEdge(g, vserver1, vfmodule1);// false
+ rules.addTreeEdge(g, vfmodule1, gnvf1);// false
+
+ rules.addEdge(g, config, logicalLink1);
+ rules.addEdge(g, logicalLink1, gnvf1);
+ rules.addEdge(g, gnvf1, pnf1);
+
+ expectedResult.add(gnvf);
+ expectedResult.add(pnf1);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "destination-FromConfiguration";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "configuration").has("configuration-id", "configuration");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/FabricInformationFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/FabricInformationFromVnfTest.java
index 68393c5..dd4b530 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/FabricInformationFromVnfTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/FabricInformationFromVnfTest.java
@@ -10,7 +10,7 @@ package org.onap.aai.rest.search;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,76 +30,95 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-public class FabricInformationFromVnfTest extends QueryTest{
-
- public FabricInformationFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+public class FabricInformationFromVnfTest extends QueryTest {
- @Test
- public void test() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex gvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0", "vnf-type", "vnf-type-0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver", "vserver-id", "vserver-id-0", "vserver-name", "vserver-name-0", "vserver-selflink", "vserver-selflink-0");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "interface-name", "interface-name-0");
- Vertex sriovvf = graph.addVertex(T.label, "sriov-vf", T.id, "3", "aai-node-type", "sriov-vf", "pci-id", "pci-id-0");
- Vertex sriovpf = graph.addVertex(T.label, "sriov-pf", T.id, "4", "aai-node-type", "sriov-pf", "pf-pci-id", "pf-pci-id-0");
- Vertex pinterface = graph.addVertex(T.label, "p-interface", T.id, "5", "aai-node-type", "p-interface", "interface-name", "interface-name-0");
- Vertex pserver = graph.addVertex(T.label, "p-server", T.id, "6", "aai-node-type", "pserver", "hostname", "hostname-0");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "7", "aai-node-type", "vnfc", "vnfc-name", "vnfc-name-0", "nfc-naming-code", "nfc-naming-code-0", "nfc-naming-function", "nfc-naming-function-0");
- Vertex cp = graph.addVertex(T.label, "cp", T.id, "8", "aai-node-type", "cp", "cp-instance-id", "cp-instance-id-0");
- Vertex vlantag = graph.addVertex(T.label, "vlan-tag", T.id, "9", "aai-node-type", "vlan-tag","vlan-tag-id", "vlan-tag-id-0");
-
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "16", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "vnf-type", "vnf-type-1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "10", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-0", "vserver-selflink", "vserver-selflink-0");
- Vertex vlantag1 = graph.addVertex(T.label, "vlan-tag", T.id, "11", "aai-node-type", "vlan-tag","vlan-tag-id", "vlan-tag-id-1");
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "14", "aai-node-type", "vnfc", "vnfc-name", "vnfc-name-1", "nfc-naming-code", "nfc-naming-code-1", "nfc-naming-function", "nfc-naming-function-1");
- Vertex cp1 = graph.addVertex(T.label, "cp", T.id, "15", "aai-node-type", "cp", "cp-instance-id", "cp-instance-id-1");
+ public FabricInformationFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gvnf, vserver);
- rules.addTreeEdge(g, vserver, linterface);
- rules.addTreeEdge(g, linterface, sriovvf);
- rules.addEdge(g, sriovvf, sriovpf);
- rules.addTreeEdge(g, sriovpf, pinterface);
- rules.addTreeEdge(g, pinterface, pserver);
- rules.addEdge(g, vserver, vnfc);
- rules.addTreeEdge(g, vnfc, cp);
- rules.addEdge(g, cp, vlantag);
-
- rules.addEdge(g, gvnf1, vserver1);
- rules.addEdge(g, vserver1, vnfc1);
- rules.addTreeEdge(g, vnfc1, cp1);
- rules.addEdge(g, cp1, vlantag1);//false
-
-
- expectedResult.add(gvnf);
- expectedResult.add(vserver);
- expectedResult.add(pinterface);
- expectedResult.add(pserver);
- expectedResult.add(vnfc);
- expectedResult.add(vlantag);
- }
+ @Test
+ public void test() {
+ super.run();
+ }
- @Override
- protected String getQueryName() {
- return "fabric-information-fromVnf";
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex gvnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0", "vnf-type", "vnf-type-0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-0", "vserver-name", "vserver-name-0", "vserver-selflink",
+ "vserver-selflink-0");
+ Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-0");
+ Vertex sriovvf = graph.addVertex(T.label, "sriov-vf", T.id, "3", "aai-node-type",
+ "sriov-vf", "pci-id", "pci-id-0");
+ Vertex sriovpf = graph.addVertex(T.label, "sriov-pf", T.id, "4", "aai-node-type",
+ "sriov-pf", "pf-pci-id", "pf-pci-id-0");
+ Vertex pinterface = graph.addVertex(T.label, "p-interface", T.id, "5", "aai-node-type",
+ "p-interface", "interface-name", "interface-name-0");
+ Vertex pserver = graph.addVertex(T.label, "p-server", T.id, "6", "aai-node-type", "pserver",
+ "hostname", "hostname-0");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "7", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc-name-0", "nfc-naming-code", "nfc-naming-code-0",
+ "nfc-naming-function", "nfc-naming-function-0");
+ Vertex cp = graph.addVertex(T.label, "cp", T.id, "8", "aai-node-type", "cp",
+ "cp-instance-id", "cp-instance-id-0");
+ Vertex vlantag = graph.addVertex(T.label, "vlan-tag", T.id, "9", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlan-tag-id-0");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-0");
- }
+ Vertex gvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "16", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "vnf-type", "vnf-type-1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "10", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-0",
+ "vserver-selflink", "vserver-selflink-0");
+ Vertex vlantag1 = graph.addVertex(T.label, "vlan-tag", T.id, "11", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlan-tag-id-1");
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "14", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc-name-1", "nfc-naming-code", "nfc-naming-code-1",
+ "nfc-naming-function", "nfc-naming-function-1");
+ Vertex cp1 = graph.addVertex(T.label, "cp", T.id, "15", "aai-node-type", "cp",
+ "cp-instance-id", "cp-instance-id-1");
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gvnf, vserver);
+ rules.addTreeEdge(g, vserver, linterface);
+ rules.addTreeEdge(g, linterface, sriovvf);
+ rules.addEdge(g, sriovvf, sriovpf);
+ rules.addTreeEdge(g, sriovpf, pinterface);
+ rules.addTreeEdge(g, pinterface, pserver);
+ rules.addEdge(g, vserver, vnfc);
+ rules.addTreeEdge(g, vnfc, cp);
+ rules.addEdge(g, cp, vlantag);
+
+ rules.addEdge(g, gvnf1, vserver1);
+ rules.addEdge(g, vserver1, vnfc1);
+ rules.addTreeEdge(g, vnfc1, cp1);
+ rules.addEdge(g, cp1, vlantag1);// false
+
+ expectedResult.add(gvnf);
+ expectedResult.add(vserver);
+ expectedResult.add(pinterface);
+ expectedResult.add(pserver);
+ expectedResult.add(vnfc);
+ expectedResult.add(vlantag);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "fabric-information-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_LineOfBusinessTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_LineOfBusinessTest.java
index 35a0cd9..93a65d2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_LineOfBusinessTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_LineOfBusinessTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,68 +30,82 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class FirstNetTopology_LineOfBusinessTest extends QueryTest {
- public FirstNetTopology_LineOfBusinessTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "0", "aai-node-type", "line-of-business", "line-of-business-name", "business0");
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0","vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "2", "aai-node-type", "vnfc", "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid0","vserver-name", "vserver-name-1");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "5", "aai-node-type", "pnf", "pnf-name", "pnf1name");
-
-
- Vertex lineofbusiness1 = graph.addVertex(T.label, "line-of-business", T.id, "10", "aai-node-type", "line-of-business", "line-of-business-name", "business1");
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1","vnf-name", "vnf-name-2", "nf-type", "sample-nf-type1");
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "12", "aai-node-type", "vnfc", "vnfc-name", "vnfc1", "nfc-naming-code", "namingCode1", "nfc-function", "function1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type", "vserver", "vserver-id", "vserverid1","vserver-name", "vserver-name-2");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "15", "aai-node-type", "pnf", "pnf-name", "pnf1name1");
+ public FirstNetTopology_LineOfBusinessTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, genericvnf,lineofbusiness);
- rules.addEdge(g, genericvnf, vnfc);
- rules.addEdge(g, genericvnf, vserver);
- rules.addEdge(g, genericvnf,pserver);
- rules.addEdge(g, genericvnf, pnf);
-
- //false
- rules.addEdge(g, genericvnf1,lineofbusiness1);
- rules.addEdge(g, genericvnf1, vnfc1);
- rules.addEdge(g, genericvnf1, vserver1);
- rules.addEdge(g, genericvnf1,pserver1);
- rules.addEdge(g, genericvnf1, pnf1);
+ @Test
+ public void run() {
+ super.run();
+ }
- expectedResult.add(genericvnf);
- expectedResult.add(vnfc);
- expectedResult.add(vserver);
- expectedResult.add(pserver);
- expectedResult.add(pnf);
-
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "0",
+ "aai-node-type", "line-of-business", "line-of-business-name", "business0");
+ Vertex genericvnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid0", "vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "2", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0", "vserver-name", "vserver-name-1");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "5", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name");
+ Vertex lineofbusiness1 = graph.addVertex(T.label, "line-of-business", T.id, "10",
+ "aai-node-type", "line-of-business", "line-of-business-name", "business1");
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid1", "vnf-name", "vnf-name-2", "nf-type", "sample-nf-type1");
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "12", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc1", "nfc-naming-code", "namingCode1", "nfc-function", "function1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type",
+ "vserver", "vserver-id", "vserverid1", "vserver-name", "vserver-name-2");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type",
+ "pserver", "hostname", "pservername2");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "15", "aai-node-type", "pnf",
+ "pnf-name", "pnf1name1");
+ GraphTraversalSource g = graph.traversal();
- }
- @Override
- protected String getQueryName() {
- return "fn-topology";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "line-of-business").has("line-of-business-name", "business0");
+ rules.addEdge(g, genericvnf, lineofbusiness);
+ rules.addEdge(g, genericvnf, vnfc);
+ rules.addEdge(g, genericvnf, vserver);
+ rules.addEdge(g, genericvnf, pserver);
+ rules.addEdge(g, genericvnf, pnf);
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-} \ No newline at end of file
+ // false
+ rules.addEdge(g, genericvnf1, lineofbusiness1);
+ rules.addEdge(g, genericvnf1, vnfc1);
+ rules.addEdge(g, genericvnf1, vserver1);
+ rules.addEdge(g, genericvnf1, pserver1);
+ rules.addEdge(g, genericvnf1, pnf1);
+
+ expectedResult.add(genericvnf);
+ expectedResult.add(vnfc);
+ expectedResult.add(vserver);
+ expectedResult.add(pserver);
+ expectedResult.add(pnf);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "fn-topology";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "line-of-business").has("line-of-business-name", "business0");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_ServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_ServiceInstanceTest.java
index 15a8302..b2accd5 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_ServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/FirstNetTopology_ServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,75 +30,96 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class FirstNetTopology_ServiceInstanceTest extends QueryTest {
- public FirstNetTopology_ServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "0", "aai-node-type", "customer","global-customer-id", "global-customer-id-1", "subscriber-name", "subscriber-name-1");
- Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "1", "aai-node-type","service-subscription", "service-type", "service-type-1");
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type","service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name","service-instance-name-1");
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0","vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "4", "aai-node-type", "vnfc", "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver", "vserver-id", "vserverid0","vserver-name", "vserver-name-1");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "7", "aai-node-type", "pnf", "pnf-name", "pnf1name");
-
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "10", "aai-node-type", "customer","global-customer-id", "global-customer-id-2", "subscriber-name", "subscriber-name-2");
- Vertex serviceSubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "11", "aai-node-type","service-subscription", "service-type", "service-type-2");
- Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "12", "aai-node-type","service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name","service-instance-name-2");
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "13", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1","vnf-name", "vnf-name-2", "nf-type", "sample-nf-type1");
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "14", "aai-node-type", "vnfc", "vnfc-name", "vnfc1", "nfc-naming-code", "namingCode1", "nfc-function", "function1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "15", "aai-node-type", "vserver", "vserver-id", "vserverid1","vserver-name", "vserver-name-2");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "16", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "17", "aai-node-type", "pnf", "pnf-name", "pnf1name1");
-
+ public FirstNetTopology_ServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, genericvnf, serviceInstance);
- rules.addTreeEdge(g, serviceInstance, serviceSubscription);
- rules.addTreeEdge(g, serviceSubscription, customer);
- rules.addEdge(g, genericvnf, vnfc);
- rules.addEdge(g, genericvnf, vserver);
- rules.addEdge(g, genericvnf,pserver);
- rules.addEdge(g, genericvnf, pnf);
-
-
- //false
- rules.addEdge(g, genericvnf1, serviceInstance1);
- rules.addTreeEdge(g, serviceInstance1, serviceSubscription1);
- rules.addTreeEdge(g, serviceSubscription1, customer1);
- rules.addEdge(g, genericvnf1, vnfc1);
- rules.addEdge(g, genericvnf1, vserver1);
- rules.addEdge(g, genericvnf1,pserver1);
- rules.addEdge(g, genericvnf1, pnf1);
+ @Test
+ public void run() {
+ super.run();
+ }
- expectedResult.add(genericvnf);
- expectedResult.add(vnfc);
- expectedResult.add(vserver);
- expectedResult.add(pserver);
- expectedResult.add(pnf);
-
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "0", "aai-node-type",
+ "customer", "global-customer-id", "global-customer-id-1", "subscriber-name",
+ "subscriber-name-1");
+ Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "1",
+ "aai-node-type", "service-subscription", "service-type", "service-type-1");
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "2",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex genericvnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid0", "vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "4", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0", "vserver-name", "vserver-name-1");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "7", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name");
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "10", "aai-node-type",
+ "customer", "global-customer-id", "global-customer-id-2", "subscriber-name",
+ "subscriber-name-2");
+ Vertex serviceSubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "11",
+ "aai-node-type", "service-subscription", "service-type", "service-type-2");
+ Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "12",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-2");
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "13", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid1", "vnf-name", "vnf-name-2", "nf-type", "sample-nf-type1");
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "14", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc1", "nfc-naming-code", "namingCode1", "nfc-function", "function1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "15", "aai-node-type",
+ "vserver", "vserver-id", "vserverid1", "vserver-name", "vserver-name-2");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "16", "aai-node-type",
+ "pserver", "hostname", "pservername2");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "17", "aai-node-type", "pnf",
+ "pnf-name", "pnf1name1");
+ GraphTraversalSource g = graph.traversal();
- }
- @Override
- protected String getQueryName() {
- return "fn-topology";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("service-instance-name", "service-instance-name-1");
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- }
-} \ No newline at end of file
+ rules.addEdge(g, genericvnf, serviceInstance);
+ rules.addTreeEdge(g, serviceInstance, serviceSubscription);
+ rules.addTreeEdge(g, serviceSubscription, customer);
+ rules.addEdge(g, genericvnf, vnfc);
+ rules.addEdge(g, genericvnf, vserver);
+ rules.addEdge(g, genericvnf, pserver);
+ rules.addEdge(g, genericvnf, pnf);
+
+ // false
+ rules.addEdge(g, genericvnf1, serviceInstance1);
+ rules.addTreeEdge(g, serviceInstance1, serviceSubscription1);
+ rules.addTreeEdge(g, serviceSubscription1, customer1);
+ rules.addEdge(g, genericvnf1, vnfc1);
+ rules.addEdge(g, genericvnf1, vserver1);
+ rules.addEdge(g, genericvnf1, pserver1);
+ rules.addEdge(g, genericvnf1, pnf1);
+
+ expectedResult.add(genericvnf);
+ expectedResult.add(vnfc);
+ expectedResult.add(vserver);
+ expectedResult.add(pserver);
+ expectedResult.add(pnf);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "fn-topology";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("service-instance-name", "service-instance-name-1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GFPVnfDataTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GFPVnfDataTest.java
index 6f2d0ad..08287a3 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GFPVnfDataTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GFPVnfDataTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,107 +30,146 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GFPVnfDataTest extends QueryTest {
- public GFPVnfDataTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0","vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "3", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "4", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
- Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "5", "aai-node-type", "vlan","vlan-interface", "vlan1");
- Vertex vnfImage = graph.addVertex(T.label, "vnf-image", T.id, "6", "aai-node-type", "vnf-image", "vnf-image-uuid", "vnf1imageuuid");
- Vertex networkProfile = graph.addVertex(T.label, "network-profile", T.id, "7","aai-node-type", "network-profile","nm-profile-name", "nm-profile-name-1");
- Vertex lagint = graph.addVertex(T.label, "lag-interface", T.id, "8", "aai-node-type", "lag-interface","interface-name", "lagint1");
-
- Vertex lagint0 = graph.addVertex(T.label, "lag-interface", T.id, "11", "aai-node-type", "lag-interface","interface-name", "lagint31");
- Vertex linterface0 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id30", "l-interface-name", "l-interface-name30");
- Vertex vlan0 = graph.addVertex(T.label, "vlan", T.id, "13", "aai-node-type", "vlan","vlan-interface", "vlan31");
- Vertex l3inter1ipv4addresslist0 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "14", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-30");
- Vertex l3inter1ipv6addresslist0 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "15", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-30");
-
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf", "vnf-id", "vnfid10","vnf-name", "vnf-name-11", "nf-type", "sample-nf-type11");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "20", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id10", "l-interface-name", "l-interface-name10");
- Vertex l3inter1ipv4addresslist1 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "30", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-10");
- Vertex l3inter1ipv6addresslist1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "40", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-10");
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "50", "aai-node-type", "vlan","vlan-interface", "vlan11");
- Vertex vnfImage1 = graph.addVertex(T.label, "vnf-image", T.id, "60", "aai-node-type", "vnf-image", "vnf-image-uuid", "vnf1imageuuid11");
- Vertex networkProfile1 = graph.addVertex(T.label, "network-profile", T.id, "70","aai-node-type", "network-profile","nm-profile-name", "nm-profile-name-11");
- Vertex lagint1 = graph.addVertex(T.label, "lag-interface", T.id, "80", "aai-node-type", "lag-interface","interface-name", "lagint11");
-
-
- Vertex lagint2 = graph.addVertex(T.label, "lag-interface", T.id, "21", "aai-node-type", "lag-interface","interface-name", "lagint312");
- Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "22", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id30", "l-interface-name", "l-interface-name302");
- Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "23", "aai-node-type", "vlan","vlan-interface", "vlan312");
- Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "24", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-302");
- Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "25", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-302");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, genericvnf, linterface);
- rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
- rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
- rules.addTreeEdge(g, linterface,vlan);
- rules.addTreeEdge(g, l3inter1ipv4addresslist, vlan);
- rules.addTreeEdge(g, l3inter1ipv6addresslist, vlan);
-
- rules.addTreeEdge(g, genericvnf, lagint0);
- rules.addTreeEdge(g, lagint0,linterface0);
- rules.addTreeEdge(g, linterface0,vlan0);
- rules.addTreeEdge(g, l3inter1ipv4addresslist0, linterface0);
- rules.addTreeEdge(g, l3inter1ipv6addresslist0, linterface0);
-
- rules.addEdge(g, genericvnf, vnfImage);
- rules.addEdge(g, genericvnf, networkProfile);
-
-
-
- //false
- rules.addTreeEdge(g, genericvnf1, linterface1);
- rules.addTreeEdge(g, l3inter1ipv4addresslist1, linterface1);
- rules.addTreeEdge(g, l3inter1ipv6addresslist1, linterface1);
- rules.addTreeEdge(g, linterface1,vlan1);
- rules.addTreeEdge(g, l3inter1ipv4addresslist1, vlan1);
- rules.addTreeEdge(g, l3inter1ipv6addresslist1, vlan1);
-
- rules.addTreeEdge(g, genericvnf1, lagint2);
- rules.addTreeEdge(g, linterface2,lagint2);
- rules.addTreeEdge(g, linterface2,vlan2);
- rules.addTreeEdge(g, l3inter1ipv4addresslist2, linterface2);
- rules.addTreeEdge(g, l3inter1ipv6addresslist2, linterface2);
-
- rules.addEdge(g, genericvnf1, vnfImage1);
- rules.addEdge(g, genericvnf1, networkProfile1);
-
-
- expectedResult.add(genericvnf);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(vlan);
- expectedResult.add(linterface0);
- expectedResult.add(vnfImage);
- expectedResult.add(networkProfile);
-
-
- }
- @Override
- protected String getQueryName() {
- return "gfp-vnf-data";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-name", "vnf-name-1").has("vnf-id", "vnfid0");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public GFPVnfDataTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex genericvnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid0", "vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
+ Vertex linterface =
+ graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "3", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "4", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
+ Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "5", "aai-node-type", "vlan",
+ "vlan-interface", "vlan1");
+ Vertex vnfImage = graph.addVertex(T.label, "vnf-image", T.id, "6", "aai-node-type",
+ "vnf-image", "vnf-image-uuid", "vnf1imageuuid");
+ Vertex networkProfile = graph.addVertex(T.label, "network-profile", T.id, "7",
+ "aai-node-type", "network-profile", "nm-profile-name", "nm-profile-name-1");
+ Vertex lagint = graph.addVertex(T.label, "lag-interface", T.id, "8", "aai-node-type",
+ "lag-interface", "interface-name", "lagint1");
+
+ Vertex lagint0 = graph.addVertex(T.label, "lag-interface", T.id, "11", "aai-node-type",
+ "lag-interface", "interface-name", "lagint31");
+ Vertex linterface0 =
+ graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id30", "l-interface-name", "l-interface-name30");
+ Vertex vlan0 = graph.addVertex(T.label, "vlan", T.id, "13", "aai-node-type", "vlan",
+ "vlan-interface", "vlan31");
+ Vertex l3inter1ipv4addresslist0 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "14", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-30");
+ Vertex l3inter1ipv6addresslist0 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "15", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-30");
+
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid10", "vnf-name", "vnf-name-11", "nf-type", "sample-nf-type11");
+ Vertex linterface1 =
+ graph.addVertex(T.label, "l-interface", T.id, "20", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id10", "l-interface-name", "l-interface-name10");
+ Vertex l3inter1ipv4addresslist1 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "30", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-10");
+ Vertex l3inter1ipv6addresslist1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "40", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-10");
+ Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "50", "aai-node-type", "vlan",
+ "vlan-interface", "vlan11");
+ Vertex vnfImage1 = graph.addVertex(T.label, "vnf-image", T.id, "60", "aai-node-type",
+ "vnf-image", "vnf-image-uuid", "vnf1imageuuid11");
+ Vertex networkProfile1 = graph.addVertex(T.label, "network-profile", T.id, "70",
+ "aai-node-type", "network-profile", "nm-profile-name", "nm-profile-name-11");
+ Vertex lagint1 = graph.addVertex(T.label, "lag-interface", T.id, "80", "aai-node-type",
+ "lag-interface", "interface-name", "lagint11");
+
+ Vertex lagint2 = graph.addVertex(T.label, "lag-interface", T.id, "21", "aai-node-type",
+ "lag-interface", "interface-name", "lagint312");
+ Vertex linterface2 =
+ graph.addVertex(T.label, "l-interface", T.id, "22", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id30", "l-interface-name", "l-interface-name302");
+ Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "23", "aai-node-type", "vlan",
+ "vlan-interface", "vlan312");
+ Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "24", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-302");
+ Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "25", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-302");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, genericvnf, linterface);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
+ rules.addTreeEdge(g, linterface, vlan);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist, vlan);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist, vlan);
+
+ rules.addTreeEdge(g, genericvnf, lagint0);
+ rules.addTreeEdge(g, lagint0, linterface0);
+ rules.addTreeEdge(g, linterface0, vlan0);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist0, linterface0);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist0, linterface0);
+
+ rules.addEdge(g, genericvnf, vnfImage);
+ rules.addEdge(g, genericvnf, networkProfile);
+
+ // false
+ rules.addTreeEdge(g, genericvnf1, linterface1);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist1, linterface1);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist1, linterface1);
+ rules.addTreeEdge(g, linterface1, vlan1);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist1, vlan1);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist1, vlan1);
+
+ rules.addTreeEdge(g, genericvnf1, lagint2);
+ rules.addTreeEdge(g, linterface2, lagint2);
+ rules.addTreeEdge(g, linterface2, vlan2);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist2, linterface2);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist2, linterface2);
+
+ rules.addEdge(g, genericvnf1, vnfImage1);
+ rules.addEdge(g, genericvnf1, networkProfile1);
+
+ expectedResult.add(genericvnf);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(vlan);
+ expectedResult.add(linterface0);
+ expectedResult.add(vnfImage);
+ expectedResult.add(networkProfile);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "gfp-vnf-data";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-name", "vnf-name-1").has("vnf-id", "vnfid0");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GenericVnfsFromPserverTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GenericVnfsFromPserverTest.java
index 4d42fce..80e9c51 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GenericVnfsFromPserverTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GenericVnfsFromPserverTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,78 +26,95 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GenericVnfsFromPserverTest extends QueryTest {
- public GenericVnfsFromPserverTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GenericVnfsFromPserverTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "vnf-type", "test",
+ "nf-function", "test", "nf-role", "test", "nf-naming-code", "test");
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "vnf-type", "test",
+ "nf-function", "test", "nf-role", "test", "nf-naming-code", "test");
+ Vertex vnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-3", "vnf-name", "vnf-name-3", "vnf-type", "test",
+ "nf-function", "test", "nf-role", "test", "nf-naming-code", "test");
+ Vertex vnf4 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-4", "vnf-name", "vnf-name-4", "vnf-type", "test",
+ "nf-function", "test", "nf-role", "test", "nf-naming-code", "test");
+ Vertex badVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-bad-1", "vnf-name", "vnf-bad-1", "vnf-type", "test");
+ Vertex badVnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-bad-2", "vnf-name", "vnf-bad-2", "nf-function", "test");
+ Vertex badVnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-bad-3", "vnf-name", "vnf-bad-3", "vnf-type", "bad",
+ "nf-function", "bad");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "8", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
+ Vertex badVserver = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type",
+ "vserver", "vserver-id", "vserver-bad", "vserver-name", "vserver-bad");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "10", "aai-node-type",
+ "pserver", "hostname", "hostname-1", "fqdn", "fqdn");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "11", "aai-node-type",
+ "pserver", "hostname", "hostname-2", "fqdn", "fqdn");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "12", "aai-node-type",
+ "pserver", "hostname", "hostname-3", "fqdn", "fqdn");
+ Vertex badPserver1 = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type",
+ "pserver", "hostname", "hostname-bad-1", "fqdn", "fqdn");
+ Vertex badPserver2 = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type",
+ "pserver", "hostname", "hostname-bad-2", "fqdn", "fqdn");
+ Vertex badPserver3 = graph.addVertex(T.label, "pserver", T.id, "15", "aai-node-type",
+ "pserver", "hostname", "hostname-bad-3", "fqdn", "fqdn");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver1, vnf1);
+ rules.addEdge(g, pserver2, vserver1);
+ rules.addEdge(g, vserver1, vnf2);
+ rules.addEdge(g, pserver3, vnf3);
+ rules.addEdge(g, pserver3, vserver2);
+ rules.addEdge(g, vserver2, vnf4);
+ rules.addEdge(g, badPserver1, badVnf1);
+ rules.addEdge(g, badPserver2, badVserver);
+ rules.addEdge(g, badVserver, badVnf2);
+ rules.addEdge(g, badPserver3, badVnf3);
- @Test
- public void run() {
- super.run();
- }
+ expectedResult.add(vnf1);
+ expectedResult.add(vnf2);
+ expectedResult.add(vnf3);
+ expectedResult.add(vnf4);
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
+ @Override
+ protected String getQueryName() {
+ return "genericVnfs-fromPserver";
+ }
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "vnf-type", "test", "nf-function", "test"
- ,"nf-role", "test", "nf-naming-code", "test");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "vnf-type", "test", "nf-function", "test"
- ,"nf-role", "test", "nf-naming-code", "test");
- Vertex vnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-3", "vnf-name", "vnf-name-3", "vnf-type", "test", "nf-function", "test"
- ,"nf-role", "test", "nf-naming-code", "test");
- Vertex vnf4 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-4", "vnf-name", "vnf-name-4", "vnf-type", "test", "nf-function", "test"
- ,"nf-role", "test", "nf-naming-code", "test");
- Vertex badVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id", "vnf-bad-1", "vnf-name", "vnf-bad-1", "vnf-type", "test");
- Vertex badVnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type", "generic-vnf", "vnf-id", "vnf-bad-2", "vnf-name", "vnf-bad-2", "nf-function", "test");
- Vertex badVnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type", "generic-vnf", "vnf-id", "vnf-bad-3", "vnf-name", "vnf-bad-3", "vnf-type", "bad", "nf-function", "bad");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "8", "aai-node-type", "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
- Vertex badVserver = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-bad", "vserver-name", "vserver-bad");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "10", "aai-node-type", "pserver", "hostname", "hostname-1", "fqdn", "fqdn");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "11", "aai-node-type", "pserver", "hostname", "hostname-2", "fqdn", "fqdn");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "12", "aai-node-type", "pserver", "hostname", "hostname-3", "fqdn", "fqdn");
- Vertex badPserver1 = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type", "pserver", "hostname", "hostname-bad-1", "fqdn", "fqdn");
- Vertex badPserver2 = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver", "hostname", "hostname-bad-2", "fqdn", "fqdn");
- Vertex badPserver3 = graph.addVertex(T.label, "pserver", T.id, "15", "aai-node-type", "pserver", "hostname", "hostname-bad-3", "fqdn", "fqdn");
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "pserver").has("fqdn", "fqdn");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver1, vnf1);
- rules.addEdge(g, pserver2, vserver1);
- rules.addEdge(g, vserver1, vnf2);
- rules.addEdge(g, pserver3, vnf3);
- rules.addEdge(g, pserver3, vserver2);
- rules.addEdge(g, vserver2, vnf4);
- rules.addEdge(g, badPserver1, badVnf1);
- rules.addEdge(g, badPserver2, badVserver);
- rules.addEdge(g, badVserver, badVnf2);
- rules.addEdge(g, badPserver3, badVnf3);
-
- expectedResult.add(vnf1);
- expectedResult.add(vnf2);
- expectedResult.add(vnf3);
- expectedResult.add(vnf4);
- }
+ }
- @Override
- protected String getQueryName() {
- return "genericVnfs-fromPserver";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "pserver").has("fqdn", "fqdn");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("vnfType","test");
- params.put("nfFunction","test");
- params.put("nfRole","test");
- params.put("nfNamingCode", "test");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("vnfType", "test");
+ params.put("nfFunction", "test");
+ params.put("nfRole", "test");
+ params.put("nfNamingCode", "test");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetClfiRoadmTailSummaryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetClfiRoadmTailSummaryTest.java
index 73f7595..5fde2db 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetClfiRoadmTailSummaryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetClfiRoadmTailSummaryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,11 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,79 +32,89 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Map;
-
public class GetClfiRoadmTailSummaryTest extends TreeQueryTest {
- public GetClfiRoadmTailSummaryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GetClfiRoadmTailSummaryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "5", "aai-node-type", "logical-link", "link-name", "logical-link-1");
- Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "6", "aai-node-type", "p-interface", "interface-name", "p-interface-1");
- Vertex pInterface2 = graph.addVertex(T.label, "p-interface", T.id, "7", "aai-node-type", "p-interface", "interface-name", "p-interface-2");
- Vertex pInterface3 = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type", "p-interface", "interface-name", "p-interface-3");
- Vertex pInterface4 = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type", "p-interface", "interface-name", "p-interface-4");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "12", "aai-node-type", "pnf", "pnf-name", "pnf1name");
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "10", "aai-node-type", "pnf", "pnf-name", "pnf2name");
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "5", "aai-node-type",
+ "logical-link", "link-name", "logical-link-1");
+ Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "6", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-1");
+ Vertex pInterface2 = graph.addVertex(T.label, "p-interface", T.id, "7", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-2");
+ Vertex pInterface3 = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-3");
+ Vertex pInterface4 = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-4");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "12", "aai-node-type", "pnf",
+ "pnf-name", "pnf1name");
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "10", "aai-node-type", "pnf",
+ "pnf-name", "pnf2name");
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface", "interface-name", "l-interface-1");
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "interface-name", "l-interface-1");
rules.addEdge(gts, logicalLink1, pInterface1);
rules.addEdge(gts, logicalLink1, pInterface2);
rules.addEdge(gts, logicalLink1, pInterface3);
- rules.addEdge(gts, logicalLink1, pInterface4);//false
+ rules.addEdge(gts, logicalLink1, pInterface4);// false
rules.addTreeEdge(gts, pnf1, pInterface1);
rules.addTreeEdge(gts, pnf2, pInterface2);
rules.addTreeEdge(gts, pnf2, pInterface3);
- rules.addEdge(gts, logicalLink1, lInterface1);//false
-
- }
-
- @Test
- public void run() {
- super.run();
- Tree tree = treeList.get(0);
-
- Vertex l1 = graph.traversal().V().has("aai-node-type","logical-link").has("link-name","logical-link-1").next();
- Vertex pInt1 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-1").next();
- Vertex pInt2 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-2").next();
- Vertex pInt3 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-3").next();
- Vertex pInt4 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-4").next();
- Vertex pnf1 = graph.traversal().V().has("aai-node-type","pnf").has("pnf-name","pnf1name").next();
- Vertex pnf2 = graph.traversal().V().has("aai-node-type","pnf").has("pnf-name","pnf2name").next();
-
- assertTrue(tree.containsKey(l1));
+ rules.addEdge(gts, logicalLink1, lInterface1);// false
+
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ Tree tree = treeList.get(0);
+
+ Vertex l1 = graph.traversal().V().has("aai-node-type", "logical-link")
+ .has("link-name", "logical-link-1").next();
+ Vertex pInt1 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-1").next();
+ Vertex pInt2 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-2").next();
+ Vertex pInt3 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-3").next();
+ Vertex pInt4 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-4").next();
+ Vertex pnf1 =
+ graph.traversal().V().has("aai-node-type", "pnf").has("pnf-name", "pnf1name").next();
+ Vertex pnf2 =
+ graph.traversal().V().has("aai-node-type", "pnf").has("pnf-name", "pnf2name").next();
+
+ assertTrue(tree.containsKey(l1));
assertTrue(((Tree) tree.get(l1)).containsKey(pInt1));
assertTrue(((Tree) tree.get(l1)).containsKey(pInt2));
assertTrue(((Tree) tree.get(l1)).containsKey(pInt3));
- assertFalse(((Tree) tree.get(l1)).containsKey(pInt4)); //pInt4 does not have an edge to any pnf
+ assertFalse(((Tree) tree.get(l1)).containsKey(pInt4)); // pInt4 does not have an edge to any
+ // pnf
assertTrue(((Tree) tree.get(l1)).getLeafObjects().contains(pnf1));
assertTrue(((Tree) tree.get(l1)).getLeafObjects().contains(pnf2));
-
- }
- @Override
- protected String getQueryName() {
- return "getClfiRoadmTailSummary";
- }
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "logical-link").has("link-name", "logical-link-1");
- }
+ @Override
+ protected String getQueryName() {
+ return "getClfiRoadmTailSummary";
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "logical-link").has("link-name", "logical-link-1");
+ }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexAndPserversTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexAndPserversTest.java
index 5b17f32..b47b7a1 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexAndPserversTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexAndPserversTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,47 +30,53 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetComplexAndPserversTest extends QueryTest {
- public GetComplexAndPserversTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GetComplexAndPserversTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex", "complex-id", "complex-1");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver", "hostname", "pservername1");
-
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex", "complex-id", "complex-2");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pservername2");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, complex, pserver );
-
- //Not expected in result
- rules.addEdge(g, complex1, pserver1 );
- //Not expected in result
-
- expectedResult.add(complex);
- expectedResult.add(pserver);
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected String getQueryName() {
- return "getComplexAndPservers";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "complex").has("complex-id", "complex-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex",
+ "complex-id", "complex-1");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex",
+ "complex-id", "complex-2");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pservername2");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, complex, pserver);
+
+ // Not expected in result
+ rules.addEdge(g, complex1, pserver1);
+ // Not expected in result
+
+ expectedResult.add(complex);
+ expectedResult.add(pserver);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getComplexAndPservers";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "complex").has("complex-id", "complex-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexByPnfNameQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexByPnfNameQueryTest.java
index 1d79466..733c382 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexByPnfNameQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexByPnfNameQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,49 +29,51 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class GetComplexByPnfNameQueryTest extends QueryTest {
- public GetComplexByPnfNameQueryTest () throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GetComplexByPnfNameQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "0", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1");
- // Set up the test graph
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "0", "aai-node-type", "pnf", "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model","equip-model1");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1");
-
- // adding extra vertices and edges which shouldn't be picked.
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "2", "aai-node-type", "pnf", "pnf-name", "pnf2name", "equip-vendor", "equip-vendor2", "equip-model","equip-model2");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex", "physical-location-id", "physical-location-id-2");
+ // adding extra vertices and edges which shouldn't be picked.
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "2", "aai-node-type", "pnf", "pnf-name",
+ "pnf2name", "equip-vendor", "equip-vendor2", "equip-model", "equip-model2");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2");
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pnf1, complex1);
- rules.addEdge(g, pnf2, complex2);
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pnf1, complex1);
+ rules.addEdge(g, pnf2, complex2);
- expectedResult.add(pnf1);
- expectedResult.add(complex1);
- }
+ expectedResult.add(pnf1);
+ expectedResult.add(complex1);
+ }
- @Override
- protected String getQueryName() {
- return "getComplexByPnfName";
- }
+ @Override
+ protected String getQueryName() {
+ return "getComplexByPnfName";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "pnf").has("pnf-name", "pnf1name");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "pnf").has("pnf-name", "pnf1name");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexFromHostnameQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexFromHostnameQueryTest.java
index 694b1c5..fe8a162 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexFromHostnameQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetComplexFromHostnameQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,11 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,51 +32,52 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
public class GetComplexFromHostnameQueryTest extends TreeQueryTest {
- public GetComplexFromHostnameQueryTest () throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GetComplexFromHostnameQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @SuppressWarnings("rawtypes")
- @Test
- public void run() {
- super.run();
- Tree tree = treeList.get(0);
- Vertex pserver1 = graph.traversal().V().has("aai-node-type","pserver").has("hostname","pserver-name-1").next();
- Vertex pserver2 = graph.traversal().V().has("aai-node-type","pserver").has("hostname","pserver-name-2").next();
- Vertex complex1 = graph.traversal().V().has("aai-node-type", "complex").has( "physical-location-id", "physical-location-id-1").next();
+ @SuppressWarnings("rawtypes")
+ @Test
+ public void run() {
+ super.run();
+ Tree tree = treeList.get(0);
+ Vertex pserver1 = graph.traversal().V().has("aai-node-type", "pserver")
+ .has("hostname", "pserver-name-1").next();
+ Vertex pserver2 = graph.traversal().V().has("aai-node-type", "pserver")
+ .has("hostname", "pserver-name-2").next();
+ Vertex complex1 = graph.traversal().V().has("aai-node-type", "complex")
+ .has("physical-location-id", "physical-location-id-1").next();
assertTrue(tree.containsKey(pserver1));
assertTrue(((Tree) tree.get(pserver1)).containsKey(complex1));
assertFalse(tree.containsKey(pserver2));
- }
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- // Set up the test graph
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "0", "aai-node-type", "pserver", "hostname", "pserver-name-1");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pserver-name-2");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1");
- rules.addEdge(gts, pserver1, complex1);
- rules.addEdge(gts, pserver2, complex1);
- }
+ // Set up the test graph
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "0", "aai-node-type", "pserver",
+ "hostname", "pserver-name-1");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pserver-name-2");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1");
+ rules.addEdge(gts, pserver1, complex1);
+ rules.addEdge(gts, pserver2, complex1);
+ }
- @Override
- protected String getQueryName() {
- return "getComplexFromHostname";
- }
+ @Override
+ protected String getQueryName() {
+ return "getComplexFromHostname";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "pserver").has("hostname", "pserver-name-1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "pserver").has("hostname", "pserver-name-1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java
index 864b14b..3ab960f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,63 +21,61 @@ package org.onap.aai.rest.search;
import static org.junit.Assert.*;
+import com.google.common.collect.Lists;
+
import java.util.ArrayList;
import org.junit.Before;
import org.junit.Test;
-import com.google.common.collect.Lists;
-
public class GetCustomQueryConfigTest {
- private String configJson;
-
- @Before
- public void setUp() throws Exception {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
-
+ private String configJson;
+
+ @Before
+ public void setUp() throws Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
+
+ configJson = "{\n \"stored-queries\": [{\n"
+ + " \"queryName1\": {\n \"query\": {\n \"required-properties\": [\"prop1\", \"prop2\"],\n \"optional-properties\": [\"prop3\", \"prop4\"]\n },\n \"stored-query\": \"out('blah').has('something','foo')\"\n }\n }, {\n"
+ + " \"queryName2\": {\n \"query\": {\n \"optional-properties\": [\"prop5\"]\n },\n \"stored-query\": \"out('bar').has('stuff','baz')\"\n }\n }, {\n"
+ + " \"queryName3\": {\n \"stored-query\": \"out('bar1').has('stuff','baz1')\"\n }\n }]\n}";
+ }
+
+ @Test
+ public void testGetStoredQueryNameWithOptAndReqProps() {
- configJson = "{\n \"stored-queries\": [{\n" +
- " \"queryName1\": {\n \"query\": {\n \"required-properties\": [\"prop1\", \"prop2\"],\n \"optional-properties\": [\"prop3\", \"prop4\"]\n },\n \"stored-query\": \"out('blah').has('something','foo')\"\n }\n }, {\n" +
- " \"queryName2\": {\n \"query\": {\n \"optional-properties\": [\"prop5\"]\n },\n \"stored-query\": \"out('bar').has('stuff','baz')\"\n }\n }, {\n" +
- " \"queryName3\": {\n \"stored-query\": \"out('bar1').has('stuff','baz1')\"\n }\n }]\n}";
- }
+ GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
+ CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName1");
+ assertEquals(Lists.newArrayList("prop3", "prop4"), cqc.getQueryOptionalProperties());
+ assertEquals(Lists.newArrayList("prop1", "prop2"), cqc.getQueryRequiredProperties());
+ assertEquals("out('blah').has('something','foo')", cqc.getQuery());
- @Test
- public void testGetStoredQueryNameWithOptAndReqProps() {
-
- GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
- CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName1");
+ }
- assertEquals(Lists.newArrayList("prop3", "prop4"), cqc.getQueryOptionalProperties());
- assertEquals(Lists.newArrayList("prop1", "prop2"), cqc.getQueryRequiredProperties());
- assertEquals("out('blah').has('something','foo')", cqc.getQuery());
+ @Test
+ public void testGetStoredQueryNameWithOptProps() {
- }
+ GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
+ CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName2");
- @Test
- public void testGetStoredQueryNameWithOptProps() {
-
- GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
- CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName2");
+ assertEquals(Lists.newArrayList("prop5"), cqc.getQueryOptionalProperties());
+ assertEquals(new ArrayList<String>(), cqc.getQueryRequiredProperties());
+ assertEquals("out('bar').has('stuff','baz')", cqc.getQuery());
- assertEquals(Lists.newArrayList("prop5"), cqc.getQueryOptionalProperties());
- assertEquals(new ArrayList<String>(), cqc.getQueryRequiredProperties());
- assertEquals("out('bar').has('stuff','baz')", cqc.getQuery());
+ }
- }
+ @Test
+ public void testGetStoredQueryNameWithNoProps() {
- @Test
- public void testGetStoredQueryNameWithNoProps() {
-
- GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
- CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName3");
+ GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
+ CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName3");
- assertEquals(new ArrayList<String>(), cqc.getQueryOptionalProperties());
- assertEquals(new ArrayList<String>(), cqc.getQueryRequiredProperties());
- assertEquals("out('bar1').has('stuff','baz1')", cqc.getQuery());
+ assertEquals(new ArrayList<String>(), cqc.getQueryOptionalProperties());
+ assertEquals(new ArrayList<String>(), cqc.getQueryRequiredProperties());
+ assertEquals("out('bar1').has('stuff','baz1')", cqc.getQuery());
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomerVPNBondingServiceDetailsTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomerVPNBondingServiceDetailsTest.java
index d080016..bdd47f8 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomerVPNBondingServiceDetailsTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomerVPNBondingServiceDetailsTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -33,70 +33,80 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetCustomerVPNBondingServiceDetailsTest extends QueryTest {
- public GetCustomerVPNBondingServiceDetailsTest() throws AAIException, NoEdgeRuleFoundException {
- super();
+ public GetCustomerVPNBondingServiceDetailsTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
}
@Test
public void test() {
- super.run();
+ super.run();
}
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
-
- Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "1", "aai-node-type", "service-subscription",
- "service-type", "start-test");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "2", "aai-node-type", "customer",
- "global-customer-id", "customer-test", "subscriber-name", "test-name", "subscriber-type", "test-type");
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance",
- "service-instance-id", "test-instance");
- Vertex configurationOne = graph.addVertex(T.label, "configuration", T.id, "4", "aai-node-type", "configuration",
- "configuration-id", "test-config-1", "configuration-type", "VLAN-NETWORK-RECEPTOR");
- Vertex configurationTwo = graph.addVertex(T.label, "configuration", T.id, "5", "aai-node-type", "configuration",
- "configuration-id", "test-config-2", "configuration-type", "VLAN-NETWORK-RECEPTOR");
- Vertex badConfiguration = graph.addVertex(T.label, "configuration", T.id, "6", "aai-node-type", "configuration",
- "configuration-id", "bad-config", "configuration-type", "bad");
- Vertex genericVnfOne = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf",
- "vnf-id", "test-generic-vnf-1", "vnf-type", "right-relationship");
- Vertex genericVnfTwo = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf",
- "vnf-id", "test-generic-vnf-2", "vnf-type", "wrong-relationship");
- Vertex rightInstanceGroup = graph.addVertex(T.label, "instance-group", T.id, "9", "aai-node-type", "instance-group",
- "id", "test-group-right", "description", "MemberOf relationship", "instance-group-type", "lower case ha for high availability");
- Vertex wrongInstanceGroup = graph.addVertex(T.label, "instance-group", T.id, "10", "aai-node-type", "instance-group",
- "id", "test-group-wrong", "description", "Uses relationship", "instance-group-type", "lower case ha for high availability");
- Vertex l3Network = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type", "l3-network",
- "network-id", "test-l3");
- Vertex subnet = graph.addVertex(T.label, "subnet", T.id, "12", "aai-node-type", "subnet",
- "subnet-id", "test-subnet");
- Vertex l3InterfaceIpv6AddressList = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "13", "aai-node-type", "l3-interface-ipv6-address-list",
- "l3-interface-ipv6-address", "test-ipv6");
- Vertex l3InterfaceIpv4AddressList = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "14", "aai-node-type", "l3-interface-ipv4-address-list",
- "l3-interface-ipv4-address", "test-ipv4");
- Vertex l3VpnBinding = graph.addVertex(T.label, "vpn-binding", T.id, "15", "aai-node-type", "vpn-binding",
- "vpn-id", "test-binding", "vpn-name", "test");
- Vertex l3RouteTarget = graph.addVertex(T.label, "route-target", T.id, "16", "aai-node-type", "route-target",
- "global-route-target", "test-target", "route-target-role", "test");
- Vertex parentLInterface = graph.addVertex(T.label, "l-interface", T.id, "17", "aai-node-type", "l-interface",
- "interface-name", "parent-test-l-interface");
- Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "18", "aai-node-type", "vlan",
- "vlan-interface", "test-vlan");
- Vertex childLInterface = graph.addVertex(T.label, "l-interface", T.id, "19", "aai-node-type", "l-interface",
- "interface-name", "child-test-l-interface");
- Vertex configurationThree = graph.addVertex(T.label, "configuration", T.id, "20", "aai-node-type", "configuration",
- "configuration-id", "test-config-3", "configuration-type", "VRF ENTRY");
- Vertex configVpnBinding = graph.addVertex(T.label, "vpn-binding", T.id, "21", "aai-node-type", "vpn-binding",
- "vpn-id", "test-binding-config", "vpn-name", "test");
- Vertex configRouteTarget = graph.addVertex(T.label, "route-target", T.id, "22", "aai-node-type", "route-target",
- "global-route-target", "test-target-config", "route-target-role", "test");
- Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "23", "aai-node-type", "pnf",
- "pnf-name", "test-pnf", "nf-role", "D2IPE");
- Vertex badPnf = graph.addVertex(T.label, "pnf", T.id, "24", "aai-node-type", "pnf",
- "pnf-name", "test-pnf", "nf-role", "none");
-
+ // Set up the test graph
+
+ Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "1",
+ "aai-node-type", "service-subscription", "service-type", "start-test");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "2", "aai-node-type",
+ "customer", "global-customer-id", "customer-test", "subscriber-name", "test-name",
+ "subscriber-type", "test-type");
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "test-instance");
+ Vertex configurationOne =
+ graph.addVertex(T.label, "configuration", T.id, "4", "aai-node-type", "configuration",
+ "configuration-id", "test-config-1", "configuration-type", "VLAN-NETWORK-RECEPTOR");
+ Vertex configurationTwo =
+ graph.addVertex(T.label, "configuration", T.id, "5", "aai-node-type", "configuration",
+ "configuration-id", "test-config-2", "configuration-type", "VLAN-NETWORK-RECEPTOR");
+ Vertex badConfiguration =
+ graph.addVertex(T.label, "configuration", T.id, "6", "aai-node-type", "configuration",
+ "configuration-id", "bad-config", "configuration-type", "bad");
+ Vertex genericVnfOne = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "test-generic-vnf-1", "vnf-type", "right-relationship");
+ Vertex genericVnfTwo = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "test-generic-vnf-2", "vnf-type", "wrong-relationship");
+ Vertex rightInstanceGroup = graph.addVertex(T.label, "instance-group", T.id, "9",
+ "aai-node-type", "instance-group", "id", "test-group-right", "description",
+ "MemberOf relationship", "instance-group-type", "lower case ha for high availability");
+ Vertex wrongInstanceGroup = graph.addVertex(T.label, "instance-group", T.id, "10",
+ "aai-node-type", "instance-group", "id", "test-group-wrong", "description",
+ "Uses relationship", "instance-group-type", "lower case ha for high availability");
+ Vertex l3Network = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type",
+ "l3-network", "network-id", "test-l3");
+ Vertex subnet = graph.addVertex(T.label, "subnet", T.id, "12", "aai-node-type", "subnet",
+ "subnet-id", "test-subnet");
+ Vertex l3InterfaceIpv6AddressList =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "13", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test-ipv6");
+ Vertex l3InterfaceIpv4AddressList =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "14", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test-ipv4");
+ Vertex l3VpnBinding = graph.addVertex(T.label, "vpn-binding", T.id, "15", "aai-node-type",
+ "vpn-binding", "vpn-id", "test-binding", "vpn-name", "test");
+ Vertex l3RouteTarget = graph.addVertex(T.label, "route-target", T.id, "16", "aai-node-type",
+ "route-target", "global-route-target", "test-target", "route-target-role", "test");
+ Vertex parentLInterface = graph.addVertex(T.label, "l-interface", T.id, "17",
+ "aai-node-type", "l-interface", "interface-name", "parent-test-l-interface");
+ Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "18", "aai-node-type", "vlan",
+ "vlan-interface", "test-vlan");
+ Vertex childLInterface = graph.addVertex(T.label, "l-interface", T.id, "19",
+ "aai-node-type", "l-interface", "interface-name", "child-test-l-interface");
+ Vertex configurationThree =
+ graph.addVertex(T.label, "configuration", T.id, "20", "aai-node-type", "configuration",
+ "configuration-id", "test-config-3", "configuration-type", "VRF ENTRY");
+ Vertex configVpnBinding = graph.addVertex(T.label, "vpn-binding", T.id, "21",
+ "aai-node-type", "vpn-binding", "vpn-id", "test-binding-config", "vpn-name", "test");
+ Vertex configRouteTarget =
+ graph.addVertex(T.label, "route-target", T.id, "22", "aai-node-type", "route-target",
+ "global-route-target", "test-target-config", "route-target-role", "test");
+ Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "23", "aai-node-type", "pnf", "pnf-name",
+ "test-pnf", "nf-role", "D2IPE");
+ Vertex badPnf = graph.addVertex(T.label, "pnf", T.id, "24", "aai-node-type", "pnf",
+ "pnf-name", "test-pnf", "nf-role", "none");
+
GraphTraversalSource g = graph.traversal();
-
+
rules.addTreeEdge(g, customer, serviceSubscription);
rules.addTreeEdge(g, serviceSubscription, serviceInstance);
rules.addEdge(g, serviceInstance, configurationOne);
@@ -104,8 +114,10 @@ public class GetCustomerVPNBondingServiceDetailsTest extends QueryTest {
rules.addEdge(g, serviceInstance, badConfiguration);
rules.addEdge(g, configurationOne, genericVnfOne);
rules.addEdge(g, configurationTwo, genericVnfTwo);
- rules.addEdge(g, genericVnfOne, rightInstanceGroup, "org.onap.relationships.inventory.MemberOf");
- rules.addEdge(g, genericVnfTwo, wrongInstanceGroup, "org.onap.relationships.inventory.Uses");
+ rules.addEdge(g, genericVnfOne, rightInstanceGroup,
+ "org.onap.relationships.inventory.MemberOf");
+ rules.addEdge(g, genericVnfTwo, wrongInstanceGroup,
+ "org.onap.relationships.inventory.Uses");
rules.addEdge(g, configurationOne, l3Network);
rules.addTreeEdge(g, l3Network, subnet);
rules.addEdge(g, subnet, l3InterfaceIpv6AddressList);
@@ -120,7 +132,7 @@ public class GetCustomerVPNBondingServiceDetailsTest extends QueryTest {
rules.addTreeEdge(g, configVpnBinding, configRouteTarget);
rules.addEdge(g, configurationThree, pnf);
rules.addEdge(g, configurationThree, badPnf);
-
+
expectedResult.add(customer);
expectedResult.add(serviceInstance);
expectedResult.add(configurationOne);
@@ -145,17 +157,17 @@ public class GetCustomerVPNBondingServiceDetailsTest extends QueryTest {
@Override
protected String getQueryName() {
- return "getCustomerVPNBondingServiceDetails";
+ return "getCustomerVPNBondingServiceDetails";
}
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-subscription").has("service-type", "start-test");
+ g.has("aai-node-type", "service-subscription").has("service-type", "start-test");
}
@Override
protected void addParam(Map<String, Object> params) {
- return;
+ return;
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetDHVLogicalLinkTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetDHVLogicalLinkTest.java
index 6659d20..7ed3d34 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetDHVLogicalLinkTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetDHVLogicalLinkTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.*;
+
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -30,8 +32,6 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import static org.junit.Assert.*;
-
public class GetDHVLogicalLinkTest extends TreeQueryTest {
public GetDHVLogicalLinkTest() throws AAIException, NoEdgeRuleFoundException {
super();
@@ -42,58 +42,69 @@ public class GetDHVLogicalLinkTest extends TreeQueryTest {
super.run();
Tree tree = treeList.get(0);
- Vertex gvnf1 = graph.traversal().V().has("aai-node-type", "generic-vnf").has("vnfname", "vnfname1").next();
- Vertex linterface1 = graph.traversal().V().has("aai-node-type", "l-interface").has("network-name", "networkName1").next();
- Vertex vlan1 = graph.traversal().V().has("aai-node-type", "vlan").has("vlan-interface", "vlan-interface1").next();
- Vertex logicalLink1 = graph.traversal().V().has("aai-node-type", "logical-link").has("link-type", "linkType1").next();
-
- Vertex gvnf2 = graph.traversal().V().has("aai-node-type", "generic-vnf").has("vnfname", "vnfname2").next();
+ Vertex gvnf1 = graph.traversal().V().has("aai-node-type", "generic-vnf")
+ .has("vnfname", "vnfname1").next();
+ Vertex linterface1 = graph.traversal().V().has("aai-node-type", "l-interface")
+ .has("network-name", "networkName1").next();
+ Vertex vlan1 = graph.traversal().V().has("aai-node-type", "vlan")
+ .has("vlan-interface", "vlan-interface1").next();
+ Vertex logicalLink1 = graph.traversal().V().has("aai-node-type", "logical-link")
+ .has("link-type", "linkType1").next();
+
+ Vertex gvnf2 = graph.traversal().V().has("aai-node-type", "generic-vnf")
+ .has("vnfname", "vnfname2").next();
assertTrue(tree.containsKey(gvnf1));
assertTrue(((Tree) tree.get(gvnf1)).containsKey(linterface1));
- assertTrue(((Tree)(((Tree) tree.get(gvnf1)).get(linterface1))).containsKey(vlan1));
- assertTrue(((Tree)((Tree)(((Tree) tree.get(gvnf1)).get(linterface1))).get(vlan1)).containsKey(logicalLink1));
+ assertTrue(((Tree) (((Tree) tree.get(gvnf1)).get(linterface1))).containsKey(vlan1));
+ assertTrue(((Tree) ((Tree) (((Tree) tree.get(gvnf1)).get(linterface1))).get(vlan1))
+ .containsKey(logicalLink1));
assertFalse(tree.containsKey(gvnf2));
}
+
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnfname", "vnfname1", "vnf-name", "vnfname1", "vnf-type", "vnftype1");
- //Set up the test graph
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnfname", "vnfname1", "vnf-name", "vnfname1", "vnf-type", "vnftype1");
-
+ Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "1", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name",
+ "l-interface-name1", "network-name", "networkName1");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "1", "aai-node-type", "l-interface",
- "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name1","network-name","networkName1");
+ Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "2", "aai-node-type", "vlan",
+ "vlan-interface", "vlan-interface1");
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "2", "aai-node-type", "vlan", "vlan-interface", "vlan-interface1");
+ Vertex logicalLink1 =
+ graph.addVertex(T.label, "logical-link", T.id, "3", "aai-node-type", "logical-link",
+ "link-name", "linkName1", "in-maint", "false", "link-type", "linkType1");
- Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "3", "aai-node-type", "logical-link",
- "link-name", "linkName1", "in-maint", "false", "link-type","linkType1");
+ // Set up the test graph for false test cases
+ Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnfname", "vnfname2", "vnf-name", "vnfname2", "vnf-type", "vnftype2");
- //Set up the test graph for false test cases
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnfname", "vnfname2", "vnf-name", "vnfname2", "vnf-type", "vnftype2");
+ Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id2", "l-interface-name",
+ "l-interface-name2", "network-name", "networkName2");
+ Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "6", "aai-node-type", "vlan",
+ "vlan-interface", "vlan-interface2");
- Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface",
- "l-interface-id", "l-interface-id2", "l-interface-name", "l-interface-name2","network-name","networkName2");
+ Vertex logicalLink2 =
+ graph.addVertex(T.label, "logical-link", T.id, "7", "aai-node-type", "logical-link",
+ "link-name", "linkName2", "in-maint", "false", "link-type", "linkType2");
- Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "6", "aai-node-type", "vlan", "vlan-interface", "vlan-interface2");
+ // GraphTraversalSource g = graph.traversal();
- Vertex logicalLink2 = graph.addVertex(T.label, "logical-link", T.id, "7", "aai-node-type", "logical-link",
- "link-name", "linkName2", "in-maint", "false", "link-type","linkType2");
+ rules.addTreeEdge(gts, gvnf1, linterface1); // true
+ rules.addTreeEdge(gts, linterface1, vlan1); // true
+ rules.addEdge(gts, vlan1, logicalLink1); // true
-
- //GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(gts, gvnf1, linterface1); // true
- rules.addTreeEdge(gts, linterface1, vlan1); // true
- rules.addEdge(gts, vlan1, logicalLink1); // true
-
- rules.addTreeEdge(gts, gvnf2, linterface2); // false
- rules.addTreeEdge(gts, linterface2, vlan2); // false
- rules.addEdge(gts, vlan2, logicalLink2); // false
+ rules.addTreeEdge(gts, gvnf2, linterface2); // false
+ rules.addTreeEdge(gts, linterface2, vlan2); // false
+ rules.addEdge(gts, vlan2, logicalLink2); // false
expectedResult.add(gvnf1);
expectedResult.add(linterface1);
@@ -101,13 +112,16 @@ public class GetDHVLogicalLinkTest extends TreeQueryTest {
expectedResult.add(logicalLink1);
}
+
@Override
protected String getQueryName() {
return "getDHVLogicalLink";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnfname", "vnfname1"); }
+ g.has("aai-node-type", "generic-vnf").has("vnfname", "vnfname1");
+ }
@Override
protected void addParam(Map<String, Object> params) {
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetL3networkCloudRegionByNetworkRoleQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetL3networkCloudRegionByNetworkRoleQueryTest.java
index a9fedcd..d059a9c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetL3networkCloudRegionByNetworkRoleQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetL3networkCloudRegionByNetworkRoleQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,10 +29,9 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class GetL3networkCloudRegionByNetworkRoleQueryTest extends QueryTest {
- public GetL3networkCloudRegionByNetworkRoleQueryTest () throws AAIException, NoEdgeRuleFoundException {
+ public GetL3networkCloudRegionByNetworkRoleQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
super();
}
@@ -43,18 +44,32 @@ public class GetL3networkCloudRegionByNetworkRoleQueryTest extends QueryTest {
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
// Set up the test graph
- Vertex l3Network1 = graph.addVertex(T.label, "l3-network", T.id, "0", "aai-node-type", "l3-network", "network-id", "networkId1", "network-name", "networkName1", "network-role","networkRole1");
- Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfId1", "vnf-name", "vnfName1", "vnf-type", "vnfType1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id", "vserverId1", "vserver-name", "vserverName1", "vserver-selflink", "vserverSelfLink1");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "3", "aai-node-type", "tenant", "tenant-id", "tenantId1", "tenant-name" ,"tenantName1");
- Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "4", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1", "cloud-region-id", "cloudRegionId1");
+ Vertex l3Network1 = graph.addVertex(T.label, "l3-network", T.id, "0", "aai-node-type",
+ "l3-network", "network-id", "networkId1", "network-name", "networkName1",
+ "network-role", "networkRole1");
+ Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId1", "vnf-name", "vnfName1", "vnf-type", "vnfType1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver",
+ "vserver-id", "vserverId1", "vserver-name", "vserverName1", "vserver-selflink",
+ "vserverSelfLink1");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "3", "aai-node-type", "tenant",
+ "tenant-id", "tenantId1", "tenant-name", "tenantName1");
+ Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "4", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1", "cloud-region-id", "cloudRegionId1");
// adding extra vertices and edges which shouldn't be picked.
- Vertex l3Network2 = graph.addVertex(T.label, "l3-network", T.id, "5", "aai-node-type", "l3-network", "network-id", "networkId2", "network-name", "networkName2", "network-role","networkRole2");
- Vertex genericVnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type", "generic-vnf", "vnf-id", "vnfId2", "vnf-name", "vnfName2", "vnf-type", "vnfType2");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserverId2", "vserver-name", "vserverName2", "vserver-selflink", "vserverSelfLink2");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant", "tenant-id", "tenantId2", "tenant-name" ,"tenantName2");
- Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner2", "cloud-region-id", "cloudRegionId2");
+ Vertex l3Network2 = graph.addVertex(T.label, "l3-network", T.id, "5", "aai-node-type",
+ "l3-network", "network-id", "networkId2", "network-name", "networkName2",
+ "network-role", "networkRole2");
+ Vertex genericVnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId2", "vnf-name", "vnfName2", "vnf-type", "vnfType2");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserverId2", "vserver-name", "vserverName2", "vserver-selflink",
+ "vserverSelfLink2");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant",
+ "tenant-id", "tenantId2", "tenant-name", "tenantName2");
+ Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner2", "cloud-region-id", "cloudRegionId2");
GraphTraversalSource g = graph.traversal();
rules.addEdge(g, l3Network1, genericVnf1);
@@ -81,7 +96,8 @@ public class GetL3networkCloudRegionByNetworkRoleQueryTest extends QueryTest {
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "l3-network").has("network-id", "networkId1").has("network-role", "networkRole1");
+ g.has("aai-node-type", "l3-network").has("network-id", "networkId1").has("network-role",
+ "networkRole1");
}
@Override
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetLinterfaceFromNewvceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetLinterfaceFromNewvceTest.java
index fbb77b8..1becf6c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetLinterfaceFromNewvceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetLinterfaceFromNewvceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,10 +29,8 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class GetLinterfaceFromNewvceTest extends QueryTest {
- public GetLinterfaceFromNewvceTest () throws AAIException, NoEdgeRuleFoundException {
+ public GetLinterfaceFromNewvceTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
@@ -43,64 +43,81 @@ public class GetLinterfaceFromNewvceTest extends QueryTest {
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
// Set up the test graph
- Vertex newvce = graph.addVertex(T.label, "newvce", T.id, "0", "aai-node-type", "newvce", "vnf-id2", "vnfId2-1", "vnf-name", "vnfName-1", "vnf-type", "vnfType-1");
- Vertex linterfaceNewvce1 = graph.addVertex(T.label, "l-interface", T.id, "1", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-10",
- "l-interface-name", "lInterfaceName-1", "interface-role", "UPLINK");
- Vertex linterfaceNewvce2 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-20",
- "l-interface-name", "lInterfaceName-1", "interface-role", "CUSTOMER");
- Vertex linterfaceNewvce3 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-30",
- "l-interface-name", "lInterfaceName-3", "interface-role", "CUSTOMER-UPLINK");
-
- Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link", "link-name", "linkName-1", "in-maint", "false", "link-type","linkType-1");
-
- // 1 generic-vnf with 2 lags each has 1 linterface
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type", "generic-vnf", "vnf-id", "vnfId-1","vnf-name", "vnfName-1");
- Vertex lagint1 = graph.addVertex(T.label, "lag-interface", T.id, "6", "aai-node-type", "lag-interface","interface-name", "lagIntName-1");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-1",
- "l-interface-name", "lInterfaceName-1", "interface-role", "CUSTOMER");
-
- Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "9", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-2",
- "l-interface-name", "lInterfaceName-2", "interface-role", "CUSTOMER-UPLINK");
- Vertex linterface3 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-3",
- "l-interface-name", "lInterfaceName-3", "interface-role", "UPLINK");
- Vertex linterface4 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-4", "l-interface-name", "lInterfaceName-4", "interface-role", "CUSTOMER-UPLINK");
-
- Vertex lagint2 = graph.addVertex(T.label, "lag-interface", T.id, "8", "aai-node-type", "lag-interface","interface-name", "lagIntName-2");
- Vertex linterface21 = graph.addVertex(T.label, "l-interface", T.id, "20", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-21",
- "l-interface-name", "lInterfaceName-2", "interface-role", "CUSTOMER-UPLINK");
-
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "12", "aai-node-type", "generic-vnf", "vnf-id", "vnfId-2","vnf-name", "vnfName-2");
- Vertex linterface31 = graph.addVertex(T.label, "l-interface", T.id, "13", "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-21", "l-interface-name", "lInterfaceName-21", "interface-role", "CUSTOMER-UPLINK");
- Vertex lagint3 = graph.addVertex(T.label, "lag-interface", T.id, "14", "aai-node-type", "lag-interface","interface-name", "lagIntName-22");
-
-
+ Vertex newvce = graph.addVertex(T.label, "newvce", T.id, "0", "aai-node-type", "newvce",
+ "vnf-id2", "vnfId2-1", "vnf-name", "vnfName-1", "vnf-type", "vnfType-1");
+ Vertex linterfaceNewvce1 = graph.addVertex(T.label, "l-interface", T.id, "1",
+ "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-10", "l-interface-name",
+ "lInterfaceName-1", "interface-role", "UPLINK");
+ Vertex linterfaceNewvce2 = graph.addVertex(T.label, "l-interface", T.id, "2",
+ "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-20", "l-interface-name",
+ "lInterfaceName-1", "interface-role", "CUSTOMER");
+ Vertex linterfaceNewvce3 = graph.addVertex(T.label, "l-interface", T.id, "3",
+ "aai-node-type", "l-interface", "l-interface-id", "lInterfaceId-30", "l-interface-name",
+ "lInterfaceName-3", "interface-role", "CUSTOMER-UPLINK");
+
+ Vertex logicalLink1 =
+ graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link",
+ "link-name", "linkName-1", "in-maint", "false", "link-type", "linkType-1");
+
+ // 1 generic-vnf with 2 lags each has 1 linterface
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId-1", "vnf-name", "vnfName-1");
+ Vertex lagint1 = graph.addVertex(T.label, "lag-interface", T.id, "6", "aai-node-type",
+ "lag-interface", "interface-name", "lagIntName-1");
+ Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type",
+ "l-interface", "l-interface-id", "lInterfaceId-1", "l-interface-name",
+ "lInterfaceName-1", "interface-role", "CUSTOMER");
+
+ Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "9", "aai-node-type",
+ "l-interface", "l-interface-id", "lInterfaceId-2", "l-interface-name",
+ "lInterfaceName-2", "interface-role", "CUSTOMER-UPLINK");
+ Vertex linterface3 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type",
+ "l-interface", "l-interface-id", "lInterfaceId-3", "l-interface-name",
+ "lInterfaceName-3", "interface-role", "UPLINK");
+ Vertex linterface4 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "l-interface-id", "lInterfaceId-4", "l-interface-name",
+ "lInterfaceName-4", "interface-role", "CUSTOMER-UPLINK");
+
+ Vertex lagint2 = graph.addVertex(T.label, "lag-interface", T.id, "8", "aai-node-type",
+ "lag-interface", "interface-name", "lagIntName-2");
+ Vertex linterface21 = graph.addVertex(T.label, "l-interface", T.id, "20", "aai-node-type",
+ "l-interface", "l-interface-id", "lInterfaceId-21", "l-interface-name",
+ "lInterfaceName-2", "interface-role", "CUSTOMER-UPLINK");
+
+ Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "12", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId-2", "vnf-name", "vnfName-2");
+ Vertex linterface31 = graph.addVertex(T.label, "l-interface", T.id, "13", "aai-node-type",
+ "l-interface", "l-interface-id", "lInterfaceId-21", "l-interface-name",
+ "lInterfaceName-21", "interface-role", "CUSTOMER-UPLINK");
+ Vertex lagint3 = graph.addVertex(T.label, "lag-interface", T.id, "14", "aai-node-type",
+ "lag-interface", "interface-name", "lagIntName-22");
+
GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, newvce, linterfaceNewvce1); // true
+ rules.addTreeEdge(g, newvce, linterfaceNewvce1); // true
rules.addTreeEdge(g, newvce, linterfaceNewvce2);
- rules.addTreeEdge(g, newvce, linterfaceNewvce3);
- rules.addEdge(g, linterfaceNewvce1, logicalLink1); // true
- rules.addEdge(g, linterfaceNewvce2, logicalLink1);
-
+ rules.addTreeEdge(g, newvce, linterfaceNewvce3);
+ rules.addEdge(g, linterfaceNewvce1, logicalLink1); // true
+ rules.addEdge(g, linterfaceNewvce2, logicalLink1);
+
rules.addTreeEdge(g, genericvnf1, lagint1);
rules.addTreeEdge(g, lagint1, linterface1);
- rules.addTreeEdge(g, lagint1, linterface2); // true
- rules.addTreeEdge(g, lagint1, linterface3);
- rules.addTreeEdge(g, lagint1, linterface4); // true
+ rules.addTreeEdge(g, lagint1, linterface2); // true
+ rules.addTreeEdge(g, lagint1, linterface3);
+ rules.addTreeEdge(g, lagint1, linterface4); // true
rules.addTreeEdge(g, lagint2, linterface21);
-
- rules.addEdge(g, linterface2, logicalLink1); // true
- rules.addEdge(g, linterface4, logicalLink1); // true
- rules.addEdge(g, linterface21, logicalLink1); // true
-
+
+ rules.addEdge(g, linterface2, logicalLink1); // true
+ rules.addEdge(g, linterface4, logicalLink1); // true
+ rules.addEdge(g, linterface21, logicalLink1); // true
+
rules.addTreeEdge(g, genericvnf2, lagint3);
rules.addTreeEdge(g, lagint2, linterface31);
-
expectedResult.add(linterface2);
expectedResult.add(linterface4);
expectedResult.add(linterface21);
-
+
}
@Override
@@ -115,7 +132,7 @@ public class GetLinterfaceFromNewvceTest extends QueryTest {
@Override
protected void addParam(Map<String, Object> params) {
- params.put("interfaceRole1", "UPLINK");
- params.put("interfaceRole2", "CUSTOMER-UPLINK");
+ params.put("interfaceRole1", "UPLINK");
+ params.put("interfaceRole2", "CUSTOMER-UPLINK");
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksByServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksByServiceInstanceTest.java
index 1b1395c..6af6e1b 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksByServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksByServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,90 +31,100 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetNetworksByServiceInstanceTest extends QueryTest {
- public GetNetworksByServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance",T.id, "0", "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid");
- Vertex l3Network = graph.addVertex(T.label, "l3-network",T.id, "1", "aai-node-type", "l3-network","network-id", "networkId");
- Vertex vlanTag = graph.addVertex(T.label, "vlan-tag",T.id, "2", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
- Vertex l3Network1 = graph.addVertex(T.label, "l3-network",T.id, "3", "aai-node-type", "l3-network","network-id", "networkId1");
- Vertex vlanTag1 = graph.addVertex(T.label, "vlan-tag",T.id, "4", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
-
- Vertex serviceInstance2 = graph.addVertex(T.label, "service-instance",T.id, "5", "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid1");
- Vertex l3Network2 = graph.addVertex(T.label, "l3-network",T.id, "6", "aai-node-type", "l3-network","network-id", "networkId2");
- Vertex vlanTag2 = graph.addVertex(T.label, "vlan-tag",T.id, "7", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
- Vertex l3Network3 = graph.addVertex(T.label, "l3-network",T.id, "8", "aai-node-type", "l3-network","network-id", "networkId3");
- Vertex vlanTag3 = graph.addVertex(T.label, "vlan-tag",T.id, "9", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
- Vertex vlanTag4 = graph.addVertex(T.label, "vlan-tag",T.id, "10", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
-
-
- Vertex l3Network4 = graph.addVertex(T.label, "l3-network",T.id, "11", "aai-node-type", "l3-network","network-id", "networkId4");
- Vertex l3Network5 = graph.addVertex(T.label, "l3-network",T.id, "12", "aai-node-type", "l3-network","network-id", "networkId5");
-
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, serviceInstance,l3Network);
- rules.addEdge(g, serviceInstance,l3Network2);
-
- rules.addEdge(g, l3Network,vlanTag);
- rules.addEdge(g, l3Network,vlanTag2);
-
- rules.addEdge(g, l3Network,l3Network1);
- rules.addEdge(g, l3Network1,vlanTag1);
-
- rules.addEdge(g, l3Network2,vlanTag4);
-
- rules.addEdge(g, l3Network2,l3Network3);
- rules.addEdge(g, l3Network3,vlanTag3);
-
- rules.addEdge(g, l3Network4,l3Network5);
- rules.addEdge(g, serviceInstance,l3Network5);
-
- expectedResult.add(l3Network);
- expectedResult.add(l3Network2);
-
- expectedResult.add(vlanTag);
- expectedResult.add(vlanTag2);
-
- expectedResult.add(l3Network1);
- expectedResult.add(vlanTag1);
-
- expectedResult.add(vlanTag4);
-
- expectedResult.add(l3Network3);
- expectedResult.add(vlanTag3);
-
- expectedResult.add(l3Network4);
- expectedResult.add(l3Network5);
-
- //expectedResult.add(vlanTag1);//false
- //expectedResult.add(l3Network1);//false
- //expectedResult.add(linterface1);//false
- }
-
- @Override
- protected String getQueryName() {
- return "getNetworksByServiceInstance";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "serviceinstanceid");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-
-
-} \ No newline at end of file
+ public GetNetworksByServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "0",
+ "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid");
+ Vertex l3Network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type",
+ "l3-network", "network-id", "networkId");
+ Vertex vlanTag = graph.addVertex(T.label, "vlan-tag", T.id, "2", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+ Vertex l3Network1 = graph.addVertex(T.label, "l3-network", T.id, "3", "aai-node-type",
+ "l3-network", "network-id", "networkId1");
+ Vertex vlanTag1 = graph.addVertex(T.label, "vlan-tag", T.id, "4", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+
+ Vertex serviceInstance2 = graph.addVertex(T.label, "service-instance", T.id, "5",
+ "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid1");
+ Vertex l3Network2 = graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type",
+ "l3-network", "network-id", "networkId2");
+ Vertex vlanTag2 = graph.addVertex(T.label, "vlan-tag", T.id, "7", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+ Vertex l3Network3 = graph.addVertex(T.label, "l3-network", T.id, "8", "aai-node-type",
+ "l3-network", "network-id", "networkId3");
+ Vertex vlanTag3 = graph.addVertex(T.label, "vlan-tag", T.id, "9", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+ Vertex vlanTag4 = graph.addVertex(T.label, "vlan-tag", T.id, "10", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+
+ Vertex l3Network4 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type",
+ "l3-network", "network-id", "networkId4");
+ Vertex l3Network5 = graph.addVertex(T.label, "l3-network", T.id, "12", "aai-node-type",
+ "l3-network", "network-id", "networkId5");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, serviceInstance, l3Network);
+ rules.addEdge(g, serviceInstance, l3Network2);
+
+ rules.addEdge(g, l3Network, vlanTag);
+ rules.addEdge(g, l3Network, vlanTag2);
+
+ rules.addEdge(g, l3Network, l3Network1);
+ rules.addEdge(g, l3Network1, vlanTag1);
+
+ rules.addEdge(g, l3Network2, vlanTag4);
+
+ rules.addEdge(g, l3Network2, l3Network3);
+ rules.addEdge(g, l3Network3, vlanTag3);
+
+ rules.addEdge(g, l3Network4, l3Network5);
+ rules.addEdge(g, serviceInstance, l3Network5);
+
+ expectedResult.add(l3Network);
+ expectedResult.add(l3Network2);
+
+ expectedResult.add(vlanTag);
+ expectedResult.add(vlanTag2);
+
+ expectedResult.add(l3Network1);
+ expectedResult.add(vlanTag1);
+
+ expectedResult.add(vlanTag4);
+
+ expectedResult.add(l3Network3);
+ expectedResult.add(vlanTag3);
+
+ expectedResult.add(l3Network4);
+ expectedResult.add(l3Network5);
+
+ // expectedResult.add(vlanTag1);//false
+ // expectedResult.add(l3Network1);//false
+ // expectedResult.add(linterface1);//false
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getNetworksByServiceInstance";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id", "serviceinstanceid");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksTest.java
index 8e34236..3e4c1ee 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetNetworksTest.java
@@ -9,7 +9,7 @@ package org.onap.aai.rest.search;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,63 +30,86 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetNetworksTest extends QueryTest {
-
- public GetNetworksTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void test() {
- super.run();
- }
+ public GetNetworksTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "1", "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-0", "owning-entity-name", "owning-entity-name-0");
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-0");
- Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "3", "aai-node-type", "l3-network", "network-id", "network-id-0", "network-role", "network-role-0", "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-0", "cloud-region-owner", "cloud-owner-name-0","cloud-region-version","cloud-region-version-0");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "8", "aai-node-type", "l3-network", "network-id", "network-id-2", "network-role", "network-role-2", "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network", "network-id", "network-id-0", "network-role", "network-role-3", "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-0","cloud-region-version","cloud-region-version-0");
-
- Vertex owningentity1 = graph.addVertex(T.label, "owning-entity", T.id, "4", "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-1", "owning-entity-name", "owning-entity-name-1");
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "5", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network", "network-id", "network-id-1", "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "7", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1","cloud-region-version","cloud-region-version-1");
+ @Test
+ public void test() {
+ super.run();
+ }
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, owningentity, serviceinstance);
- rules.addEdge(g, serviceinstance, l3network);
- rules.addEdge(g, l3network, cloudregion);
- rules.addEdge(g, serviceinstance, l3network2);
- rules.addEdge(g, l3network2, cloudregion);
- rules.addEdge(g, l3network3, cloudregion2);
- rules.addEdge(g, serviceinstance, l3network3);
-
- rules.addEdge(g, owningentity1, serviceinstance1);
- rules.addEdge(g, serviceinstance1, l3network1); //false
- rules.addEdge(g, l3network1, cloudregion1);
-
- expectedResult.add(l3network);
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "1", "aai-node-type",
+ "owning-entity", "owning-entity-id", "owning-entity-id-0", "owning-entity-name",
+ "owning-entity-name-0");
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "2",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-0");
+ Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "3", "aai-node-type",
+ "l3-network", "network-id", "network-id-0", "network-role", "network-role-0",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-0", "cloud-region-owner",
+ "cloud-owner-name-0", "cloud-region-version", "cloud-region-version-0");
+ Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "8", "aai-node-type",
+ "l3-network", "network-id", "network-id-2", "network-role", "network-role-2",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type",
+ "l3-network", "network-id", "network-id-0", "network-role", "network-role-3",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner",
+ "cloud-owner-name-0", "cloud-region-version", "cloud-region-version-0");
- @Override
- protected String getQueryName() {
- return "getNetworks";
- }
+ Vertex owningentity1 = graph.addVertex(T.label, "owning-entity", T.id, "4", "aai-node-type",
+ "owning-entity", "owning-entity-id", "owning-entity-id-1", "owning-entity-name",
+ "owning-entity-name-1");
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "5",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
+ Vertex l3network1 =
+ graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network",
+ "network-id", "network-id-1", "is-bound-to-vpn", "false", "is-provider-network",
+ "false", "is-shared-network", "false", "is-external-network", "false");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "7", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner",
+ "cloud-owner-name-1", "cloud-region-version", "cloud-region-version-1");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "owning-entity").has("owning-entity-id", "owning-entity-id-0");
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, owningentity, serviceinstance);
+ rules.addEdge(g, serviceinstance, l3network);
+ rules.addEdge(g, l3network, cloudregion);
+ rules.addEdge(g, serviceinstance, l3network2);
+ rules.addEdge(g, l3network2, cloudregion);
+ rules.addEdge(g, l3network3, cloudregion2);
+ rules.addEdge(g, serviceinstance, l3network3);
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("networkRole", "network-role-0");
- params.put("cloudRegionId", "cloud-region-id-0");
- }
+ rules.addEdge(g, owningentity1, serviceinstance1);
+ rules.addEdge(g, serviceinstance1, l3network1); // false
+ rules.addEdge(g, l3network1, cloudregion1);
+
+ expectedResult.add(l3network);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getNetworks";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "owning-entity").has("owning-entity-id", "owning-entity-id-0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("networkRole", "network-role-0");
+ params.put("cloudRegionId", "cloud-region-id-0");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetPinterfacePhysicalLinkBySvcInstIdTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetPinterfacePhysicalLinkBySvcInstIdTest.java
index b271183..f1bf3f1 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetPinterfacePhysicalLinkBySvcInstIdTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetPinterfacePhysicalLinkBySvcInstIdTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
*/
package org.onap.aai.rest.search;
-
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,75 +31,85 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetPinterfacePhysicalLinkBySvcInstIdTest extends QueryTest {
- public GetPinterfacePhysicalLinkBySvcInstIdTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void test() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "0", "aai-node-type", "service-instance", "service-instance-id", "s-instance-id1");
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "s-instance-id2");
-
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2");
-
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "pservername2");
-
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver", "vserver-id", "vserverid1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserverid2");
-
- Vertex pInterface = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type", "p-interface", "interface-name", "p-interface-1");
- Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type", "p-interface", "interface-name", "p-interface-2");
-
- Vertex plink = graph.addVertex(T.label, "physical-link", T.id, "10", "aai-node-type", "physical-link", "link-name", "link-name-1" );
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "11", "aai-node-type", "physical-link", "link-name", "link-name-2" );
-
-
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, serviceinstance, gnvf);
- rules.addEdge(g, gnvf, vserver);
- rules.addEdge(g, vserver, pserver);
- rules.addTreeEdge(g, pserver, pInterface);
- rules.addEdge(g, pInterface, plink);
-
- rules.addEdge(g, serviceinstance1, gnvf1);
- rules.addEdge(g, gnvf1, vserver1);
- rules.addEdge(g, vserver1, pserver1);
- rules.addTreeEdge(g, pserver1, pInterface1);
- rules.addEdge(g, pInterface1, plink1);
-
- expectedResult.add(serviceinstance);
- expectedResult.add(gnvf);
- expectedResult.add(vserver);
- expectedResult.add(pserver);
- expectedResult.add(pInterface);
- expectedResult.add(plink);
-
-
- }
-
- @Override
- protected String getQueryName() {
- return "getPinterfacePhysicalLinkBySvcInstId";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "s-instance-id1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public GetPinterfacePhysicalLinkBySvcInstIdTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "0",
+ "aai-node-type", "service-instance", "service-instance-id", "s-instance-id1");
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "s-instance-id2");
+
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2");
+
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pservername2");
+
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver",
+ "vserver-id", "vserverid1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserverid2");
+
+ Vertex pInterface = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-1");
+ Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-2");
+
+ Vertex plink = graph.addVertex(T.label, "physical-link", T.id, "10", "aai-node-type",
+ "physical-link", "link-name", "link-name-1");
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "11", "aai-node-type",
+ "physical-link", "link-name", "link-name-2");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, serviceinstance, gnvf);
+ rules.addEdge(g, gnvf, vserver);
+ rules.addEdge(g, vserver, pserver);
+ rules.addTreeEdge(g, pserver, pInterface);
+ rules.addEdge(g, pInterface, plink);
+
+ rules.addEdge(g, serviceinstance1, gnvf1);
+ rules.addEdge(g, gnvf1, vserver1);
+ rules.addEdge(g, vserver1, pserver1);
+ rules.addTreeEdge(g, pserver1, pInterface1);
+ rules.addEdge(g, pInterface1, plink1);
+
+ expectedResult.add(serviceinstance);
+ expectedResult.add(gnvf);
+ expectedResult.add(vserver);
+ expectedResult.add(pserver);
+ expectedResult.add(pInterface);
+ expectedResult.add(plink);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getPinterfacePhysicalLinkBySvcInstId";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id", "s-instance-id1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetRouterRoadmTailSummaryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetRouterRoadmTailSummaryTest.java
index 6e0f852..bbde1d4 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetRouterRoadmTailSummaryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetRouterRoadmTailSummaryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,11 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,12 +32,7 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Map;
-
-public class GetRouterRoadmTailSummaryTest extends TreeQueryTest{
+public class GetRouterRoadmTailSummaryTest extends TreeQueryTest {
public GetRouterRoadmTailSummaryTest() throws AAIException, NoEdgeRuleFoundException {
super();
@@ -40,16 +40,25 @@ public class GetRouterRoadmTailSummaryTest extends TreeQueryTest{
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link", "link-name", "logical-link-1");
- Vertex logicalLink2 = graph.addVertex(T.label, "logical-link", T.id, "5", "aai-node-type", "logical-link", "link-name", "logical-link-2");
- Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "6", "aai-node-type", "p-interface", "interface-name", "p-interface-1");
- Vertex pInterface2 = graph.addVertex(T.label, "p-interface", T.id, "7", "aai-node-type", "p-interface", "interface-name", "p-interface-2");
- Vertex pInterface3 = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type", "p-interface", "interface-name", "p-interface-3");
- Vertex pInterface4 = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type", "p-interface", "interface-name", "p-interface-4");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "9", "aai-node-type", "pnf", "pnf-name", "pnf1name");
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "10", "aai-node-type", "pnf", "pnf-name", "pnf2name");
+ Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type",
+ "logical-link", "link-name", "logical-link-1");
+ Vertex logicalLink2 = graph.addVertex(T.label, "logical-link", T.id, "5", "aai-node-type",
+ "logical-link", "link-name", "logical-link-2");
+ Vertex pInterface1 = graph.addVertex(T.label, "p-interface", T.id, "6", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-1");
+ Vertex pInterface2 = graph.addVertex(T.label, "p-interface", T.id, "7", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-2");
+ Vertex pInterface3 = graph.addVertex(T.label, "p-interface", T.id, "8", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-3");
+ Vertex pInterface4 = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type",
+ "p-interface", "interface-name", "p-interface-4");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "9", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name");
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "10", "aai-node-type", "pnf",
+ "pnf-name", "pnf2name");
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface", "interface-name", "l-interface-1");
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "interface-name", "l-interface-1");
rules.addEdge(gts, logicalLink2, logicalLink1);
rules.addEdge(gts, logicalLink2, pInterface1);
@@ -59,56 +68,65 @@ public class GetRouterRoadmTailSummaryTest extends TreeQueryTest{
rules.addTreeEdge(gts, pInterface1, pnf1);
rules.addTreeEdge(gts, pInterface2, pnf2);
rules.addTreeEdge(gts, pInterface3, pnf2);
- rules.addTreeEdge(gts, pInterface4, pnf1); //false
+ rules.addTreeEdge(gts, pInterface4, pnf1); // false
- rules.addEdge(gts, logicalLink2, lInterface1);//false
+ rules.addEdge(gts, logicalLink2, lInterface1);// false
expectedResult.add(pnf1);
expectedResult.add(pInterface1);
- //expectedResult.add(logicalLink1);
+ // expectedResult.add(logicalLink1);
expectedResult.add(pInterface2);
expectedResult.add(pInterface3);
expectedResult.add(pnf2);
expectedResult.add(logicalLink2);
-
+
}
@Test
public void run() {
super.run();
-
- Tree tree = treeList.get(0); //pnf1
-
- Vertex l1 = graph.traversal().V().has("aai-node-type","logical-link").has("link-name","logical-link-1").next();
-
- Vertex l2 = graph.traversal().V().has("aai-node-type","logical-link").has("link-name","logical-link-2").next();
- Vertex pInt1 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-1").next();
- Vertex pInt2 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-2").next();
- Vertex pInt3 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-3").next();
- Vertex pInt4 = graph.traversal().V().has("aai-node-type","p-interface").has("interface-name","p-interface-4").next();
- Vertex pnf1 = graph.traversal().V().has("aai-node-type","pnf").has("pnf-name","pnf1name").next();
- Vertex pnf2 = graph.traversal().V().has("aai-node-type","pnf").has("pnf-name","pnf2name").next();
-
+
+ Tree tree = treeList.get(0); // pnf1
+
+ Vertex l1 = graph.traversal().V().has("aai-node-type", "logical-link")
+ .has("link-name", "logical-link-1").next();
+
+ Vertex l2 = graph.traversal().V().has("aai-node-type", "logical-link")
+ .has("link-name", "logical-link-2").next();
+ Vertex pInt1 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-1").next();
+ Vertex pInt2 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-2").next();
+ Vertex pInt3 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-3").next();
+ Vertex pInt4 = graph.traversal().V().has("aai-node-type", "p-interface")
+ .has("interface-name", "p-interface-4").next();
+ Vertex pnf1 =
+ graph.traversal().V().has("aai-node-type", "pnf").has("pnf-name", "pnf1name").next();
+ Vertex pnf2 =
+ graph.traversal().V().has("aai-node-type", "pnf").has("pnf-name", "pnf2name").next();
+
/*
* Expected:
- * {v[9] -> pnf1
- {v[6] -> pInt1
- {v[5] -> l2
- {
- v[6] -> pInt1
- {v[9]={}}, -> pnf1
- v[7]= -> pInt2
- {v[10]={}}, -> pnf2
- v[8]= -> pInt3
- {v[10]={}} -> pnf2
- }
- }
- }
- }
+ * {v[9] -> pnf1
+ * {v[6] -> pInt1
+ * {v[5] -> l2
+ * {
+ * v[6] -> pInt1
+ * {v[9]={}}, -> pnf1
+ * v[7]= -> pInt2
+ * {v[10]={}}, -> pnf2
+ * v[8]= -> pInt3
+ * {v[10]={}} -> pnf2
+ * }
+ * }
+ * }
+ * }
*/
-
+
assertTrue(tree.containsKey(pnf1));
- assertFalse(((Tree) tree.get(pnf1)).containsKey(pInt4)); //pInt4 is not connected to any logical-link
+ assertFalse(((Tree) tree.get(pnf1)).containsKey(pInt4)); // pInt4 is not connected to any
+ // logical-link
assertTrue(((Tree) tree.get(pnf1)).containsKey(pInt1));
assertTrue(tree.getObjectsAtDepth(3).contains(l2));
assertTrue(tree.getObjectsAtDepth(4).contains(pInt1));
@@ -117,7 +135,7 @@ public class GetRouterRoadmTailSummaryTest extends TreeQueryTest{
assertTrue(tree.getObjectsAtDepth(4).contains(pInt3));
assertTrue(tree.getObjectsAtDepth(5).contains(pnf2));
}
-
+
@Override
protected String getQueryName() {
return "getRouterRoadmTailSummary";
@@ -133,4 +151,4 @@ public class GetRouterRoadmTailSummaryTest extends TreeQueryTest{
return;
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceSummaryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceSummaryTest.java
index 1fba932..d2a248e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceSummaryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceSummaryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,79 +26,100 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetServiceInstanceSummaryTest extends QueryTest {
-
- public GetServiceInstanceSummaryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid0");
- Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "2", "aai-node-type", "l3-network", "network-id", "networkid0");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex servicesub = graph.addVertex(T.label, "service-subscription", T.id, "4", "aai-node-type", "service-subscription", "service-type", "servicetype0");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "5", "aai-node-type", "customer", "customer-id", "customerid0");
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
-
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "10", "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type", "l3-network", "network-id", "networkid0");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "12", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex servicesub1 = graph.addVertex(T.label, "service-subscription", T.id, "13", "aai-node-type", "service-subscription", "service-type", "servicetype0");
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "14", "aai-node-type", "customer", "customer-id", "customerid0");
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "15", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "16", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "17", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "18", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, serviceinstance, l3network);
- rules.addEdge(g, l3network, cloudregion);
- rules.addTreeEdge(g, serviceinstance, servicesub);
- rules.addTreeEdge(g, servicesub, customer);
- rules.addEdge(g, serviceinstance, genericvnf);
- rules.addEdge(g, genericvnf, vserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion1);
-
- rules.addEdge(g, serviceinstance1, l3network1);//false
- rules.addEdge(g, l3network1, cloudregion2);//false
- rules.addTreeEdge(g, serviceinstance1, servicesub1);//false
- rules.addTreeEdge(g, servicesub1, customer1);//false
- rules.addEdge(g, serviceinstance1, genericvnf1);//false
- rules.addEdge(g, genericvnf1, vserver1);//false
- rules.addTreeEdge(g, vserver1, tenant1);//false
- rules.addTreeEdge(g, tenant1, cloudregion3);//false
-
- expectedResult.add(serviceinstance);
- expectedResult.add(cloudregion);
- expectedResult.add(cloudregion1);
- expectedResult.add(servicesub);
- expectedResult.add(customer);
- }
- @Override
- protected String getQueryName() {
- return "getServiceInstanceSummary";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "serviceinstanceid0");
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public GetServiceInstanceSummaryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid0");
+ Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "2", "aai-node-type",
+ "l3-network", "network-id", "networkid0");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex servicesub = graph.addVertex(T.label, "service-subscription", T.id, "4",
+ "aai-node-type", "service-subscription", "service-type", "servicetype0");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "5", "aai-node-type",
+ "customer", "customer-id", "customerid0");
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "10",
+ "aai-node-type", "service-instance", "service-instance-id", "serviceinstanceid1");
+ Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type",
+ "l3-network", "network-id", "networkid0");
+ Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "12", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex servicesub1 = graph.addVertex(T.label, "service-subscription", T.id, "13",
+ "aai-node-type", "service-subscription", "service-type", "servicetype0");
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "14", "aai-node-type",
+ "customer", "customer-id", "customerid0");
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "15", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid0");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "16", "aai-node-type",
+ "vserver", "vserver-id", "vserverid0");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "17", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex cloudregion3 = graph.addVertex(T.label, "cloud-region", T.id, "18", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, serviceinstance, l3network);
+ rules.addEdge(g, l3network, cloudregion);
+ rules.addTreeEdge(g, serviceinstance, servicesub);
+ rules.addTreeEdge(g, servicesub, customer);
+ rules.addEdge(g, serviceinstance, genericvnf);
+ rules.addEdge(g, genericvnf, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion1);
+
+ rules.addEdge(g, serviceinstance1, l3network1);// false
+ rules.addEdge(g, l3network1, cloudregion2);// false
+ rules.addTreeEdge(g, serviceinstance1, servicesub1);// false
+ rules.addTreeEdge(g, servicesub1, customer1);// false
+ rules.addEdge(g, serviceinstance1, genericvnf1);// false
+ rules.addEdge(g, genericvnf1, vserver1);// false
+ rules.addTreeEdge(g, vserver1, tenant1);// false
+ rules.addTreeEdge(g, tenant1, cloudregion3);// false
+
+ expectedResult.add(serviceinstance);
+ expectedResult.add(cloudregion);
+ expectedResult.add(cloudregion1);
+ expectedResult.add(servicesub);
+ expectedResult.add(customer);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getServiceInstanceSummary";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id", "serviceinstanceid0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceVnfVfModuleModelsTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceVnfVfModuleModelsTest.java
index 64abbae..6714a13 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceVnfVfModuleModelsTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceInstanceVnfVfModuleModelsTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -29,59 +31,72 @@ import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class GetServiceInstanceVnfVfModuleModelsTest extends QueryTest {
public GetServiceInstanceVnfVfModuleModelsTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
+
@Test
public void run() {
super.run();
}
+ @Override
+ protected void createGraph()
+ throws AAIException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex modelver = graph.addVertex(T.label, "model-ver", T.id, "2", "aai-node-type",
+ "model-ver", "model-ver-id", "model-ver-id-1");
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+ Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "4", "aai-node-type",
+ "model-ver", "model-ver-id", "model-ver-id-1");
+ Vertex model = graph.addVertex(T.label, "model", T.id, "5", "aai-node-type", "model",
+ "model-id", "model-id-1");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "6", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1");
+ Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "7", "aai-node-type",
+ "model-ver", "model-ver-id", "model-ver-id-2");
+ Vertex model1 = graph.addVertex(T.label, "model", T.id, "8", "aai-node-type", "model",
+ "model-id", "model-id-2");
+
+ Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "9",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-2");
+ Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "10", "aai-node-type",
+ "l3-network", "l3-network-id", "l3-network-id-1");
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "12", "aai-node-type", "complex",
+ "complex-id", "complex-1");
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "13", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-2");
+ Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "14", "aai-node-type",
+ "l3-network", "l3-network-id", "l3-network-id-2");
+
+ Vertex model2 = graph.addVertex(T.label, "model", T.id, "15", "aai-node-type", "model",
+ "model-id", "model-id-3");
- @Override
- protected void createGraph() throws AAIException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex modelver = graph.addVertex(T.label, "model-ver", T.id, "2", "aai-node-type", "model-ver","model-ver-id", "model-ver-id-1");
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
- Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "4", "aai-node-type", "model-ver","model-ver-id", "model-ver-id-1");
- Vertex model = graph.addVertex(T.label, "model", T.id, "5", "aai-node-type", "model","model-id", "model-id-1");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "6", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1");
- Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "7", "aai-node-type", "model-ver","model-ver-id", "model-ver-id-2");
- Vertex model1 = graph.addVertex(T.label, "model", T.id, "8", "aai-node-type", "model","model-id", "model-id-2");
-
- Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "9", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name", "service-instance-name-2");
- Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "10", "aai-node-type", "l3-network","l3-network-id", "l3-network-id-1");
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "12", "aai-node-type", "complex","complex-id", "complex-1");
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "13", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-2");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "14", "aai-node-type", "l3-network","l3-network-id", "l3-network-id-2");
-
- Vertex model2 = graph.addVertex(T.label, "model", T.id, "15", "aai-node-type", "model","model-id", "model-id-3");
-
-
GraphTraversalSource g = graph.traversal();
- rules.addPrivateEdge(g, serviceInstance, modelver,null);
+ rules.addPrivateEdge(g, serviceInstance, modelver, null);
rules.addTreeEdge(g, modelver, model2);
rules.addEdge(g, serviceInstance, genericvnf);
- rules.addPrivateEdge(g, genericvnf, modelver1,null);
+ rules.addPrivateEdge(g, genericvnf, modelver1, null);
rules.addTreeEdge(g, modelver1, model);
rules.addTreeEdge(g, genericvnf, vfmodule);
- rules.addPrivateEdge(g, vfmodule, modelver2,null);
+ rules.addPrivateEdge(g, vfmodule, modelver2, null);
rules.addTreeEdge(g, modelver2, model1);
-
- rules.addEdge(g, serviceInstance1, l3network);//not expected in result
- rules.addEdge(g, serviceInstance1, genericvnf1);//not expected in result
- rules.addEdge(g, genericvnf1, complex);//not expected in result
- rules.addTreeEdge(g, genericvnf1, vfmodule1);//not expected in result
- rules.addEdge(g, vfmodule1, l3network1);//not expected in result
-
-
+
+ rules.addEdge(g, serviceInstance1, l3network);// not expected in result
+ rules.addEdge(g, serviceInstance1, genericvnf1);// not expected in result
+ rules.addEdge(g, genericvnf1, complex);// not expected in result
+ rules.addTreeEdge(g, genericvnf1, vfmodule1);// not expected in result
+ rules.addEdge(g, vfmodule1, l3network1);// not expected in result
+
expectedResult.add(serviceInstance);
expectedResult.add(modelver);
expectedResult.add(model2);
@@ -91,19 +106,20 @@ public class GetServiceInstanceVnfVfModuleModelsTest extends QueryTest {
expectedResult.add(vfmodule);
expectedResult.add(modelver2);
expectedResult.add(model1);
-
}
-
@Override
protected String getQueryName() {
- return "getServiceInstanceVnfVfModuleModels";
+ return "getServiceInstanceVnfVfModuleModels";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
}
+
@Override
protected void addParam(Map<String, Object> params) {
return;
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceTopologyTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceTopologyTest.java
index 5475ea8..c9694d0 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceTopologyTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetServiceTopologyTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -36,143 +36,191 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetServiceTopologyTest extends TreeQueryTest {
- public GetServiceTopologyTest() throws AAIException, NoEdgeRuleFoundException {
- super();
+ public GetServiceTopologyTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
}
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
-
-
-
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "1", "aai-node-type", "customer", "global-customer-id", "customer-id-1", "subscriber-name", "customer-name1", "subscriber-type", "customer-type1");
- Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-type", "service-subcription-1");
-
- Vertex serviceInstanceOne = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex genericVnfOne = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-name", "vnf-name", "vnf-type", "test", "vnf-id", "vnf-test=1");
- Vertex lInterfaceOne = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface", "interface-name", "test-l-interface-one");
- Vertex l3Ipv4AddressListOne = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "6", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test1");
- Vertex l3Ipv6AddressListOne = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "7", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test2");
-
- Vertex vlanOne = graph.addVertex(T.label, "vlan", T.id, "8", "aai-node-type", "vlan", "vlan-interface", "test-vlan-one");
- Vertex l3Ipv4AddressListTwo = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "9", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test3");
- Vertex l3Ipv6AddressListTwo = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test4");
-
- Vertex vserverOne = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-id-one", "test-vserver", "vserver-selflink", "test", "vserver-name", "test-vserver");
- Vertex lInterfaceTwo = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface", "interface-name", "test-l-interface-two");
- Vertex l3Ipv4AddressListThree = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "13", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test5");
- Vertex l3Ipv6AddressListThree = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "14", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test6");
-
- Vertex vlanTwo = graph.addVertex(T.label, "vlan", T.id, "15", "aai-node-type", "vlan", "vlan-interface", "test-vlan-two");
- Vertex l3Ipv4AddressListFour = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "16", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test7");
- Vertex l3Ipv6AddressListFour = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "17", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test8");
-
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "pserver", "hostname", "test-pserver");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "19", "aai-node-type", "complex", "physical-location-id", "test-complex");
-
- Vertex allottedResource = graph.addVertex(T.label, "allotted-resource", T.id, "20", "aai-node-type", "allotted-resource", "id", "test-resource");
- Vertex serviceInstanceTwo = graph.addVertex(T.label, "service-instance", T.id, "21", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name", "service-instance-name-1");
- Vertex genericVnfTwo = graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type", "generic-vnf", "vnf-name", "vnf-name", "vnf-type", "test", "vnf-id", "vnf-test-2");
- Vertex lInterfaceThree = graph.addVertex(T.label, "l-interface", T.id, "23", "aai-node-type", "l-interface", "interface-name", "test-l-interface-three");
- Vertex l3Ipv4AddressListFive = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "24", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test9");
- Vertex l3Ipv6AddressListFive = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "25", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test10");
-
- Vertex vlanThree = graph.addVertex(T.label, "vlan", T.id, "26", "aai-node-type", "vlan", "vlan-interface", "test-vlan-three");
- Vertex l3Ipv4AddressListSix = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "27", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test11");
- Vertex l3Ipv6AddressListSix = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "28", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test12");
-
- Vertex vserverTwo = graph.addVertex(T.label, "vserver", T.id, "29", "aai-node-type", "vserver", "vserver-id", "test-vserver", "vserver-selflink", "test", "vserver-name", "test-vserver=two");
- Vertex lInterfaceFour = graph.addVertex(T.label, "l-interface", T.id, "30", "aai-node-type", "l-interface", "interface-name", "test-l-interface-four");
- Vertex l3Ipv4AddressListSeven = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "31", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test13");
- Vertex l3Ipv6AddressListSeven = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "32", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test14");
-
- Vertex vlanFour = graph.addVertex(T.label, "vlan", T.id, "33", "aai-node-type", "vlan", "vlan-interface", "test-vlan-four");
- Vertex l3Ipv4AddressListEight = graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "34", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test15");
- Vertex l3Ipv6AddressListEight = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "35", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test16");
-
-
+ // Set up the test graph
+
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "1", "aai-node-type",
+ "customer", "global-customer-id", "customer-id-1", "subscriber-name", "customer-name1",
+ "subscriber-type", "customer-type1");
+ Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-type", "service-subcription-1");
+
+ Vertex serviceInstanceOne = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex genericVnfOne = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-name", "vnf-name", "vnf-type", "test", "vnf-id", "vnf-test=1");
+ Vertex lInterfaceOne = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "interface-name", "test-l-interface-one");
+ Vertex l3Ipv4AddressListOne =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "6", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test1");
+ Vertex l3Ipv6AddressListOne =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "7", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test2");
+
+ Vertex vlanOne = graph.addVertex(T.label, "vlan", T.id, "8", "aai-node-type", "vlan",
+ "vlan-interface", "test-vlan-one");
+ Vertex l3Ipv4AddressListTwo =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "9", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test3");
+ Vertex l3Ipv6AddressListTwo =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "10", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test4");
+
+ Vertex vserverOne = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type",
+ "vserver", "vserver-id-one", "test-vserver", "vserver-selflink", "test", "vserver-name",
+ "test-vserver");
+ Vertex lInterfaceTwo = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type",
+ "l-interface", "interface-name", "test-l-interface-two");
+ Vertex l3Ipv4AddressListThree =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "13", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test5");
+ Vertex l3Ipv6AddressListThree =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "14", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test6");
+
+ Vertex vlanTwo = graph.addVertex(T.label, "vlan", T.id, "15", "aai-node-type", "vlan",
+ "vlan-interface", "test-vlan-two");
+ Vertex l3Ipv4AddressListFour =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "16", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test7");
+ Vertex l3Ipv6AddressListFour =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "17", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test8");
+
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "pserver",
+ "hostname", "test-pserver");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "19", "aai-node-type", "complex",
+ "physical-location-id", "test-complex");
+
+ Vertex allottedResource = graph.addVertex(T.label, "allotted-resource", T.id, "20",
+ "aai-node-type", "allotted-resource", "id", "test-resource");
+ Vertex serviceInstanceTwo = graph.addVertex(T.label, "service-instance", T.id, "21",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-1");
+ Vertex genericVnfTwo = graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type",
+ "generic-vnf", "vnf-name", "vnf-name", "vnf-type", "test", "vnf-id", "vnf-test-2");
+ Vertex lInterfaceThree = graph.addVertex(T.label, "l-interface", T.id, "23",
+ "aai-node-type", "l-interface", "interface-name", "test-l-interface-three");
+ Vertex l3Ipv4AddressListFive =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "24", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test9");
+ Vertex l3Ipv6AddressListFive =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "25", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test10");
+
+ Vertex vlanThree = graph.addVertex(T.label, "vlan", T.id, "26", "aai-node-type", "vlan",
+ "vlan-interface", "test-vlan-three");
+ Vertex l3Ipv4AddressListSix =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "27", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test11");
+ Vertex l3Ipv6AddressListSix =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "28", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test12");
+
+ Vertex vserverTwo = graph.addVertex(T.label, "vserver", T.id, "29", "aai-node-type",
+ "vserver", "vserver-id", "test-vserver", "vserver-selflink", "test", "vserver-name",
+ "test-vserver=two");
+ Vertex lInterfaceFour = graph.addVertex(T.label, "l-interface", T.id, "30", "aai-node-type",
+ "l-interface", "interface-name", "test-l-interface-four");
+ Vertex l3Ipv4AddressListSeven =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "31", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test13");
+ Vertex l3Ipv6AddressListSeven =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "32", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test14");
+
+ Vertex vlanFour = graph.addVertex(T.label, "vlan", T.id, "33", "aai-node-type", "vlan",
+ "vlan-interface", "test-vlan-four");
+ Vertex l3Ipv4AddressListEight =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "34", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "test15");
+ Vertex l3Ipv6AddressListEight =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "35", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "test16");
+
GraphTraversalSource g = graph.traversal();
-
-
+
rules.addTreeEdge(g, customer, serviceSubscription);
rules.addTreeEdge(g, serviceSubscription, serviceInstanceOne);
-
+
rules.addEdge(g, serviceInstanceOne, genericVnfOne);
rules.addTreeEdge(g, genericVnfOne, lInterfaceOne);
rules.addTreeEdge(g, lInterfaceOne, l3Ipv4AddressListOne);
rules.addTreeEdge(g, lInterfaceOne, l3Ipv6AddressListOne);
-
+
rules.addTreeEdge(g, lInterfaceOne, vlanOne);
rules.addTreeEdge(g, vlanOne, l3Ipv4AddressListTwo);
rules.addTreeEdge(g, vlanOne, l3Ipv6AddressListTwo);
-
+
rules.addEdge(g, genericVnfOne, vserverOne);
- rules.addTreeEdge(g, vserverOne, lInterfaceTwo);
+ rules.addTreeEdge(g, vserverOne, lInterfaceTwo);
rules.addTreeEdge(g, lInterfaceTwo, l3Ipv4AddressListThree);
rules.addTreeEdge(g, lInterfaceTwo, l3Ipv6AddressListThree);
rules.addTreeEdge(g, lInterfaceTwo, vlanTwo);
rules.addTreeEdge(g, vlanTwo, l3Ipv4AddressListFour);
rules.addTreeEdge(g, vlanTwo, l3Ipv6AddressListFour);
rules.addEdge(g, vserverOne, pserver);
- rules.addEdge(g, pserver, complex);
-
+ rules.addEdge(g, pserver, complex);
+
rules.addEdge(g, serviceInstanceOne, allottedResource);
rules.addTreeEdge(g, allottedResource, serviceInstanceTwo);
-
+
rules.addEdge(g, serviceInstanceTwo, genericVnfTwo);
rules.addTreeEdge(g, genericVnfTwo, lInterfaceThree);
rules.addTreeEdge(g, lInterfaceThree, l3Ipv4AddressListFive);
rules.addTreeEdge(g, lInterfaceThree, l3Ipv6AddressListFive);
-
+
rules.addTreeEdge(g, lInterfaceThree, vlanThree);
rules.addTreeEdge(g, vlanThree, l3Ipv4AddressListSix);
rules.addTreeEdge(g, vlanThree, l3Ipv6AddressListSix);
-
+
rules.addEdge(g, genericVnfTwo, vserverTwo);
- rules.addTreeEdge(g, vserverTwo, lInterfaceFour);
+ rules.addTreeEdge(g, vserverTwo, lInterfaceFour);
rules.addTreeEdge(g, lInterfaceFour, l3Ipv4AddressListSeven);
rules.addTreeEdge(g, lInterfaceFour, l3Ipv6AddressListSeven);
rules.addTreeEdge(g, lInterfaceFour, vlanFour);
rules.addTreeEdge(g, vlanFour, l3Ipv4AddressListEight);
rules.addTreeEdge(g, vlanFour, l3Ipv6AddressListEight);
-
-
-
-
+
expectedResult.add(serviceInstanceOne);
expectedResult.add(genericVnfOne);
expectedResult.add(lInterfaceOne);
expectedResult.add(l3Ipv4AddressListOne);
expectedResult.add(l3Ipv6AddressListOne);
- expectedResult.add(vlanOne);
+ expectedResult.add(vlanOne);
expectedResult.add(l3Ipv4AddressListTwo);
expectedResult.add(l3Ipv6AddressListTwo);
-
-
+
expectedResult.add(vserverOne);
expectedResult.add(lInterfaceTwo);
expectedResult.add(l3Ipv4AddressListThree);
expectedResult.add(l3Ipv6AddressListThree);
-
+
expectedResult.add(vlanTwo);
expectedResult.add(l3Ipv4AddressListFour);
expectedResult.add(l3Ipv6AddressListFour);
-
+
expectedResult.add(pserver);
expectedResult.add(complex);
-
+
expectedResult.add(allottedResource);
expectedResult.add(serviceInstanceTwo);
expectedResult.add(genericVnfTwo);
expectedResult.add(lInterfaceThree);
expectedResult.add(l3Ipv4AddressListFive);
expectedResult.add(l3Ipv6AddressListFive);
-
+
expectedResult.add(vlanThree);
expectedResult.add(l3Ipv4AddressListSix);
expectedResult.add(l3Ipv6AddressListSix);
-
+
expectedResult.add(vserverTwo);
expectedResult.add(lInterfaceFour);
expectedResult.add(l3Ipv4AddressListSeven);
@@ -180,9 +228,9 @@ public class GetServiceTopologyTest extends TreeQueryTest {
expectedResult.add(vlanFour);
expectedResult.add(l3Ipv4AddressListEight);
expectedResult.add(l3Ipv6AddressListEight);
-
+
}
-
+
@Test
public void run() {
super.run();
@@ -190,31 +238,34 @@ public class GetServiceTopologyTest extends TreeQueryTest {
ArrayList<Vertex> actualResult = new ArrayList<Vertex>();
int i = 1;
do {
- actualResult.addAll(tree.getObjectsAtDepth(i));
- i++;
- } while(!tree.getObjectsAtDepth(i).isEmpty());
-
- assertEquals("result has expected number of values", actualResult.size(), expectedResult.size());
+ actualResult.addAll(tree.getObjectsAtDepth(i));
+ i++;
+ } while (!tree.getObjectsAtDepth(i).isEmpty());
+
+ assertEquals("result has expected number of values", actualResult.size(),
+ expectedResult.size());
int size = actualResult.size() == expectedResult.size() ? expectedResult.size() : 0;
- for(i = 0; i < size; i++) {
- assertTrue("result has node " + expectedResult.get(i), actualResult.contains(expectedResult.get(i)));
+ for (i = 0; i < size; i++) {
+ assertTrue("result has node " + expectedResult.get(i),
+ actualResult.contains(expectedResult.get(i)));
}
-
+
}
@Override
protected String getQueryName() {
- return "getServiceTopology";
+ return "getServiceTopology";
}
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
}
@Override
protected void addParam(Map<String, Object> params) {
- return;
+ return;
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcInstanceQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcInstanceQueryTest.java
index 71e2f18..81255b4 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcInstanceQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcInstanceQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,72 +30,84 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetTenantInfoAtSvcInstanceQueryTest extends QueryTest {
- public GetTenantInfoAtSvcInstanceQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GetTenantInfoAtSvcInstanceQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex", "complex-id", "complex-1");
-
- Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "7", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-id-2","vserver-name","vserver-name-2");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "12", "aai-node-type", "complex", "complex-id", "complex-2");
-
-
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, serviceInstance, gnvf);
- rules.addEdge(g, gnvf, vserver);
- rules.addTreeEdge(g, vserver,tenant);
- rules.addTreeEdge(g, tenant,cloudregion);
- rules.addEdge(g, cloudregion, complex);
-
- //Not expected in result
- rules.addEdge(g, serviceInstance1, gnvf1);
- rules.addEdge(g, gnvf1, vserver1);
- rules.addTreeEdge(g, vserver1,tenant1);
- rules.addTreeEdge(g, tenant1,cloudregion1);
- rules.addEdge(g, cloudregion1, complex1);
- //Not expected in result
-
- expectedResult.add(serviceInstance);
- expectedResult.add(gnvf);
- expectedResult.add(vserver);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
- expectedResult.add(complex);
-
-
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected String getQueryName() {
- return "getTenantInfoAtSvcInstance";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
+ "complex-id", "complex-1");
+
+ Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "7",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "12", "aai-node-type",
+ "complex", "complex-id", "complex-2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, serviceInstance, gnvf);
+ rules.addEdge(g, gnvf, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, cloudregion, complex);
+
+ // Not expected in result
+ rules.addEdge(g, serviceInstance1, gnvf1);
+ rules.addEdge(g, gnvf1, vserver1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addEdge(g, cloudregion1, complex1);
+ // Not expected in result
+
+ expectedResult.add(serviceInstance);
+ expectedResult.add(gnvf);
+ expectedResult.add(vserver);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+ expectedResult.add(complex);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getTenantInfoAtSvcInstance";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcSubscriptionTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcSubscriptionTest.java
index 8ceab5e..2366d10 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcSubscriptionTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetTenantInfoAtSvcSubscriptionTest.java
@@ -9,7 +9,7 @@ package org.onap.aai.rest.search;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,6 +20,7 @@ package org.onap.aai.rest.search;
*/
import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -28,62 +29,69 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
+public class GetTenantInfoAtSvcSubscriptionTest extends QueryTest {
+
+ public GetTenantInfoAtSvcSubscriptionTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
-public class GetTenantInfoAtSvcSubscriptionTest extends QueryTest{
-
- public GetTenantInfoAtSvcSubscriptionTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "0",
+ "aai-node-type", "service-subscription", "service-type", "service-type-0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "1", "aai-node-type", "tenant",
+ "tenant-id", "tenant-id-0", "tenant-name", "tenant-name-0");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloud-owner-0", "cloud-region-id", "cloud-region-id-0");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-0", "physical-location-type",
+ "physical-location-type-0", "street1", "street1-0", "city", "city-0", "postal-code",
+ "postal-code-0", "country", "country-0", "region", "region-0");
+ Vertex servicesubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "5",
+ "aai-node-type", "service-subscription", "service-type", "service-type-1");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "6", "aai-node-type", "tenant",
+ "tenant-id", "tenant-id-1", "tenant-name", "tenant-name-1");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "7", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloud-owner-1", "cloud-region-id", "cloud-region-id-1");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1", "physical-location-type",
+ "physical-location-type-1", "street1", "street1-1", "city", "city-1", "postal-code",
+ "postal-code-1", "country", "country-1", "region", "region-1");
- @Test
- public void test() {
- super.run();
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, servicesubscription, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, cloudregion, complex);
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription",T.id, "0", "aai-node-type", "service-subscription", "service-type", "service-type-0");
- Vertex tenant = graph.addVertex(T.label, "tenant",T.id, "1", "aai-node-type", "tenant", "tenant-id", "tenant-id-0", "tenant-name", "tenant-name-0");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region",T.id, "2", "aai-node-type", "cloud-region", "cloud-owner", "cloud-owner-0", "cloud-region-id", "cloud-region-id-0");
- Vertex complex = graph.addVertex(T.label, "complex",T.id, "3", "aai-node-type", "complex", "physical-location-id", "physical-location-id-0", "physical-location-type",
- "physical-location-type-0", "street1", "street1-0", "city", "city-0", "postal-code", "postal-code-0", "country", "country-0", "region", "region-0");
- Vertex servicesubscription1 = graph.addVertex(T.label, "service-subscription",T.id, "5", "aai-node-type", "service-subscription", "service-type", "service-type-1");
- Vertex tenant1 = graph.addVertex(T.label, "tenant",T.id, "6", "aai-node-type", "tenant", "tenant-id", "tenant-id-1", "tenant-name", "tenant-name-1");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region",T.id, "7", "aai-node-type", "cloud-region", "cloud-owner", "cloud-owner-1", "cloud-region-id", "cloud-region-id-1");
- Vertex complex1 = graph.addVertex(T.label, "complex",T.id, "8", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1", "physical-location-type",
- "physical-location-type-1", "street1", "street1-1", "city", "city-1", "postal-code", "postal-code-1", "country", "country-1", "region", "region-1");
+ rules.addEdge(g, servicesubscription1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addEdge(g, cloudregion1, complex1);
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, servicesubscription, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, cloudregion, complex);
-
- rules.addEdge(g, servicesubscription1, tenant1);
- rules.addTreeEdge(g, tenant1, cloudregion1);
- rules.addEdge(g, cloudregion1, complex1);
-
-
- expectedResult.add(servicesubscription);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
- expectedResult.add(complex);
- }
+ expectedResult.add(servicesubscription);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+ expectedResult.add(complex);
+ }
- @Override
- protected String getQueryName() {
- return "getTenantInfoAtSvcSubscription";
- }
+ @Override
+ protected String getQueryName() {
+ return "getTenantInfoAtSvcSubscription";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-subscription").has("service-type", "service-type-0");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-subscription").has("service-type", "service-type-0");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVNFVpnBondingServiceDetailsTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVNFVpnBondingServiceDetailsTest.java
index b859b84..d6e1f54 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVNFVpnBondingServiceDetailsTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVNFVpnBondingServiceDetailsTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -27,7 +27,6 @@ import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Ignore;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
@@ -47,39 +46,55 @@ public class GetVNFVpnBondingServiceDetailsTest extends QueryTest {
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
-
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver", "vserver-name1", "vservername1");
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan","vlan-interface", "vlan11");
- Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "5", "aai-node-type", "configuration", "configuration-id", "configuration1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "7", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "8", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex configVpnBinding = graph.addVertex(T.label, "vpn-binding", T.id, "9", "aai-node-type", "vpn-binding",
- "vpn-id", "test-binding-config", "vpn-name", "test");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "10", "aai-node-type", "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
- Vertex subnet1 = graph.addVertex(T.label, "subnet", T.id, "11", "aai-node-type", "subnet", "subnet-id", "subnet-id-11");
- Vertex routeTarget1 = graph.addVertex(T.label, "route-target", T.id, "12", "aai-node-type", "route-target", "global-route-target", "111");
-
+ // Set up the test graph
+
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver",
+ "vserver-name1", "vservername1");
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+ Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan",
+ "vlan-interface", "vlan11");
+ Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "5", "aai-node-type",
+ "configuration", "configuration-id", "configuration1");
+ Vertex l3network1 =
+ graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "7", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "8", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex configVpnBinding = graph.addVertex(T.label, "vpn-binding", T.id, "9",
+ "aai-node-type", "vpn-binding", "vpn-id", "test-binding-config", "vpn-name", "test");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "10", "aai-node-type",
+ "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
+ Vertex subnet1 = graph.addVertex(T.label, "subnet", T.id, "11", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-11");
+ Vertex routeTarget1 = graph.addVertex(T.label, "route-target", T.id, "12", "aai-node-type",
+ "route-target", "global-route-target", "111");
GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gnvf1, vserver);//false
- rules.addEdge(g, gnvf1, config1);//false
- rules.addTreeEdge(g, vserver, linter1);//true
- rules.addTreeEdge(g, linter1, linter2);//true
- rules.addTreeEdge(g, linter2, vlan1);//true
- rules.addEdge(g, config1, l3network1 );//false
- rules.addTreeEdge(g, l3network1, subnet1);//true
- rules.addEdge(g, subnet1, l3inter1ipv4addresslist );//false
- rules.addEdge(g, subnet1, l3inter1ipv6addresslist );//false
- rules.addEdge(g, l3network1, configVpnBinding );//false
- rules.addEdge(g, configVpnBinding, customer );//false
- rules.addTreeEdge(g, configVpnBinding, routeTarget1);//true
-
+ rules.addEdge(g, gnvf1, vserver);// false
+ rules.addEdge(g, gnvf1, config1);// false
+ rules.addTreeEdge(g, vserver, linter1);// true
+ rules.addTreeEdge(g, linter1, linter2);// true
+ rules.addTreeEdge(g, linter2, vlan1);// true
+ rules.addEdge(g, config1, l3network1);// false
+ rules.addTreeEdge(g, l3network1, subnet1);// true
+ rules.addEdge(g, subnet1, l3inter1ipv4addresslist);// false
+ rules.addEdge(g, subnet1, l3inter1ipv6addresslist);// false
+ rules.addEdge(g, l3network1, configVpnBinding);// false
+ rules.addEdge(g, configVpnBinding, customer);// false
+ rules.addTreeEdge(g, configVpnBinding, routeTarget1);// true
expectedResult.add(vserver);
expectedResult.add(config1);
@@ -98,13 +113,15 @@ public class GetVNFVpnBondingServiceDetailsTest extends QueryTest {
@Override
protected String getQueryName() {
- return "getVNFVpnBondingServiceDetails";
+ return "getVNFVpnBondingServiceDetails";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
g.has("vnf-name", "vnf-name-1");
}
+
@Override
protected void addParam(Map<String, Object> params) {
params.put("vnf-name", "vnf-name-1");
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVnfVlanByCircuitIdTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVnfVlanByCircuitIdTest.java
index 74e4875..861ce57 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVnfVlanByCircuitIdTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVnfVlanByCircuitIdTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,64 +26,74 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetVnfVlanByCircuitIdTest extends QueryTest {
- public GetVnfVlanByCircuitIdTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex logicallink1 = graph.addVertex(T.label, "logical-link", T.id, "1", "aai-node-type", "logical-link", "link-name", "linkName1", "link-type", "linkType1", "circuit-id", "circuitId1");
- Vertex logicallink2 = graph.addVertex(T.label, "logical-link", T.id, "2", "aai-node-type", "logical-link", "link-name", "linkName2", "link-type", "linkType2", "circuit-id", "circuitId2");
-
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "3", "aai-node-type", "vlan", "vlan-interface", "vlanInterface1");
- Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan", "vlan-interface", "vlanInterface2");
-
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface", "interface-name", "interfaceName1");
- Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "6", "aai-node-type", "l-interface", "interface-name", "interfaceName2");
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf", "vnf-id", "vnfId1", "vnf-type", "vnfType1");
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnfId2", "vnf-type", "vnfType2");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, logicallink1, vlan1);
- rules.addTreeEdge(g, vlan1, linterface1);
- rules.addTreeEdge(g, linterface1, genericvnf1);
-
- rules.addEdge(g, logicallink2, vlan2);//false
- rules.addTreeEdge(g, vlan2, linterface2);//false
- rules.addTreeEdge(g, linterface2, genericvnf2);//false
-
- expectedResult.add(logicallink1);
- expectedResult.add(vlan1);
- expectedResult.add(linterface1);
- expectedResult.add(genericvnf1);
-
- }
-
- @Override
- protected String getQueryName() {
- return "getVnfVlanByCircuitId";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("link-name","linkName1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("circuit-id","circuitId1");
- }
-} \ No newline at end of file
+ public GetVnfVlanByCircuitIdTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex logicallink1 =
+ graph.addVertex(T.label, "logical-link", T.id, "1", "aai-node-type", "logical-link",
+ "link-name", "linkName1", "link-type", "linkType1", "circuit-id", "circuitId1");
+ Vertex logicallink2 =
+ graph.addVertex(T.label, "logical-link", T.id, "2", "aai-node-type", "logical-link",
+ "link-name", "linkName2", "link-type", "linkType2", "circuit-id", "circuitId2");
+
+ Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "3", "aai-node-type", "vlan",
+ "vlan-interface", "vlanInterface1");
+ Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan",
+ "vlan-interface", "vlanInterface2");
+
+ Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "interface-name", "interfaceName1");
+ Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "6", "aai-node-type",
+ "l-interface", "interface-name", "interfaceName2");
+
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId1", "vnf-type", "vnfType1");
+ Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId2", "vnf-type", "vnfType2");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, logicallink1, vlan1);
+ rules.addTreeEdge(g, vlan1, linterface1);
+ rules.addTreeEdge(g, linterface1, genericvnf1);
+
+ rules.addEdge(g, logicallink2, vlan2);// false
+ rules.addTreeEdge(g, vlan2, linterface2);// false
+ rules.addTreeEdge(g, linterface2, genericvnf2);// false
+
+ expectedResult.add(logicallink1);
+ expectedResult.add(vlan1);
+ expectedResult.add(linterface1);
+ expectedResult.add(genericvnf1);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getVnfVlanByCircuitId";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("link-name", "linkName1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("circuit-id", "circuitId1");
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVserverDetailTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVserverDetailTest.java
index 094439b..c6b9239 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVserverDetailTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetVserverDetailTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -32,91 +32,120 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetVserverDetailTest extends QueryTest {
- public GetVserverDetailTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- //set up test graph
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type", "vf-module", "vf-module-id", "vfmoduleid0");
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "6", "aai-node-type", "service-instance", "service-intsance-id", "serviceinstanceid0");
- Vertex modelver0 = graph.addVertex(T.label, "model-ver", T.id, "7", "aai-node-type", "model-ver", "model-version-id", "modelversionid0");
- Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "8", "aai-node-type", "model-ver", "model-version-id", "modelversionid1");
- Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "9", "aai-node-type", "model-ver", "model-version-id", "modelversionid2");
- Vertex model0 = graph.addVertex(T.label, "model", T.id, "10", "aai-node-type", "model", "model-invariant-id", "modelinvariantid0");
- Vertex model1 = graph.addVertex(T.label, "model", T.id, "11", "aai-node-type", "model", "model-invariant-id", "modelinvariantid1");
- Vertex model2 = graph.addVertex(T.label, "model", T.id, "12", "aai-node-type", "model", "model-invariant-id", "modelinvariantid2");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type", "vserver", "vserver-id", "vserverid1");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "14", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "15", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "16", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0");
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "17", "aai-node-type", "vf-module", "vf-module-id", "vfmoduleid0");
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "18", "aai-node-type", "service-instance", "service-intsance-id", "serviceinstanceid0");
- Vertex modelver3 = graph.addVertex(T.label, "model-ver", T.id, "19", "aai-node-type", "model-ver", "model-version-id", "modelversionid0");
- Vertex modelver4 = graph.addVertex(T.label, "model-ver", T.id, "20", "aai-node-type", "model-ver", "model-version-id", "modelversionid1");
- Vertex modelver5 = graph.addVertex(T.label, "model-ver", T.id, "21", "aai-node-type", "model-ver", "model-version-id", "modelversionid2");
- Vertex model3 = graph.addVertex(T.label, "model", T.id, "22", "aai-node-type", "model", "model-invariant-id", "modelinvariantid0");
- Vertex model4 = graph.addVertex(T.label, "model", T.id, "23", "aai-node-type", "model", "model-invariant-id", "modelinvariantid1");
- Vertex model5 = graph.addVertex(T.label, "model", T.id, "24", "aai-node-type", "model", "model-invariant-id", "modelinvariantid2");
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, vserver, genericvnf);
- rules.addPrivateEdge(g, genericvnf, modelver0, null);
- rules.addTreeEdge(g, modelver0, model0);
- rules.addTreeEdge(g, genericvnf, vfmodule);
- rules.addPrivateEdge(g, vfmodule, modelver1, null);
- rules.addTreeEdge(g, modelver1, model1);
- rules.addEdge(g, genericvnf, serviceinstance);
- rules.addPrivateEdge(g, serviceinstance, modelver2, null);
- rules.addTreeEdge(g, modelver2, model2);
-
- rules.addTreeEdge(g, vserver1, tenant1);//false
- rules.addTreeEdge(g, tenant1, cloudregion1);//false
- rules.addEdge(g, vserver1, genericvnf1);//false
- rules.addPrivateEdge(g, genericvnf1, modelver3, null);//false
- rules.addTreeEdge(g, modelver3, model3);//false
- rules.addTreeEdge(g, genericvnf1, vfmodule1);//false
- rules.addPrivateEdge(g, vfmodule1, modelver4, null);//false
- rules.addTreeEdge(g, modelver4, model4);//false
- rules.addEdge(g, genericvnf1, serviceinstance1);
- rules.addPrivateEdge(g, serviceinstance1, modelver5, null);//false
- rules.addTreeEdge(g, modelver5, model5);//false
-
- expectedResult.add(vserver);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
- expectedResult.add(genericvnf);
- expectedResult.add(modelver0);
- expectedResult.add(model0);
- expectedResult.add(vfmodule);
- expectedResult.add(modelver1);
- expectedResult.add(model1);
- expectedResult.add(serviceinstance);
- expectedResult.add(modelver2);
- expectedResult.add(model2);
- }
- @Override
- protected String getQueryName() {
- return "getVserverDetail";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vserver").has("vserver-id", "vserverid0");
- }
+ public GetVserverDetailTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-} \ No newline at end of file
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException,
+ EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ // set up test graph
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid0");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type",
+ "vf-module", "vf-module-id", "vfmoduleid0");
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "6",
+ "aai-node-type", "service-instance", "service-intsance-id", "serviceinstanceid0");
+ Vertex modelver0 = graph.addVertex(T.label, "model-ver", T.id, "7", "aai-node-type",
+ "model-ver", "model-version-id", "modelversionid0");
+ Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "8", "aai-node-type",
+ "model-ver", "model-version-id", "modelversionid1");
+ Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "9", "aai-node-type",
+ "model-ver", "model-version-id", "modelversionid2");
+ Vertex model0 = graph.addVertex(T.label, "model", T.id, "10", "aai-node-type", "model",
+ "model-invariant-id", "modelinvariantid0");
+ Vertex model1 = graph.addVertex(T.label, "model", T.id, "11", "aai-node-type", "model",
+ "model-invariant-id", "modelinvariantid1");
+ Vertex model2 = graph.addVertex(T.label, "model", T.id, "12", "aai-node-type", "model",
+ "model-invariant-id", "modelinvariantid2");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type",
+ "vserver", "vserver-id", "vserverid1");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "14", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "15", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "16", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid0");
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "17", "aai-node-type",
+ "vf-module", "vf-module-id", "vfmoduleid0");
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "18",
+ "aai-node-type", "service-instance", "service-intsance-id", "serviceinstanceid0");
+ Vertex modelver3 = graph.addVertex(T.label, "model-ver", T.id, "19", "aai-node-type",
+ "model-ver", "model-version-id", "modelversionid0");
+ Vertex modelver4 = graph.addVertex(T.label, "model-ver", T.id, "20", "aai-node-type",
+ "model-ver", "model-version-id", "modelversionid1");
+ Vertex modelver5 = graph.addVertex(T.label, "model-ver", T.id, "21", "aai-node-type",
+ "model-ver", "model-version-id", "modelversionid2");
+ Vertex model3 = graph.addVertex(T.label, "model", T.id, "22", "aai-node-type", "model",
+ "model-invariant-id", "modelinvariantid0");
+ Vertex model4 = graph.addVertex(T.label, "model", T.id, "23", "aai-node-type", "model",
+ "model-invariant-id", "modelinvariantid1");
+ Vertex model5 = graph.addVertex(T.label, "model", T.id, "24", "aai-node-type", "model",
+ "model-invariant-id", "modelinvariantid2");
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, vserver, genericvnf);
+ rules.addPrivateEdge(g, genericvnf, modelver0, null);
+ rules.addTreeEdge(g, modelver0, model0);
+ rules.addTreeEdge(g, genericvnf, vfmodule);
+ rules.addPrivateEdge(g, vfmodule, modelver1, null);
+ rules.addTreeEdge(g, modelver1, model1);
+ rules.addEdge(g, genericvnf, serviceinstance);
+ rules.addPrivateEdge(g, serviceinstance, modelver2, null);
+ rules.addTreeEdge(g, modelver2, model2);
+
+ rules.addTreeEdge(g, vserver1, tenant1);// false
+ rules.addTreeEdge(g, tenant1, cloudregion1);// false
+ rules.addEdge(g, vserver1, genericvnf1);// false
+ rules.addPrivateEdge(g, genericvnf1, modelver3, null);// false
+ rules.addTreeEdge(g, modelver3, model3);// false
+ rules.addTreeEdge(g, genericvnf1, vfmodule1);// false
+ rules.addPrivateEdge(g, vfmodule1, modelver4, null);// false
+ rules.addTreeEdge(g, modelver4, model4);// false
+ rules.addEdge(g, genericvnf1, serviceinstance1);
+ rules.addPrivateEdge(g, serviceinstance1, modelver5, null);// false
+ rules.addTreeEdge(g, modelver5, model5);// false
+
+ expectedResult.add(vserver);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+ expectedResult.add(genericvnf);
+ expectedResult.add(modelver0);
+ expectedResult.add(model0);
+ expectedResult.add(vfmodule);
+ expectedResult.add(modelver1);
+ expectedResult.add(model1);
+ expectedResult.add(serviceinstance);
+ expectedResult.add(modelver2);
+ expectedResult.add(model2);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getVserverDetail";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vserver").has("vserver-id", "vserverid0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetWlBundleIdQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetWlBundleIdQueryTest.java
index 2831315..f2b0a2e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetWlBundleIdQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetWlBundleIdQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,71 +30,83 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GetWlBundleIdQueryTest extends QueryTest {
- public GetWlBundleIdQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public GetWlBundleIdQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
-
- Vertex lagLink = graph.addVertex(T.label, "lag-link", T.id, "1", "aai-node-type", "lag-link", "lag-link-id", "lag-link-id-1","link-name", "link-name-1");
- Vertex logicalLink = graph.addVertex(T.label, "logical-link", T.id, "2", "aai-node-type", "logical-link", "logical-link-id", "logical-link-id-1");
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
- Vertex serviceSubcription = graph.addVertex(T.label, "service-subscription", T.id, "4", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "5", "aai-node-type", "customer", "customer-id", "customer-id-1");
- Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "6", "aai-node-type", "logical-link", "logical-link-id", "logical-link-id-2");
-
- Vertex lagLink1 = graph.addVertex(T.label, "lag-link", T.id, "7", "aai-node-type", "lag-link", "lag-link-id", "lag-link-id-2","link-name", "link-name-2");
- Vertex logicalLink2 = graph.addVertex(T.label, "logical-link", T.id, "8", "aai-node-type", "logical-link", "logical-link-id", "logical-link-id-3");
- Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "9", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
- Vertex serviceSubcription1 = graph.addVertex(T.label, "service-subscription", T.id, "10", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-2");
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "11", "aai-node-type", "customer", "customer-id", "customer-id-2");
- Vertex logicalLink3 = graph.addVertex(T.label, "logical-link", T.id, "12", "aai-node-type", "logical-link", "logical-link-id", "logical-link-id-4");
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, lagLink, logicalLink);
- rules.addEdge(g, logicalLink, serviceInstance);
- rules.addTreeEdge(g, serviceInstance,serviceSubcription);
- rules.addTreeEdge(g, serviceSubcription,customer);
- rules.addEdge(g, logicalLink, logicalLink1);
-
- //Not expected in result
- rules.addEdge(g, lagLink1, logicalLink2);
- rules.addEdge(g, logicalLink2, serviceInstance1);
- rules.addTreeEdge(g, serviceInstance1,serviceSubcription1);
- rules.addTreeEdge(g, serviceSubcription1,customer1);
- rules.addEdge(g, logicalLink2, logicalLink3);
- //Not expected in result
-
- expectedResult.add(lagLink);
- expectedResult.add(logicalLink);
- expectedResult.add(serviceInstance);
- expectedResult.add(serviceSubcription);
- expectedResult.add(customer);
- expectedResult.add(logicalLink1);
-
-
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected String getQueryName() {
- return "getWlBundleId";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "lag-link").has("link-name", "link-name-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ Vertex lagLink = graph.addVertex(T.label, "lag-link", T.id, "1", "aai-node-type",
+ "lag-link", "lag-link-id", "lag-link-id-1", "link-name", "link-name-1");
+ Vertex logicalLink = graph.addVertex(T.label, "logical-link", T.id, "2", "aai-node-type",
+ "logical-link", "logical-link-id", "logical-link-id-1");
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
+ Vertex serviceSubcription =
+ graph.addVertex(T.label, "service-subscription", T.id, "4", "aai-node-type",
+ "service-subscription", "service-subscription-id", "service-subscription-id-1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "5", "aai-node-type",
+ "customer", "customer-id", "customer-id-1");
+ Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "6", "aai-node-type",
+ "logical-link", "logical-link-id", "logical-link-id-2");
+
+ Vertex lagLink1 = graph.addVertex(T.label, "lag-link", T.id, "7", "aai-node-type",
+ "lag-link", "lag-link-id", "lag-link-id-2", "link-name", "link-name-2");
+ Vertex logicalLink2 = graph.addVertex(T.label, "logical-link", T.id, "8", "aai-node-type",
+ "logical-link", "logical-link-id", "logical-link-id-3");
+ Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "9",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
+ Vertex serviceSubcription1 =
+ graph.addVertex(T.label, "service-subscription", T.id, "10", "aai-node-type",
+ "service-subscription", "service-subscription-id", "service-subscription-id-2");
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "11", "aai-node-type",
+ "customer", "customer-id", "customer-id-2");
+ Vertex logicalLink3 = graph.addVertex(T.label, "logical-link", T.id, "12", "aai-node-type",
+ "logical-link", "logical-link-id", "logical-link-id-4");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, lagLink, logicalLink);
+ rules.addEdge(g, logicalLink, serviceInstance);
+ rules.addTreeEdge(g, serviceInstance, serviceSubcription);
+ rules.addTreeEdge(g, serviceSubcription, customer);
+ rules.addEdge(g, logicalLink, logicalLink1);
+
+ // Not expected in result
+ rules.addEdge(g, lagLink1, logicalLink2);
+ rules.addEdge(g, logicalLink2, serviceInstance1);
+ rules.addTreeEdge(g, serviceInstance1, serviceSubcription1);
+ rules.addTreeEdge(g, serviceSubcription1, customer1);
+ rules.addEdge(g, logicalLink2, logicalLink3);
+ // Not expected in result
+
+ expectedResult.add(lagLink);
+ expectedResult.add(logicalLink);
+ expectedResult.add(serviceInstance);
+ expectedResult.add(serviceSubcription);
+ expectedResult.add(customer);
+ expectedResult.add(logicalLink1);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "getWlBundleId";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "lag-link").has("link-name", "link-name-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverDataQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverDataQueryTest.java
index 8724785..49f41f5 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverDataQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverDataQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,58 +26,72 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GfpVserverDataQueryTest extends QueryTest {
- public GfpVserverDataQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0", "nf-type", "sample-nf-type");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "5", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "8", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
- Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "9", "aai-node-type", "vlan", "vlan-interface", "vlan-interface0");
- Vertex sriovVf = graph.addVertex(T.label, "sriov-vf", T.id, "10", "aai-node-type", "sriov-vf", "pci-id", "pci-id0");
-
- GraphTraversalSource g = graph.traversal();
-
-
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addEdge(g, genericvnf, vserver);
- rules.addTreeEdge(g, linterface, vserver);
- rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
+ public GfpVserverDataQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid0", "nf-type", "sample-nf-type");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex linterface =
+ graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "5", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "8", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
+ Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "9", "aai-node-type", "vlan",
+ "vlan-interface", "vlan-interface0");
+ Vertex sriovVf = graph.addVertex(T.label, "sriov-vf", T.id, "10", "aai-node-type",
+ "sriov-vf", "pci-id", "pci-id0");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addEdge(g, genericvnf, vserver);
+ rules.addTreeEdge(g, linterface, vserver);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
rules.addTreeEdge(g, vlan, linterface);
rules.addTreeEdge(g, sriovVf, linterface);
-
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(vlan);
- }
- @Override
- protected String getQueryName() {
- return "gfp-vserver-data";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vserver");
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-} \ No newline at end of file
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(vlan);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "gfp-vserver-data";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vserver");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverQueryTest.java
index 286319f..e287f40 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GfpVserverQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,44 +26,52 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class GfpVserverQueryTest extends QueryTest {
- public GfpVserverQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, linterface, vserver);
-
- expectedResult.add(vserver);
- }
- @Override
- protected String getQueryName() {
- return "gfp-vserver";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vserver");
- }
+ public GfpVserverQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex linterface =
+ graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, linterface, vserver);
+
+ expectedResult.add(vserver);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "gfp-vserver";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vserver");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-} \ No newline at end of file
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GroovyShellImplTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GroovyShellImplTest.java
index b489a83..b7291d6 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GroovyShellImplTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GroovyShellImplTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,17 @@
*/
package org.onap.aai.rest.search;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import groovy.lang.MissingPropertyException;
+
+import java.net.URI;
+import java.util.*;
+
+import javax.ws.rs.core.*;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Before;
@@ -33,17 +43,9 @@ import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
import org.onap.aai.setup.SchemaVersion;
-import javax.ws.rs.core.*;
-import java.net.URI;
-import java.util.*;
+public class GroovyShellImplTest extends AAISetup {
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class GroovyShellImplTest extends AAISetup{
-
- GroovyShellImpl groovyShellImpl ;
+ GroovyShellImpl groovyShellImpl;
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -78,11 +80,11 @@ public class GroovyShellImplTest extends AAISetup{
public void setup() {
version = schemaVersions.getDefaultVersion();
- httpHeaders = mock(HttpHeaders.class);
- uriInfo = mock(UriInfo.class);
+ httpHeaders = mock(HttpHeaders.class);
+ uriInfo = mock(UriInfo.class);
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -103,19 +105,18 @@ public class GroovyShellImplTest extends AAISetup{
when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList);
-
when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getQueryParameters(false)).thenReturn(queryParameters);
- // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable
+ // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very
+ // unreasonable
Mockito.doReturn(null).when(queryParameters).remove(anyObject());
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, version);
- dbEngine = new JanusGraphDBEngine(
- queryStyle,
- loader);
- GenericQueryProcessor.Builder builder = new GenericQueryProcessor.Builder(dbEngine, gremlinServerSingleton);
+ dbEngine = new JanusGraphDBEngine(queryStyle, loader);
+ GenericQueryProcessor.Builder builder =
+ new GenericQueryProcessor.Builder(dbEngine, gremlinServerSingleton);
builder.queryFrom(URI.create("te"));
builder.queryFrom("te", "gremlin");
builder.create();
@@ -130,7 +131,8 @@ public class GroovyShellImplTest extends AAISetup{
GraphTraversal<Vertex, Vertex> g = Mockito.mock(GraphTraversal.class);
g.has("cloud-region-id", "cloud-region-id-1");
Map<String, Object> params = new HashMap<>();
- groovyShellImpl.runQuery("vnfs-fromServiceInstance", params, dbEngine.asAdmin().getTraversalSource());
+ groovyShellImpl.runQuery("vnfs-fromServiceInstance", params,
+ dbEngine.asAdmin().getTraversalSource());
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ImageFromCloudRegionNfTypeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ImageFromCloudRegionNfTypeTest.java
index 04f4433..7ea2678 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ImageFromCloudRegionNfTypeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ImageFromCloudRegionNfTypeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,78 +31,99 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ImageFromCloudRegionNfTypeTest extends QueryTest {
- public ImageFromCloudRegionNfTypeTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type", "cloud-region", "cloud-region-id", "cloudreg1", "cloud-region-owner", "cloudOwnername00");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloudregWrong", "cloud-region-owner", "cloudOwnername01");
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "20", "aai-node-type", "generic-vnf", "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "21", "aai-node-type", "generic-vnf", "vnf-id", "genvnf2", "vnf-name", "genvnfname2", "nf-type", "wrong-nf-type");
- Vertex genericvnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type", "generic-vnf", "vnf-id", "genvnf3", "vnf-name", "genvnfname3", "nf-type", "sample-nf-type");
-
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "31", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "40", "aai-node-type", "vserver", "vserver-id", "vserverid01");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "41", "aai-node-type", "vserver", "vserver-id", "vserverid02");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "42", "aai-node-type", "vserver", "vserver-id", "vserverid03");
- Vertex vserver4 = graph.addVertex(T.label, "vserver", T.id, "43", "aai-node-type", "vserver", "vserver-id", "vserverid04");
- Vertex vserver5 = graph.addVertex(T.label, "vserver", T.id, "44", "aai-node-type", "vserver", "vserver-id", "vserverid05");
-
- Vertex image1 = graph.addVertex(T.label, "image", T.id, "50", "aai-node-type", "image",
- "image-id", "image1", "image-name", "imageName1", "image-os-distro", "boopOS", "image-os-version", "1.0", "image-selflink", "self/link");
- Vertex image2 = graph.addVertex(T.label, "image", T.id, "51", "aai-node-type", "image",
- "image-id", "image2", "image-name", "imageName2", "image-os-distro", "beepOS", "image-os-version", "1.0", "image-selflink", "self/link");
- Vertex image3 = graph.addVertex(T.label, "image", T.id, "52", "aai-node-type", "image",
- "image-id", "image3", "image-name", "imageName3", "image-os-distro", "beepOS", "image-os-version", "1.1", "image-selflink", "self/link");
- Vertex image4 = graph.addVertex(T.label, "image", T.id, "53", "aai-node-type", "image",
- "image-id", "image4", "image-name", "imageName4", "image-os-distro", "beepOS", "image-os-version", "1.1", "image-selflink", "self/link");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, cloudregion1, tenant1);
- rules.addTreeEdge(g, cloudregion2, tenant2);
- rules.addTreeEdge(g, tenant1, vserver1);
- rules.addTreeEdge(g, tenant1, vserver2);
- rules.addTreeEdge(g, tenant2, vserver3);
- rules.addTreeEdge(g, tenant1, vserver4);
- rules.addTreeEdge(g, tenant1, vserver5);
- rules.addEdge(g, vserver1, image1);
- rules.addEdge(g, vserver2, image2);
- rules.addEdge(g, vserver3, image3);
- rules.addEdge(g, vserver4, image4);
- rules.addEdge(g, vserver5, image1);
- rules.addEdge(g, genericvnf1, vserver1);
- rules.addEdge(g, genericvnf2, vserver2);
- rules.addEdge(g, genericvnf1, vserver3);
- rules.addEdge(g, genericvnf3, vserver4);
-
- expectedResult.add(image1);
- expectedResult.add(image4);
- }
-
- @Override
- protected String getQueryName() {
- return "images-fromCloudRegionNfType";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","cloud-region").has("cloud-region-id","cloudreg1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("nfType", "sample-nf-type");
- }
+ public ImageFromCloudRegionNfTypeTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudreg1", "cloud-region-owner", "cloudOwnername00");
+ Vertex cloudregion2 =
+ graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloudregWrong", "cloud-region-owner", "cloudOwnername01");
+
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "20", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ Vertex genericvnf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "21", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf2", "vnf-name", "genvnfname2", "nf-type", "wrong-nf-type");
+ Vertex genericvnf3 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf3", "vnf-name", "genvnfname3", "nf-type", "sample-nf-type");
+
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "30", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "31", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "40", "aai-node-type",
+ "vserver", "vserver-id", "vserverid01");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "41", "aai-node-type",
+ "vserver", "vserver-id", "vserverid02");
+ Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "42", "aai-node-type",
+ "vserver", "vserver-id", "vserverid03");
+ Vertex vserver4 = graph.addVertex(T.label, "vserver", T.id, "43", "aai-node-type",
+ "vserver", "vserver-id", "vserverid04");
+ Vertex vserver5 = graph.addVertex(T.label, "vserver", T.id, "44", "aai-node-type",
+ "vserver", "vserver-id", "vserverid05");
+
+ Vertex image1 = graph.addVertex(T.label, "image", T.id, "50", "aai-node-type", "image",
+ "image-id", "image1", "image-name", "imageName1", "image-os-distro", "boopOS",
+ "image-os-version", "1.0", "image-selflink", "self/link");
+ Vertex image2 = graph.addVertex(T.label, "image", T.id, "51", "aai-node-type", "image",
+ "image-id", "image2", "image-name", "imageName2", "image-os-distro", "beepOS",
+ "image-os-version", "1.0", "image-selflink", "self/link");
+ Vertex image3 = graph.addVertex(T.label, "image", T.id, "52", "aai-node-type", "image",
+ "image-id", "image3", "image-name", "imageName3", "image-os-distro", "beepOS",
+ "image-os-version", "1.1", "image-selflink", "self/link");
+ Vertex image4 = graph.addVertex(T.label, "image", T.id, "53", "aai-node-type", "image",
+ "image-id", "image4", "image-name", "imageName4", "image-os-distro", "beepOS",
+ "image-os-version", "1.1", "image-selflink", "self/link");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, cloudregion1, tenant1);
+ rules.addTreeEdge(g, cloudregion2, tenant2);
+ rules.addTreeEdge(g, tenant1, vserver1);
+ rules.addTreeEdge(g, tenant1, vserver2);
+ rules.addTreeEdge(g, tenant2, vserver3);
+ rules.addTreeEdge(g, tenant1, vserver4);
+ rules.addTreeEdge(g, tenant1, vserver5);
+ rules.addEdge(g, vserver1, image1);
+ rules.addEdge(g, vserver2, image2);
+ rules.addEdge(g, vserver3, image3);
+ rules.addEdge(g, vserver4, image4);
+ rules.addEdge(g, vserver5, image1);
+ rules.addEdge(g, genericvnf1, vserver1);
+ rules.addEdge(g, genericvnf2, vserver2);
+ rules.addEdge(g, genericvnf1, vserver3);
+ rules.addEdge(g, genericvnf3, vserver4);
+
+ expectedResult.add(image1);
+ expectedResult.add(image4);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "images-fromCloudRegionNfType";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region").has("cloud-region-id", "cloudreg1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("nfType", "sample-nf-type");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/InstanceGroupsByCloudRegionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/InstanceGroupsByCloudRegionQueryTest.java
index 0dbb911..2cf93b7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/InstanceGroupsByCloudRegionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/InstanceGroupsByCloudRegionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,48 +31,60 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class InstanceGroupsByCloudRegionQueryTest extends QueryTest {
- public InstanceGroupsByCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public InstanceGroupsByCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void test() {
- super.run();
- }
+ @Test
+ public void test() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-0", "cloud-region-owner", "cloud-owner-name-0","cloud-region-version","cloud-region-version-0");
- Vertex instancegroup = graph.addVertex(T.label, "instance-group", T.id, "2", "aai-node-type", "instance-group", "id", "id-0", "instance-group-type", "instance-group-type-0","instance-group-role","instance-group-role-0","instance-group-function","instance-group-function-0","instance-group-description","instance-group-description-0");
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1","cloud-region-version","cloud-region-version-1");
- Vertex instancegroup1 = graph.addVertex(T.label, "instance-group", T.id, "4", "aai-node-type", "instance-group", "id", "id-1", "instance-group-type", "instance-group-type-1","instance-group-role","instance-group-role-1","instance-group-function","instance-group-function-1","instance-group-description","instance-group-description-1");
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-0", "cloud-region-owner",
+ "cloud-owner-name-0", "cloud-region-version", "cloud-region-version-0");
+ Vertex instancegroup =
+ graph.addVertex(T.label, "instance-group", T.id, "2", "aai-node-type", "instance-group",
+ "id", "id-0", "instance-group-type", "instance-group-type-0", "instance-group-role",
+ "instance-group-role-0", "instance-group-function", "instance-group-function-0",
+ "instance-group-description", "instance-group-description-0");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, cloudregion, instancegroup);
-
- rules.addEdge(g, cloudregion1, instancegroup1); //false
-
- expectedResult.add(instancegroup);
- }
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner",
+ "cloud-owner-name-1", "cloud-region-version", "cloud-region-version-1");
+ Vertex instancegroup1 =
+ graph.addVertex(T.label, "instance-group", T.id, "4", "aai-node-type", "instance-group",
+ "id", "id-1", "instance-group-type", "instance-group-type-1", "instance-group-role",
+ "instance-group-role-1", "instance-group-function", "instance-group-function-1",
+ "instance-group-description", "instance-group-description-1");
- @Override
- protected String getQueryName() {
- return "instance-groups-byCloudRegion";
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, cloudregion, instancegroup);
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "cloud-region").has("cloud-region-owner", "cloud-owner-name-0").has("cloud-region-id", "cloud-region-id-0");
- }
+ rules.addEdge(g, cloudregion1, instancegroup1); // false
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("role", "instance-group-role-0");
- params.put("type", "instance-group-type-0");
- params.put("function", "instance-group-function-0");
- }
+ expectedResult.add(instancegroup);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "instance-groups-byCloudRegion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region").has("cloud-region-owner", "cloud-owner-name-0")
+ .has("cloud-region-id", "cloud-region-id-0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("role", "instance-group-role-0");
+ params.put("type", "instance-group-type-0");
+ params.put("function", "instance-group-function-0");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java
index 0d26300..c9c76e6 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -25,177 +25,223 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.Test;
import org.junit.Ignore;
+import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class IpsNetworksFromVnfTest extends QueryTest {
- public IpsNetworksFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Ignore
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex genericVnf = graph.addVertex(T.label, "generic-vnf",T.id, "0", "aai-node-type", "generic-vnf", "generic-vnf-id", "serviceinstanceid0");
- Vertex vnfc = graph.addVertex(T.label, "vnfc",T.id, "1", "aai-node-type", "vnfc","vnfc-id", "vnfcId1");
- Vertex cp = graph.addVertex(T.label, "cp",T.id, "30", "aai-node-type", "cp","cp-id", "cpId1");
- Vertex vipIpv4AddressList = graph.addVertex(T.label, "vip-ipv4-address-list",T.id, "2", "aai-node-type", "vip-ipv4-address-list","vip-ipv4-address-list-id", "vip-ipv4-address-listId2");
- Vertex vipIpv6AddressList = graph.addVertex(T.label, "vip-ipv6-address-list",T.id, "3", "aai-node-type", "vip-ipv6-address-list","vip-ipv6-address-list-id", "vip-ipv6-address-listId3");
-
-
- Vertex subnetIpv4 = graph.addVertex(T.label, "subnet",T.id, "7", "aai-node-type", "subnet","subnet-id", "subnetId7");
- Vertex l3Network1Ipv4 = graph.addVertex(T.label, "l3-network",T.id, "8", "aai-node-type", "l3-network","l3-network-id", "l3-networkId8");
-
- Vertex subnetIpv6 = graph.addVertex(T.label, "subnet",T.id, "10", "aai-node-type", "subnet","subnet-id", "subnetId10");
- Vertex l3Network1Ipv6 = graph.addVertex(T.label, "l3-network",T.id, "11", "aai-node-type", "l3-network","l3-network-id", "l3-networkId11");
-
- Vertex vserver = graph.addVertex(T.label, "vserver",T.id, "18", "aai-node-type", "vserver","vserver-id", "vserverId18");
- Vertex linterface = graph.addVertex(T.label, "l-interface",T.id, "19", "aai-node-type", "l-interface","l-interface-id", "l-interfaceId19");
- Vertex pserver = graph.addVertex(T.label, "pserver",T.id, "20", "aai-node-type", "pserver","pserver-id", "pserverId20");
-
-
- Vertex l3NetworklintIpv4 = graph.addVertex(T.label, "l3-network",T.id, "21", "aai-node-type", "l3-network","l3-network-id", "l3-networkId21");
- Vertex subnetlintIpv4 = graph.addVertex(T.label, "subnet",T.id, "22", "aai-node-type", "subnet","subnet-id", "subnetId22");
- Vertex l3Network1lintIpv4 = graph.addVertex(T.label, "l3-network",T.id, "23", "aai-node-type", "l3-network","l3-network-id", "l3-networkId23");
-
- Vertex l3NetworklintIpv6 = graph.addVertex(T.label, "l3-network",T.id, "24", "aai-node-type", "l3-network","l3-network-id", "l3-networkId24");
- Vertex subnetlintIpv6 = graph.addVertex(T.label, "subnet",T.id, "25", "aai-node-type", "subnet","subnet-id", "subnetId25");
- Vertex l3Network1lintIpv6 = graph.addVertex(T.label, "l3-network",T.id, "26", "aai-node-type", "l3-network","l3-network-id", "l3-networkId26");
-
-
- Vertex l3InterfaceIpv4AddressListLint = graph.addVertex(T.label, "l3-interface-ipv4-address-list",T.id, "27", "aai-node-type", "l3-interface-ipv4-address-list","l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-listId27");
- Vertex l3InterfaceIpv6AddressListlInt = graph.addVertex(T.label, "l3-interface-ipv6-address-list",T.id, "28", "aai-node-type", "l3-interface-ipv6-address-list","l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-listId28");
-
-
- Vertex complex = graph.addVertex(T.label, "complex",T.id, "29", "aai-node-type", "complex","complex-id", "complexId29");
-
-
-
- Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf",T.id, "31", "aai-node-type", "generic-vnf", "generic-vnf-id", "serviceinstanceid1");
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc",T.id, "32", "aai-node-type", "vnfc","vnfc-id", "vnfcId2");
- Vertex cp1 = graph.addVertex(T.label, "cp",T.id, "33", "aai-node-type", "cp","cp-id", "cpId3");
- Vertex vipIpv4AddressList1 = graph.addVertex(T.label, "vip-ipv4-address-list",T.id, "34", "aai-node-type", "vip-ipv4-address-list","vip-ipv4-address-list-id", "vip-ipv4-address-listId4");
- Vertex vipIpv6AddressList1 = graph.addVertex(T.label, "vip-ipv6-address-list",T.id, "35", "aai-node-type", "vip-ipv6-address-list","vip-ipv6-address-list-id", "vip-ipv6-address-listId5");
- Vertex subnetIpv41 = graph.addVertex(T.label, "subnet",T.id, "36", "aai-node-type", "subnet","subnet-id", "subnetId6");
- Vertex l3Network1Ipv41 = graph.addVertex(T.label, "l3-network",T.id, "37", "aai-node-type", "l3-network","l3-network-id", "l3-networkId7");
- Vertex subnetIpv61 = graph.addVertex(T.label, "subnet",T.id, "38", "aai-node-type", "subnet","subnet-id", "subnetId8");
- Vertex l3Network1Ipv61 = graph.addVertex(T.label, "l3-network",T.id, "39", "aai-node-type", "l3-network","l3-network-id", "l3-networkId9");
- Vertex vserver1 = graph.addVertex(T.label, "vserver",T.id, "40", "aai-node-type", "vserver","vserver-id", "vserverId10");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface",T.id, "41", "aai-node-type", "l-interface","l-interface-id", "l-interfaceId11");
- Vertex pserver1 = graph.addVertex(T.label, "pserver",T.id, "42", "aai-node-type", "pserver","pserver-id", "pserverId12");
- Vertex l3NetworklintIpv41 = graph.addVertex(T.label, "l3-network",T.id, "43", "aai-node-type", "l3-network","l3-network-id", "l3-networkId13");
- Vertex subnetlintIpv41 = graph.addVertex(T.label, "subnet",T.id, "44", "aai-node-type", "subnet","subnet-id", "subnetId14");
- Vertex l3Network1lintIpv41 = graph.addVertex(T.label, "l3-network",T.id, "45", "aai-node-type", "l3-network","l3-network-id", "l3-networkId15");
- Vertex l3NetworklintIpv61 = graph.addVertex(T.label, "l3-network",T.id, "46", "aai-node-type", "l3-network","l3-network-id", "l3-networkId16");
- Vertex subnetlintIpv61 = graph.addVertex(T.label, "subnet",T.id, "47", "aai-node-type", "subnet","subnet-id", "subnetId17");
- Vertex l3Network1lintIpv61 = graph.addVertex(T.label, "l3-network",T.id, "48", "aai-node-type", "l3-network","l3-network-id", "l3-networkId18");
- Vertex l3InterfaceIpv4AddressListLint1 = graph.addVertex(T.label, "l3-interface-ipv4-address-list",T.id, "49", "aai-node-type", "l3-interface-ipv4-address-list","l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-listId19");
- Vertex l3InterfaceIpv6AddressListlInt1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",T.id, "50", "aai-node-type", "l3-interface-ipv6-address-list","l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-listId20");
- Vertex complex1 = graph.addVertex(T.label, "complex",T.id, "51", "aai-node-type", "complex","complex-id", "complexId21");
-
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, genericVnf,vnfc);
- rules.addTreeEdge(g, vnfc,cp);
- rules.addEdge(g, cp,vipIpv4AddressList);
- rules.addEdge(g, cp,vipIpv6AddressList);
-
- rules.addEdge(g, vipIpv4AddressList,subnetIpv4);
- rules.addTreeEdge(g, subnetIpv4,l3Network1Ipv4);
-
- rules.addEdge(g, vipIpv6AddressList,subnetIpv6);
- rules.addTreeEdge(g, subnetIpv6,l3Network1Ipv6);
-
- rules.addEdge(g, genericVnf,vserver);
- rules.addEdge(g, vserver,pserver);
-
- rules.addTreeEdge(g, cp,l3InterfaceIpv4AddressListLint);
- rules.addTreeEdge(g, cp,l3InterfaceIpv6AddressListlInt);
-
- rules.addEdge(g, l3InterfaceIpv4AddressListLint,l3NetworklintIpv4);
- rules.addEdge(g, l3InterfaceIpv4AddressListLint,subnetlintIpv4);
- rules.addTreeEdge(g, subnetlintIpv4,l3Network1lintIpv4);
-
- rules.addEdge(g, l3InterfaceIpv6AddressListlInt,l3NetworklintIpv6);
- rules.addEdge(g, l3InterfaceIpv6AddressListlInt,subnetlintIpv6);
- rules.addTreeEdge(g, subnetlintIpv6,l3Network1lintIpv6);
-
- rules.addEdge(g, pserver,complex);
-
- //false
- rules.addEdge(g, genericVnf1,vnfc1);
- rules.addTreeEdge(g, vnfc1,cp1);
- rules.addEdge(g, cp1,vipIpv4AddressList1);
- rules.addEdge(g, cp1,vipIpv6AddressList1);
- rules.addEdge(g, vipIpv4AddressList1,subnetIpv41);
- rules.addTreeEdge(g, subnetIpv41,l3Network1Ipv41);
- rules.addEdge(g, vipIpv6AddressList1,subnetIpv61);
- rules.addTreeEdge(g, subnetIpv61,l3Network1Ipv61);
- rules.addEdge(g, genericVnf1,vserver1);
- rules.addEdge(g, vserver1,pserver1);
- rules.addTreeEdge(g, cp1,l3InterfaceIpv4AddressListLint1);
- rules.addTreeEdge(g, cp1,l3InterfaceIpv6AddressListlInt1);
- rules.addEdge(g, l3InterfaceIpv4AddressListLint1,l3NetworklintIpv41);
- rules.addEdge(g, l3InterfaceIpv4AddressListLint1,subnetlintIpv41);
- rules.addTreeEdge(g, subnetlintIpv41,l3Network1lintIpv41);
- rules.addEdge(g, l3InterfaceIpv6AddressListlInt1,l3NetworklintIpv61);
- rules.addEdge(g, l3InterfaceIpv6AddressListlInt1,subnetlintIpv61);
- rules.addTreeEdge(g, subnetlintIpv61,l3Network1lintIpv61);
- rules.addEdge(g, pserver1,complex1);
- //false
-
- expectedResult.add(genericVnf);
- expectedResult.add(vnfc);
- expectedResult.add(cp);
- expectedResult.add(vipIpv4AddressList);
- expectedResult.add(vipIpv6AddressList);
-
- expectedResult.add(subnetIpv4);
- expectedResult.add(l3Network1Ipv4);
-
- expectedResult.add(subnetIpv6);
- expectedResult.add(l3Network1Ipv6);
-
- expectedResult.add(l3InterfaceIpv4AddressListLint);
- expectedResult.add(l3InterfaceIpv6AddressListlInt);
-
- expectedResult.add(l3NetworklintIpv4);
- expectedResult.add(subnetlintIpv4);
- expectedResult.add(l3Network1lintIpv4);
-
- expectedResult.add(l3NetworklintIpv6);
- expectedResult.add(subnetlintIpv6);
- expectedResult.add(l3Network1lintIpv6);
-
- expectedResult.add(vserver);
- expectedResult.add(pserver);
- expectedResult.add(complex);
-
- }
-
- @Override
- protected String getQueryName() {
- return "ips-networks-fromVnf";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("generic-vnf-id", "serviceinstanceid0");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-
-
+ public IpsNetworksFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Ignore
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex genericVnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "generic-vnf-id", "serviceinstanceid0");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "1", "aai-node-type", "vnfc",
+ "vnfc-id", "vnfcId1");
+ Vertex cp =
+ graph.addVertex(T.label, "cp", T.id, "30", "aai-node-type", "cp", "cp-id", "cpId1");
+ Vertex vipIpv4AddressList =
+ graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "2", "aai-node-type",
+ "vip-ipv4-address-list", "vip-ipv4-address-list-id", "vip-ipv4-address-listId2");
+ Vertex vipIpv6AddressList =
+ graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "3", "aai-node-type",
+ "vip-ipv6-address-list", "vip-ipv6-address-list-id", "vip-ipv6-address-listId3");
+
+ Vertex subnetIpv4 = graph.addVertex(T.label, "subnet", T.id, "7", "aai-node-type", "subnet",
+ "subnet-id", "subnetId7");
+ Vertex l3Network1Ipv4 = graph.addVertex(T.label, "l3-network", T.id, "8", "aai-node-type",
+ "l3-network", "l3-network-id", "l3-networkId8");
+
+ Vertex subnetIpv6 = graph.addVertex(T.label, "subnet", T.id, "10", "aai-node-type",
+ "subnet", "subnet-id", "subnetId10");
+ Vertex l3Network1Ipv6 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type",
+ "l3-network", "l3-network-id", "l3-networkId11");
+
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "18", "aai-node-type", "vserver",
+ "vserver-id", "vserverId18");
+ Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "19", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interfaceId19");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "20", "aai-node-type", "pserver",
+ "pserver-id", "pserverId20");
+
+ Vertex l3NetworklintIpv4 = graph.addVertex(T.label, "l3-network", T.id, "21",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId21");
+ Vertex subnetlintIpv4 = graph.addVertex(T.label, "subnet", T.id, "22", "aai-node-type",
+ "subnet", "subnet-id", "subnetId22");
+ Vertex l3Network1lintIpv4 = graph.addVertex(T.label, "l3-network", T.id, "23",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId23");
+
+ Vertex l3NetworklintIpv6 = graph.addVertex(T.label, "l3-network", T.id, "24",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId24");
+ Vertex subnetlintIpv6 = graph.addVertex(T.label, "subnet", T.id, "25", "aai-node-type",
+ "subnet", "subnet-id", "subnetId25");
+ Vertex l3Network1lintIpv6 = graph.addVertex(T.label, "l3-network", T.id, "26",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId26");
+
+ Vertex l3InterfaceIpv4AddressListLint =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "27", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list-id",
+ "l3-interface-ipv4-address-listId27");
+ Vertex l3InterfaceIpv6AddressListlInt =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "28", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id",
+ "l3-interface-ipv6-address-listId28");
+
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "29", "aai-node-type", "complex",
+ "complex-id", "complexId29");
+
+ Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "31", "aai-node-type",
+ "generic-vnf", "generic-vnf-id", "serviceinstanceid1");
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "32", "aai-node-type", "vnfc",
+ "vnfc-id", "vnfcId2");
+ Vertex cp1 =
+ graph.addVertex(T.label, "cp", T.id, "33", "aai-node-type", "cp", "cp-id", "cpId3");
+ Vertex vipIpv4AddressList1 =
+ graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "34", "aai-node-type",
+ "vip-ipv4-address-list", "vip-ipv4-address-list-id", "vip-ipv4-address-listId4");
+ Vertex vipIpv6AddressList1 =
+ graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "35", "aai-node-type",
+ "vip-ipv6-address-list", "vip-ipv6-address-list-id", "vip-ipv6-address-listId5");
+ Vertex subnetIpv41 = graph.addVertex(T.label, "subnet", T.id, "36", "aai-node-type",
+ "subnet", "subnet-id", "subnetId6");
+ Vertex l3Network1Ipv41 = graph.addVertex(T.label, "l3-network", T.id, "37", "aai-node-type",
+ "l3-network", "l3-network-id", "l3-networkId7");
+ Vertex subnetIpv61 = graph.addVertex(T.label, "subnet", T.id, "38", "aai-node-type",
+ "subnet", "subnet-id", "subnetId8");
+ Vertex l3Network1Ipv61 = graph.addVertex(T.label, "l3-network", T.id, "39", "aai-node-type",
+ "l3-network", "l3-network-id", "l3-networkId9");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "40", "aai-node-type",
+ "vserver", "vserver-id", "vserverId10");
+ Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "41", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interfaceId11");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "42", "aai-node-type",
+ "pserver", "pserver-id", "pserverId12");
+ Vertex l3NetworklintIpv41 = graph.addVertex(T.label, "l3-network", T.id, "43",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId13");
+ Vertex subnetlintIpv41 = graph.addVertex(T.label, "subnet", T.id, "44", "aai-node-type",
+ "subnet", "subnet-id", "subnetId14");
+ Vertex l3Network1lintIpv41 = graph.addVertex(T.label, "l3-network", T.id, "45",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId15");
+ Vertex l3NetworklintIpv61 = graph.addVertex(T.label, "l3-network", T.id, "46",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId16");
+ Vertex subnetlintIpv61 = graph.addVertex(T.label, "subnet", T.id, "47", "aai-node-type",
+ "subnet", "subnet-id", "subnetId17");
+ Vertex l3Network1lintIpv61 = graph.addVertex(T.label, "l3-network", T.id, "48",
+ "aai-node-type", "l3-network", "l3-network-id", "l3-networkId18");
+ Vertex l3InterfaceIpv4AddressListLint1 =
+ graph.addVertex(T.label, "l3-interface-ipv4-address-list", T.id, "49", "aai-node-type",
+ "l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list-id",
+ "l3-interface-ipv4-address-listId19");
+ Vertex l3InterfaceIpv6AddressListlInt1 =
+ graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "50", "aai-node-type",
+ "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id",
+ "l3-interface-ipv6-address-listId20");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "51", "aai-node-type",
+ "complex", "complex-id", "complexId21");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, genericVnf, vnfc);
+ rules.addTreeEdge(g, vnfc, cp);
+ rules.addEdge(g, cp, vipIpv4AddressList);
+ rules.addEdge(g, cp, vipIpv6AddressList);
+
+ rules.addEdge(g, vipIpv4AddressList, subnetIpv4);
+ rules.addTreeEdge(g, subnetIpv4, l3Network1Ipv4);
+
+ rules.addEdge(g, vipIpv6AddressList, subnetIpv6);
+ rules.addTreeEdge(g, subnetIpv6, l3Network1Ipv6);
+
+ rules.addEdge(g, genericVnf, vserver);
+ rules.addEdge(g, vserver, pserver);
+
+ rules.addTreeEdge(g, cp, l3InterfaceIpv4AddressListLint);
+ rules.addTreeEdge(g, cp, l3InterfaceIpv6AddressListlInt);
+
+ rules.addEdge(g, l3InterfaceIpv4AddressListLint, l3NetworklintIpv4);
+ rules.addEdge(g, l3InterfaceIpv4AddressListLint, subnetlintIpv4);
+ rules.addTreeEdge(g, subnetlintIpv4, l3Network1lintIpv4);
+
+ rules.addEdge(g, l3InterfaceIpv6AddressListlInt, l3NetworklintIpv6);
+ rules.addEdge(g, l3InterfaceIpv6AddressListlInt, subnetlintIpv6);
+ rules.addTreeEdge(g, subnetlintIpv6, l3Network1lintIpv6);
+
+ rules.addEdge(g, pserver, complex);
+
+ // false
+ rules.addEdge(g, genericVnf1, vnfc1);
+ rules.addTreeEdge(g, vnfc1, cp1);
+ rules.addEdge(g, cp1, vipIpv4AddressList1);
+ rules.addEdge(g, cp1, vipIpv6AddressList1);
+ rules.addEdge(g, vipIpv4AddressList1, subnetIpv41);
+ rules.addTreeEdge(g, subnetIpv41, l3Network1Ipv41);
+ rules.addEdge(g, vipIpv6AddressList1, subnetIpv61);
+ rules.addTreeEdge(g, subnetIpv61, l3Network1Ipv61);
+ rules.addEdge(g, genericVnf1, vserver1);
+ rules.addEdge(g, vserver1, pserver1);
+ rules.addTreeEdge(g, cp1, l3InterfaceIpv4AddressListLint1);
+ rules.addTreeEdge(g, cp1, l3InterfaceIpv6AddressListlInt1);
+ rules.addEdge(g, l3InterfaceIpv4AddressListLint1, l3NetworklintIpv41);
+ rules.addEdge(g, l3InterfaceIpv4AddressListLint1, subnetlintIpv41);
+ rules.addTreeEdge(g, subnetlintIpv41, l3Network1lintIpv41);
+ rules.addEdge(g, l3InterfaceIpv6AddressListlInt1, l3NetworklintIpv61);
+ rules.addEdge(g, l3InterfaceIpv6AddressListlInt1, subnetlintIpv61);
+ rules.addTreeEdge(g, subnetlintIpv61, l3Network1lintIpv61);
+ rules.addEdge(g, pserver1, complex1);
+ // false
+
+ expectedResult.add(genericVnf);
+ expectedResult.add(vnfc);
+ expectedResult.add(cp);
+ expectedResult.add(vipIpv4AddressList);
+ expectedResult.add(vipIpv6AddressList);
+
+ expectedResult.add(subnetIpv4);
+ expectedResult.add(l3Network1Ipv4);
+
+ expectedResult.add(subnetIpv6);
+ expectedResult.add(l3Network1Ipv6);
+
+ expectedResult.add(l3InterfaceIpv4AddressListLint);
+ expectedResult.add(l3InterfaceIpv6AddressListlInt);
+
+ expectedResult.add(l3NetworklintIpv4);
+ expectedResult.add(subnetlintIpv4);
+ expectedResult.add(l3Network1lintIpv4);
+
+ expectedResult.add(l3NetworklintIpv6);
+ expectedResult.add(subnetlintIpv6);
+ expectedResult.add(l3Network1lintIpv6);
+
+ expectedResult.add(vserver);
+ expectedResult.add(pserver);
+ expectedResult.add(complex);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "ips-networks-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("generic-vnf-id", "serviceinstanceid0");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_ComplicatedGVtoGV.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_ComplicatedGVtoGV.java
index 42cf635..026c722 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_ComplicatedGVtoGV.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_ComplicatedGVtoGV.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,67 +31,71 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class LinkedDevices_ComplicatedGVtoGV extends QueryTest {
- public LinkedDevices_ComplicatedGVtoGV() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "00", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
-
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface",
- "interface-name", "lint1", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type", "logical-link",
- "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
-
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
- "interface-name", "lint2", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "30", "aai-node-type", "vlan",
- "vlan-interface", "vlan1");
-
- Vertex loglink2 = graph.addVertex(T.label, "logical-link", T.id, "21", "aai-node-type", "logical-link",
- "link-name", "loglink2", "in-maint", "false", "link-type", "sausage");
-
- Vertex lagint = graph.addVertex(T.label, "lag-interface", T.id, "40", "aai-node-type", "lag-interface",
- "interface-name", "lagint1");
-
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "01", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, gvnf1, lint1);
- rules.addEdge(g, lint1, loglink1);
- rules.addEdge(g, lint2, loglink1);
- rules.addTreeEdge(g, lint2, vlan);
- rules.addEdge(g, vlan, loglink2);
- rules.addEdge(g, loglink2, lagint);
- rules.addTreeEdge(g, gvnf2, lagint);
-
- expectedResult.add(gvnf1);
- expectedResult.add(gvnf2);
- }
-
- @Override
- protected String getQueryName() {
- return "linked-devices";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvnf1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- // n/a for this query
- }
+ public LinkedDevices_ComplicatedGVtoGV() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex gvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "00", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type",
+ "logical-link", "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
+
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "interface-name", "lint2", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "30", "aai-node-type", "vlan",
+ "vlan-interface", "vlan1");
+
+ Vertex loglink2 = graph.addVertex(T.label, "logical-link", T.id, "21", "aai-node-type",
+ "logical-link", "link-name", "loglink2", "in-maint", "false", "link-type", "sausage");
+
+ Vertex lagint = graph.addVertex(T.label, "lag-interface", T.id, "40", "aai-node-type",
+ "lag-interface", "interface-name", "lagint1");
+
+ Vertex gvnf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "01", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, gvnf1, lint1);
+ rules.addEdge(g, lint1, loglink1);
+ rules.addEdge(g, lint2, loglink1);
+ rules.addTreeEdge(g, lint2, vlan);
+ rules.addEdge(g, vlan, loglink2);
+ rules.addEdge(g, loglink2, lagint);
+ rules.addTreeEdge(g, gvnf2, lagint);
+
+ expectedResult.add(gvnf1);
+ expectedResult.add(gvnf2);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "linked-devices";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvnf1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ // n/a for this query
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_NewvceVserverTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_NewvceVserverTest.java
index c828c67..7866237 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_NewvceVserverTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_NewvceVserverTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -22,8 +22,8 @@ package org.onap.aai.rest.search;
import static org.junit.Assert.*;
import java.util.ArrayList;
-import java.util.Map;
import java.util.List;
+import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
@@ -35,76 +35,80 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class LinkedDevices_NewvceVserverTest extends QueryTest {
- public LinkedDevices_NewvceVserverTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Note: I don't know if this topology is realistic, but it doesn't really matter bc we're just testing functionality
- Vertex newvce1 = graph.addVertex(T.label, "newvce", T.id, "00", "aai-node-type", "newvce",
- "vnf-id2", "newvce1", "vnf-name", "bob", "vnf-type", "new");
-
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface",
- "interface-name", "lint1", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
- Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type", "logical-link",
- "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
- "interface-name", "lint2", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
- Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "40", "aai-node-type", "vlan",
- "vlan-interface", "vlan1");
-
- Vertex newvce2 = graph.addVertex(T.label, "newvce", T.id, "01", "aai-node-type", "newvce",
- "vnf-id2", "newvce2", "vnf-name", "bob", "vnf-type", "new");
-
- Vertex loglink2 = graph.addVertex(T.label, "logical-link", T.id, "21", "aai-node-type", "logical-link",
- "link-name", "loglink2", "in-maint", "false", "link-type", "sausage");
- Vertex lint3 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface",
- "interface-name", "lint3", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "50", "aai-node-type", "cloud-region",
- "cloud-owner", "att", "cloud-region-id", "crId");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "60", "aai-node-type", "tenant",
- "tenant-id", "tenId", "tenant-name", "verity");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "30", "aai-node-type", "vserver",
- "vserver-id", "vserv1", "vserver-name", "frank");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, newvce1, lint1);
- rules.addTreeEdge(g, lint1, vlan);
- rules.addEdge(g, lint1, loglink1);
- rules.addEdge(g, lint2, loglink1);
-
- rules.addTreeEdge(g, cloudregion, tenant);
- rules.addTreeEdge(g, tenant, vserver);
- rules.addTreeEdge(g, vserver, lint2);
-
- rules.addEdge(g, vlan, loglink2);
- rules.addTreeEdge(g, newvce2, lint3);
- rules.addEdge(g, loglink2, lint3);
-
- expectedResult.add(newvce1);
- expectedResult.add(newvce2);
- expectedResult.add(vserver);
- }
-
- @Override
- protected String getQueryName() {
- return "linked-devices";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "newvce").has("vnf-id2", "newvce1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- // n/a for this query
- }
+ public LinkedDevices_NewvceVserverTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Note: I don't know if this topology is realistic, but it doesn't really matter bc we're
+ // just testing functionality
+ Vertex newvce1 = graph.addVertex(T.label, "newvce", T.id, "00", "aai-node-type", "newvce",
+ "vnf-id2", "newvce1", "vnf-name", "bob", "vnf-type", "new");
+
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+ Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type",
+ "logical-link", "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "interface-name", "lint2", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+ Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "40", "aai-node-type", "vlan",
+ "vlan-interface", "vlan1");
+
+ Vertex newvce2 = graph.addVertex(T.label, "newvce", T.id, "01", "aai-node-type", "newvce",
+ "vnf-id2", "newvce2", "vnf-name", "bob", "vnf-type", "new");
+
+ Vertex loglink2 = graph.addVertex(T.label, "logical-link", T.id, "21", "aai-node-type",
+ "logical-link", "link-name", "loglink2", "in-maint", "false", "link-type", "sausage");
+ Vertex lint3 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type",
+ "l-interface", "interface-name", "lint3", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "50", "aai-node-type",
+ "cloud-region", "cloud-owner", "att", "cloud-region-id", "crId");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "60", "aai-node-type", "tenant",
+ "tenant-id", "tenId", "tenant-name", "verity");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "30", "aai-node-type", "vserver",
+ "vserver-id", "vserv1", "vserver-name", "frank");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, newvce1, lint1);
+ rules.addTreeEdge(g, lint1, vlan);
+ rules.addEdge(g, lint1, loglink1);
+ rules.addEdge(g, lint2, loglink1);
+
+ rules.addTreeEdge(g, cloudregion, tenant);
+ rules.addTreeEdge(g, tenant, vserver);
+ rules.addTreeEdge(g, vserver, lint2);
+
+ rules.addEdge(g, vlan, loglink2);
+ rules.addTreeEdge(g, newvce2, lint3);
+ rules.addEdge(g, loglink2, lint3);
+
+ expectedResult.add(newvce1);
+ expectedResult.add(newvce2);
+ expectedResult.add(vserver);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "linked-devices";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "newvce").has("vnf-id2", "newvce1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ // n/a for this query
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_SimpleGVtoGVQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_SimpleGVtoGVQueryTest.java
index 57967a6..6c4409e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_SimpleGVtoGVQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedDevices_SimpleGVtoGVQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,55 +31,59 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class LinkedDevices_SimpleGVtoGVQueryTest extends QueryTest {
- public LinkedDevices_SimpleGVtoGVQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "00", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
-
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface",
- "interface-name", "lint1", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex loglink = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type", "logical-link",
- "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
-
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
- "interface-name", "lint2", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "01", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, gvnf1, lint1);
- rules.addTreeEdge(g, gvnf2, lint2);
- rules.addEdge(g, lint1, loglink);
- rules.addEdge(g, lint2, loglink);
-
- expectedResult.add(gvnf1);
- expectedResult.add(gvnf2);
- }
-
- @Override
- protected String getQueryName() {
- return "linked-devices";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","generic-vnf").has("vnf-id","gvnf1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- // n/a for this test
- }
+ public LinkedDevices_SimpleGVtoGVQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex gvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "00", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex loglink = graph.addVertex(T.label, "logical-link", T.id, "20", "aai-node-type",
+ "logical-link", "link-name", "loglink1", "in-maint", "false", "link-type", "sausage");
+
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "interface-name", "lint2", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex gvnf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "01", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, gvnf1, lint1);
+ rules.addTreeEdge(g, gvnf2, lint2);
+ rules.addEdge(g, lint1, loglink);
+ rules.addEdge(g, lint2, loglink);
+
+ expectedResult.add(gvnf1);
+ expectedResult.add(gvnf2);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "linked-devices";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvnf1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ // n/a for this test
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedHashMapQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedHashMapQueryTest.java
index 6488cae..b549183 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedHashMapQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinkedHashMapQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,21 +19,21 @@
*/
package org.onap.aai.rest.search;
-import org.onap.aai.exceptions.AAIException;
-
import java.util.LinkedHashMap;
import java.util.List;
+import org.onap.aai.exceptions.AAIException;
+
public abstract class LinkedHashMapQueryTest extends QueryTest {
- protected List<LinkedHashMap> hashMapList;
+ protected List<LinkedHashMap> hashMapList;
- public LinkedHashMapQueryTest() throws AAIException {
- super();
- }
+ public LinkedHashMapQueryTest() throws AAIException {
+ super();
+ }
- @Override
- public void run() {
- hashMapList = (List<LinkedHashMap>) shell.executeTraversal(query, params).toList();
- }
+ @Override
+ public void run() {
+ hashMapList = (List<LinkedHashMap>) shell.executeTraversal(query, params).toList();
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinterfacesCPFromVnfcTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinterfacesCPFromVnfcTest.java
index e911634..6821f78 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LinterfacesCPFromVnfcTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LinterfacesCPFromVnfcTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,71 +31,85 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class LinterfacesCPFromVnfcTest extends QueryTest {
- public LinterfacesCPFromVnfcTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public LinterfacesCPFromVnfcTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex vnfc = graph.addVertex(T.label, "vnfc",T.id, "0", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function","model-invariant-id","modelinvariantid","model-customization-id","modelcustomizationid");
- Vertex cp = graph.addVertex(T.label, "cp",T.id, "1", "aai-node-type", "cp","cp-id", "cpId");
- Vertex vlanTag = graph.addVertex(T.label, "vlan-tag",T.id, "2", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
- Vertex l3Network = graph.addVertex(T.label, "l3-network",T.id, "3", "aai-node-type", "l3-network","network-id", "networkId","is-provider-network",true);
- Vertex vserv = graph.addVertex(T.label, "vserver",T.id, "4", "aai-node-type", "vserver",
- "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0","network-name","networkName0");
-
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc",T.id, "6", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function","model-invariant-id","modelinvariantid1","model-customization-id","modelcustomizationid1");
- Vertex cp1 = graph.addVertex(T.label, "cp",T.id, "7", "aai-node-type", "cp","cp-id", "cpId");
- Vertex vlanTag1 = graph.addVertex(T.label, "vlan-tag",T.id, "8", "aai-node-type", "vlan-tag","vlan-tag-id", "vlanTagId");
- Vertex l3Network1 = graph.addVertex(T.label, "l3-network",T.id, "9", "aai-node-type", "l3-network","network-id", "networkId","is-provider-network",false);
- Vertex vserv1 = graph.addVertex(T.label, "vserver",T.id, "10", "aai-node-type", "vserver",
- "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0","network-name","networkName0");
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "0", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function",
+ "model-invariant-id", "modelinvariantid", "model-customization-id",
+ "modelcustomizationid");
+ Vertex cp =
+ graph.addVertex(T.label, "cp", T.id, "1", "aai-node-type", "cp", "cp-id", "cpId");
+ Vertex vlanTag = graph.addVertex(T.label, "vlan-tag", T.id, "2", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+ Vertex l3Network = graph.addVertex(T.label, "l3-network", T.id, "3", "aai-node-type",
+ "l3-network", "network-id", "networkId", "is-provider-network", true);
+ Vertex vserv = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver",
+ "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
+ Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name",
+ "l-interface-name0", "network-name", "networkName0");
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, vnfc,cp);
- rules.addEdge(g, cp,vlanTag);
- rules.addEdge(g, cp,l3Network);
- rules.addEdge(g, vnfc,vserv);
- rules.addTreeEdge(g, vserv, linterface);
-
- rules.addTreeEdge(g, vnfc1,cp1);
- rules.addEdge(g, cp1,vlanTag1);
- rules.addEdge(g, cp1,l3Network1);
- rules.addEdge(g, vnfc1,vserv1);
- rules.addTreeEdge(g, vserv1, linterface1);
-
- expectedResult.add(vlanTag);
- expectedResult.add(l3Network);
- expectedResult.add(linterface);
- //expectedResult.add(vlanTag1);//false
- //expectedResult.add(l3Network1);//false
- //expectedResult.add(linterface1);//false
- }
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "6", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function",
+ "model-invariant-id", "modelinvariantid1", "model-customization-id",
+ "modelcustomizationid1");
+ Vertex cp1 =
+ graph.addVertex(T.label, "cp", T.id, "7", "aai-node-type", "cp", "cp-id", "cpId");
+ Vertex vlanTag1 = graph.addVertex(T.label, "vlan-tag", T.id, "8", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlanTagId");
+ Vertex l3Network1 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type",
+ "l3-network", "network-id", "networkId", "is-provider-network", false);
+ Vertex vserv1 = graph.addVertex(T.label, "vserver", T.id, "10", "aai-node-type", "vserver",
+ "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
+ Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name",
+ "l-interface-name0", "network-name", "networkName0");
- @Override
- protected String getQueryName() {
- return "l-interface-to-CP";
- }
+ GraphTraversalSource g = graph.traversal();
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vnfc").has("model-invariant-id", "modelinvariantid").has("model-customization-id", "modelcustomizationid");
- }
+ rules.addTreeEdge(g, vnfc, cp);
+ rules.addEdge(g, cp, vlanTag);
+ rules.addEdge(g, cp, l3Network);
+ rules.addEdge(g, vnfc, vserv);
+ rules.addTreeEdge(g, vserv, linterface);
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("isProviderNetwork", true);
- }
+ rules.addTreeEdge(g, vnfc1, cp1);
+ rules.addEdge(g, cp1, vlanTag1);
+ rules.addEdge(g, cp1, l3Network1);
+ rules.addEdge(g, vnfc1, vserv1);
+ rules.addTreeEdge(g, vserv1, linterface1);
+
+ expectedResult.add(vlanTag);
+ expectedResult.add(l3Network);
+ expectedResult.add(linterface);
+ // expectedResult.add(vlanTag1);//false
+ // expectedResult.add(l3Network1);//false
+ // expectedResult.add(linterface1);//false
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "l-interface-to-CP";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vnfc").has("model-invariant-id", "modelinvariantid")
+ .has("model-customization-id", "modelcustomizationid");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("isProviderNetwork", true);
+ }
-
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LocationNetTypeNetRolefromCloudRegionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LocationNetTypeNetRolefromCloudRegionQueryTest.java
index c73a4c6..56dbf79 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LocationNetTypeNetRolefromCloudRegionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LocationNetTypeNetRolefromCloudRegionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,56 +26,65 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class LocationNetTypeNetRolefromCloudRegionQueryTest extends QueryTest {
- public LocationNetTypeNetRolefromCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public LocationNetTypeNetRolefromCloudRegionQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1");
+ Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "2", "aai-node-type",
+ "l3-network", "network-id", "network-id-1");
+
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "4", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2");
+ Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "5", "aai-node-type",
+ "l3-network", "network-id", "network-id-2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, cloudregion, complex);
+ rules.addEdge(g, complex, l3network);
+
+ rules.addEdge(g, cloudregion1, complex1);
+ rules.addEdge(g, complex1, l3network1);
+
+ expectedResult.add(cloudregion);
+ expectedResult.add(complex);
+ expectedResult.add(l3network);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "locationNetTypeNetRole-fromCloudRegion";
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("cloud-region-id", "cloud-region-id-1");
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1");
- Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "2", "aai-node-type", "l3-network", "network-id", "network-id-1");
-
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "4", "aai-node-type", "complex", "physical-location-id", "physical-location-id-2");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "5", "aai-node-type", "l3-network", "network-id", "network-id-2");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, cloudregion,complex);
- rules.addEdge(g, complex,l3network);
-
- rules.addEdge(g, cloudregion1,complex1);
- rules.addEdge(g, complex1,l3network1);
-
- expectedResult.add(cloudregion);
- expectedResult.add(complex);
- expectedResult.add(l3network);
-
- }
+ }
- @Override
- protected String getQueryName() {
- return "locationNetTypeNetRole-fromCloudRegion";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("cloud-region-id", "cloud-region-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/LogicalLinkByCloudRegionIdTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/LogicalLinkByCloudRegionIdTest.java
index a231ccd..224a6b7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/LogicalLinkByCloudRegionIdTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/LogicalLinkByCloudRegionIdTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,10 +29,8 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class LogicalLinkByCloudRegionIdTest extends QueryTest {
- public LogicalLinkByCloudRegionIdTest () throws AAIException, NoEdgeRuleFoundException {
+ public LogicalLinkByCloudRegionIdTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
@@ -43,12 +43,18 @@ public class LogicalLinkByCloudRegionIdTest extends QueryTest {
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
// Set up the test graph
- Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1", "cloud-region-id", "cloudRegionId1");
- Vertex logicalLink1 = graph.addVertex(T.label, "logical-link", T.id, "1", "aai-node-type", "logical-link", "link-name", "linkName1", "in-maint", "false", "link-type","linkType1");
+ Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1", "cloud-region-id", "cloudRegionId1");
+ Vertex logicalLink1 =
+ graph.addVertex(T.label, "logical-link", T.id, "1", "aai-node-type", "logical-link",
+ "link-name", "linkName1", "in-maint", "false", "link-type", "linkType1");
// adding extra vertices and edges which shouldn't be picked.
- Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner2", "cloud-region-id", "cloudRegionId3");
- Vertex logicalLink2 = graph.addVertex(T.label, "logical-link", T.id, "3", "aai-node-type", "logical-link", "link-name", "linkName2", "in-maint", "false", "link-type","linkType4");
+ Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner2", "cloud-region-id", "cloudRegionId3");
+ Vertex logicalLink2 =
+ graph.addVertex(T.label, "logical-link", T.id, "3", "aai-node-type", "logical-link",
+ "link-name", "linkName2", "in-maint", "false", "link-type", "linkType4");
GraphTraversalSource g = graph.traversal();
rules.addEdge(g, cloudRegion1, logicalLink1);
@@ -72,4 +78,4 @@ public class LogicalLinkByCloudRegionIdTest extends QueryTest {
protected void addParam(Map<String, Object> params) {
return;
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java
index b4a3dcd..5d2002e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,19 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.*;
+
import org.apache.commons.io.IOUtils;
import org.junit.Before;
import org.junit.Ignore;
@@ -30,19 +43,7 @@ import org.onap.aai.setup.SchemaVersion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.*;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class ModelAndNamedQueryRestProviderTest extends AAISetup{
+public class ModelAndNamedQueryRestProviderTest extends AAISetup {
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -70,21 +71,23 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
private List<MediaType> outputMediaTypes;
- private static final Logger logger = LoggerFactory.getLogger(ModelAndNamedQueryRestProviderTest.class.getName());
+ private static final Logger logger =
+ LoggerFactory.getLogger(ModelAndNamedQueryRestProviderTest.class.getName());
@Before
- public void setup(){
+ public void setup() {
version = schemaVersions.getDefaultVersion();
logger.info("Starting the setup for the integration tests of Rest Endpoints");
-
- modelAndNamedQueryRestProvider = new ModelAndNamedQueryRestProvider(searchGraph, schemaVersions);
- httpHeaders = mock(HttpHeaders.class);
- uriInfo = mock(UriInfo.class);
+
+ modelAndNamedQueryRestProvider =
+ new ModelAndNamedQueryRestProvider(searchGraph, schemaVersions);
+ httpHeaders = mock(HttpHeaders.class);
+ uriInfo = mock(UriInfo.class);
when(uriInfo.getPath()).thenReturn("JUNITURI");
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -100,16 +103,18 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
- when(httpHeaders.getRequestHeader("X-FromAppId")).thenReturn(Collections.singletonList("JUNIT"));
- when(httpHeaders.getRequestHeader("X-TransactionId")).thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-FromAppId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-TransactionId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList);
-
when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getQueryParameters(false)).thenReturn(queryParameters);
- // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable
+ // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very
+ // unreasonable
Mockito.doReturn(null).when(queryParameters).remove(anyObject());
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
@@ -123,12 +128,8 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
when(request.getContentType()).thenReturn("application/json");
- Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(
- httpHeaders,
- request,
- queryParameters,
- uriInfo
- );
+ Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(httpHeaders,
+ request, queryParameters, uriInfo);
assertNotNull(response);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
@@ -142,12 +143,8 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
when(httpHeaders.getRequestHeader("X-FromAppId")).thenThrow(IllegalArgumentException.class);
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
- Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(
- httpHeaders,
- null,
- "cloud-region",
- uriInfo
- );
+ Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(httpHeaders, null,
+ "cloud-region", uriInfo);
assertNotNull(response);
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
@@ -165,12 +162,8 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
when(request.getContentType()).thenReturn("application/json");
- Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(
- httpHeaders,
- request,
- queryParameters,
- uriInfo
- );
+ Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(httpHeaders,
+ request, queryParameters, uriInfo);
assertNotNull(response);
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
@@ -187,12 +180,8 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
when(request.getContentType()).thenReturn("application/json");
- Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(
- httpHeaders,
- request,
- queryParameters,
- uriInfo
- );
+ Response response = modelAndNamedQueryRestProvider.getNamedQueryResponse(httpHeaders,
+ request, queryParameters, uriInfo);
assertNotNull(response);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
@@ -200,9 +189,7 @@ public class ModelAndNamedQueryRestProviderTest extends AAISetup{
public String getPayload(String filename) throws IOException {
- InputStream inputStream = getClass()
- .getClassLoader()
- .getResourceAsStream(filename);
+ InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filename);
String message = String.format("Unable to find the %s in src/test/resources", filename);
assertNotNull(message, inputStream);
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/MsoRequestVfModuleTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/MsoRequestVfModuleTest.java
index dfaf3c3..e1edfd6 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/MsoRequestVfModuleTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/MsoRequestVfModuleTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,66 +30,91 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class MsoRequestVfModuleTest extends QueryTest {
- public MsoRequestVfModuleTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "0", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0","vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type","service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name","service-instance-name-1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex volumegroup = graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
-
-
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "10", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-10", "vf-module-name", "vf-module-name10");
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0","vnf-name", "vnf-name-10", "nf-type", "sample-nf-type1");
- Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "12", "aai-node-type","service-instance", "service-instance-id", "service-instance-id-10", "service-instance-name","service-instance-name-10");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type", "vserver", "vserver-id", "vserverid10");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "14", "aai-node-type", "tenant", "tenant-id", "tenantid10", "tenant-name", "tenantName10");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "15", "aai-node-type", "cloud-region", "cloud-region-id", "regionid10", "cloud-owner", "cloudOwnername10");
- Vertex volumegroup1 = graph.addVertex(T.label, "volume-group", T.id, "16", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-10", "volume-group-name", "volume-group-name10");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, genericvnf,vfmodule);
- rules.addEdge(g, genericvnf, serviceInstance);
- rules.addEdge(g, vserver,vfmodule);
- rules.addTreeEdge(g, vserver,tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, vfmodule, volumegroup);
-
- //false
- rules.addTreeEdge(g, genericvnf1, vfmodule1);
- rules.addEdge(g, genericvnf1, serviceInstance1);
- rules.addEdge(g, vserver1,vfmodule1);
- rules.addTreeEdge(g, vserver1, tenant1);
- rules.addTreeEdge(g, tenant1, cloudregion1);
- rules.addEdge(g, vfmodule1, volumegroup1);
+ public MsoRequestVfModuleTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- expectedResult.add(vfmodule);
- expectedResult.add(genericvnf);
- expectedResult.add(serviceInstance);
- expectedResult.add(cloudregion);
- expectedResult.add(volumegroup);
+ @Test
+ public void run() {
+ super.run();
+ }
- }
- @Override
- protected String getQueryName() {
- return "so-request-vfModule";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vf-module").has("vf-module-id", "vf-module-id-1").has("vf-module-name", "vf-module-name1");
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "0", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex genericvnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid0", "vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "2",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex volumegroup =
+ graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group",
+ "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
+
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "10", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-10", "vf-module-name", "vf-module-name10");
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid0", "vnf-name", "vnf-name-10", "nf-type", "sample-nf-type1");
+ Vertex serviceInstance1 = graph.addVertex(T.label, "service-instance", T.id, "12",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-10",
+ "service-instance-name", "service-instance-name-10");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "13", "aai-node-type",
+ "vserver", "vserver-id", "vserverid10");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "14", "aai-node-type", "tenant",
+ "tenant-id", "tenantid10", "tenant-name", "tenantName10");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "15", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid10", "cloud-owner", "cloudOwnername10");
+ Vertex volumegroup1 = graph.addVertex(T.label, "volume-group", T.id, "16", "aai-node-type",
+ "volume-group", "volume-group-id", "volume-group-id-10", "volume-group-name",
+ "volume-group-name10");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, genericvnf, vfmodule);
+ rules.addEdge(g, genericvnf, serviceInstance);
+ rules.addEdge(g, vserver, vfmodule);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, vfmodule, volumegroup);
+
+ // false
+ rules.addTreeEdge(g, genericvnf1, vfmodule1);
+ rules.addEdge(g, genericvnf1, serviceInstance1);
+ rules.addEdge(g, vserver1, vfmodule1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addEdge(g, vfmodule1, volumegroup1);
+
+ expectedResult.add(vfmodule);
+ expectedResult.add(genericvnf);
+ expectedResult.add(serviceInstance);
+ expectedResult.add(cloudregion);
+ expectedResult.add(volumegroup);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "so-request-vfModule";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vf-module").has("vf-module-id", "vf-module-id-1")
+ .has("vf-module-name", "vf-module-name1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkCollectionByServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkCollectionByServiceInstanceTest.java
index bb44704..fee5896 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkCollectionByServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkCollectionByServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -29,7 +29,7 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-public class NetworkCollectionByServiceInstanceTest extends QueryTest{
+public class NetworkCollectionByServiceInstanceTest extends QueryTest {
public NetworkCollectionByServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
@@ -38,36 +38,42 @@ public class NetworkCollectionByServiceInstanceTest extends QueryTest{
public void run() {
super.run();
}
+
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "0",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
- //Set up the test graph
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "0", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name",
- "service-instance-name-1");
-
- Vertex collection1 = graph.addVertex(T.label, "collection", T.id, "1", "aai-node-type", "collection");
-
- Vertex instancegroup1 = graph.addVertex(T.label, "instance-group", T.id, "2", "aai-node-type", "instance-group",
- "id", "id-0", "instance-group-type", "instance-group-type-0","instance-group-role","instance-group-role-0",
- "instance-group-function","instance-group-function-0","instance-group-description","instance-group-description-0");
-
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "3", "aai-node-type", "l3-network");
+ Vertex collection1 =
+ graph.addVertex(T.label, "collection", T.id, "1", "aai-node-type", "collection");
+ Vertex instancegroup1 =
+ graph.addVertex(T.label, "instance-group", T.id, "2", "aai-node-type", "instance-group",
+ "id", "id-0", "instance-group-type", "instance-group-type-0", "instance-group-role",
+ "instance-group-role-0", "instance-group-function", "instance-group-function-0",
+ "instance-group-description", "instance-group-description-0");
+ Vertex l3network1 =
+ graph.addVertex(T.label, "l3-network", T.id, "3", "aai-node-type", "l3-network");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "4", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name",
- "service-instance-name-1");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "4",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-1");
- Vertex collection2 = graph.addVertex(T.label, "collection", T.id, "5", "aai-node-type", "collection");
+ Vertex collection2 =
+ graph.addVertex(T.label, "collection", T.id, "5", "aai-node-type", "collection");
- Vertex instancegroup2 = graph.addVertex(T.label, "instance-group", T.id, "6", "aai-node-type", "instance-group",
- "id", "id-0", "instance-group-type", "instance-group-type-0","instance-group-role","instance-group-role-0",
- "instance-group-function","instance-group-function-0","instance-group-description","instance-group-description-0");
+ Vertex instancegroup2 =
+ graph.addVertex(T.label, "instance-group", T.id, "6", "aai-node-type", "instance-group",
+ "id", "id-0", "instance-group-type", "instance-group-type-0", "instance-group-role",
+ "instance-group-role-0", "instance-group-function", "instance-group-function-0",
+ "instance-group-description", "instance-group-description-0");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "7", "aai-node-type", "l3-network");
+ Vertex l3network2 =
+ graph.addVertex(T.label, "l3-network", T.id, "7", "aai-node-type", "l3-network");
GraphTraversalSource g = graph.traversal();
@@ -85,13 +91,16 @@ public class NetworkCollectionByServiceInstanceTest extends QueryTest{
expectedResult.add(l3network1);
}
+
@Override
protected String getQueryName() {
return "network-collection-ByServiceInstance";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
}
@Override
@@ -99,5 +108,3 @@ public class NetworkCollectionByServiceInstanceTest extends QueryTest{
return;
}
}
-
-
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkNameFromNetworkRoleQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkNameFromNetworkRoleQueryTest.java
index 9f9dcdf..e4acc25 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkNameFromNetworkRoleQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/NetworkNameFromNetworkRoleQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -33,55 +33,61 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class NetworkNameFromNetworkRoleQueryTest extends QueryTest {
- public NetworkNameFromNetworkRoleQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public NetworkNameFromNetworkRoleQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex cr1 = graph.addVertex(T.id, "00", "aai-node-type", "cloud-region", "cloud-owner", "foo", "cloud-region-id", "cr1");
- Vertex cr2 = graph.addVertex(T.id, "01", "aai-node-type", "cloud-region", "cloud-owner", "bar", "cloud-region-id", "cr2");
-
- Vertex l3net1 = graph.addVertex(T.id, "10", "aai-node-type", "l3-network",
- "network-id", "net1", "network-name", "netname1", "network-role", "correct-role");
- Vertex l3net2 = graph.addVertex(T.id, "11", "aai-node-type", "l3-network",
- "network-id", "net2", "network-name", "netname2", "network-role", "wrong-role");
- Vertex l3net3 = graph.addVertex(T.id, "12", "aai-node-type", "l3-network",
- "network-id", "net3", "network-name", "netname3", "network-role", "correct-role");
-
- Vertex np1 = graph.addVertex(T.id, "20", "aai-node-type", "network-policy", "network-policy-id", "npId1");
- Vertex np2 = graph.addVertex(T.id, "21", "aai-node-type", "network-policy", "network-policy-id", "npId2");
- Vertex np3 = graph.addVertex(T.id, "22", "aai-node-type", "network-policy", "network-policy-id", "npId3");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, cr1, l3net1);
- rules.addEdge(g, l3net1, np1);
- rules.addEdge(g, cr1, l3net2);
- rules.addEdge(g, l3net2, np2);
- rules.addEdge(g, cr2, l3net3);
- rules.addEdge(g, l3net3, np3);
-
- expectedResult.add(l3net1);
- expectedResult.add(np1);
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex cr1 = graph.addVertex(T.id, "00", "aai-node-type", "cloud-region", "cloud-owner",
+ "foo", "cloud-region-id", "cr1");
+ Vertex cr2 = graph.addVertex(T.id, "01", "aai-node-type", "cloud-region", "cloud-owner",
+ "bar", "cloud-region-id", "cr2");
- @Override
- protected String getQueryName() {
- return "network-name-fromNetwork-role";
- }
+ Vertex l3net1 = graph.addVertex(T.id, "10", "aai-node-type", "l3-network", "network-id",
+ "net1", "network-name", "netname1", "network-role", "correct-role");
+ Vertex l3net2 = graph.addVertex(T.id, "11", "aai-node-type", "l3-network", "network-id",
+ "net2", "network-name", "netname2", "network-role", "wrong-role");
+ Vertex l3net3 = graph.addVertex(T.id, "12", "aai-node-type", "l3-network", "network-id",
+ "net3", "network-name", "netname3", "network-role", "correct-role");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "cloud-region").has("cloud-owner", "foo").has("cloud-region-id", "cr1");
- }
+ Vertex np1 = graph.addVertex(T.id, "20", "aai-node-type", "network-policy",
+ "network-policy-id", "npId1");
+ Vertex np2 = graph.addVertex(T.id, "21", "aai-node-type", "network-policy",
+ "network-policy-id", "npId2");
+ Vertex np3 = graph.addVertex(T.id, "22", "aai-node-type", "network-policy",
+ "network-policy-id", "npId3");
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("networkRole", "correct-role");
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, cr1, l3net1);
+ rules.addEdge(g, l3net1, np1);
+ rules.addEdge(g, cr1, l3net2);
+ rules.addEdge(g, l3net2, np2);
+ rules.addEdge(g, cr2, l3net3);
+ rules.addEdge(g, l3net3, np3);
+
+ expectedResult.add(l3net1);
+ expectedResult.add(np1);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "network-name-fromNetwork-role";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region").has("cloud-owner", "foo").has("cloud-region-id",
+ "cr1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("networkRole", "correct-role");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/NfTypefromCloudRegionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/NfTypefromCloudRegionQueryTest.java
index 08a52f1..1093fb7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/NfTypefromCloudRegionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/NfTypefromCloudRegionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,53 +30,64 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class NfTypefromCloudRegionQueryTest extends QueryTest {
- public NfTypefromCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public NfTypefromCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "1", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
-
-
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "4", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "5", "aai-node-type", "tenant", "tenant-id", "tenantid2", "tenant-name", "tenantName-2");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, tenant,cloudregion);
- rules.addTreeEdge(g, vserver,tenant);
- rules.addEdge(g, vserver, gnvf);
-
- rules.addTreeEdge(g, tenant1,cloudregion1);
- rules.addTreeEdge(g, vserver1,tenant1);
- rules.addEdge(g, vserver1, gnvf1);
-
- expectedResult.add(gnvf);
-
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected String getQueryName() {
- return "nfType-fromCloudRegion";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("cloud-region-id", "cloud-region-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "0", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "1", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "4", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "5", "aai-node-type", "tenant",
+ "tenant-id", "tenantid2", "tenant-name", "tenantName-2");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addEdge(g, vserver, gnvf);
+
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addEdge(g, vserver1, gnvf1);
+
+ expectedResult.add(gnvf);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "nfType-fromCloudRegion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("cloud-region-id", "cloud-region-id-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/OnapQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/OnapQueryTest.java
index 138892c..c137d6f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/OnapQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/OnapQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,9 +19,15 @@
*/
package org.onap.aai.rest.search;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.when;
+
import com.att.eelf.configuration.EELFManager;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Graph;
@@ -47,167 +53,152 @@ import org.onap.aai.introspection.Loader;
import org.onap.aai.introspection.LoaderFactory;
import org.onap.aai.introspection.ModelType;
import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.query.builder.GremlinTraversal;
+import org.onap.aai.restcore.search.GremlinGroovyShell;
+import org.onap.aai.restcore.search.GroovyQueryBuilder;
+import org.onap.aai.serialization.db.EdgeSerializer;
+import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
import org.onap.aai.setup.AAIConfigTranslator;
import org.onap.aai.setup.SchemaLocationsBean;
import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
-import org.onap.aai.query.builder.GremlinTraversal;
-import org.onap.aai.restcore.search.GremlinGroovyShell;
-import org.onap.aai.restcore.search.GroovyQueryBuilder;
-import org.onap.aai.serialization.db.EdgeSerializer;
-import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
@RunWith(Parameterized.class)
-@ContextConfiguration(classes = {
- ConfigConfiguration.class,
- AAIConfigTranslator.class,
- EdgeIngestor.class,
- EdgeSerializer.class,
- NodeIngestor.class,
- SpringContextAware.class,
- SearchConfiguration.class,
- IntrospectionConfig.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.ingest.file = src/test/resources/application-onap-test.properties"
-})
+@ContextConfiguration(
+ classes = {ConfigConfiguration.class, AAIConfigTranslator.class, EdgeIngestor.class,
+ EdgeSerializer.class, NodeIngestor.class, SpringContextAware.class,
+ SearchConfiguration.class, IntrospectionConfig.class})
+@TestPropertySource(
+ properties = {"schema.uri.base.path = /aai",
+ "schema.ingest.file = src/test/resources/application-onap-test.properties"})
public abstract class OnapQueryTest {
- @ClassRule
+ @ClassRule
public static final SpringClassRule springClassRule = new SpringClassRule();
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
- protected Logger logger;
- protected Graph graph;
- protected GremlinGroovyShell shell;
- @Mock protected TransactionalGraphEngine dbEngine;
- protected final List<Vertex> expectedResult = new ArrayList<>();
-
- @Autowired
- protected EdgeIngestor edgeRules;
-
- @Autowired
- protected EdgeSerializer rules;
-
- @Autowired
- protected LoaderFactory loaderFactory;
-
- @Autowired
- protected SchemaVersions schemaVersions;
-
- @Autowired
- protected GremlinServerSingleton gremlinServerSingleton;
-
- protected Loader loader;
- protected GraphTraversalSource gts;
-
- @Parameterized.Parameter(value = 0)
- public SchemaVersion version;
-
- @Parameterized.Parameters(name = "Version.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {new SchemaVersion("v11")},
- {new SchemaVersion("v12")},
- {new SchemaVersion("v13")},
- {new SchemaVersion("v14")}
- });
- }
-
- protected String query;
-
- LinkedHashMap <String, Object> params;
-
- @BeforeClass
- public static void setupBundleconfig() {
- System.setProperty("AJSC_HOME", "./");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
- }
-
- @Before
- public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
- logger = LoggerFactory.getLogger(getClass());
- MockitoAnnotations.initMocks(this);
- graph = TinkerGraph.open();
- gts = graph.traversal();
- createGraph();
- shell = new GremlinGroovyShell();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
- setUpQuery();
- }
-
-
- protected void setUpQuery() {
- query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
- params = new LinkedHashMap <>();
- addParam(params);
- when(dbEngine.getQueryBuilder(any(QueryStyle.class))).thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
- logger.info("Stored query in abstraction form {}", query);
- query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
- logger.info("After converting to gremlin query {}", query);
- query = "g" + query;
- GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
- addStartNode(g);
- params.put("g", g);
- }
-
- public void run() {
-
- GraphTraversal<Vertex, Vertex> result = (GraphTraversal<Vertex, Vertex>)shell.executeTraversal(query, params);
-
- List<Vertex> vertices = result.toList();
-
- logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
- logger.info("Actual Result set of vertexes [{}]", convert(vertices));
-
- List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
- vertices = new ArrayList<>(new HashSet<>(vertices));
-
- nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
- vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
-
-
- // Use this instead of the assertTrue as this provides more useful
- // debugging information such as this when expected and actual differ:
- // java.lang.AssertionError: Expected all the vertices to be found
- // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
- // Actual :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
- assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
-
- }
-
- protected String convert(List<Vertex> vertices){
- return vertices
- .stream()
- .map(vertex -> vertex.property("aai-node-type").value().toString())
- .collect(Collectors.joining(","));
- }
-
- protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
-
- protected abstract String getQueryName();
-
- protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
+ protected Logger logger;
+ protected Graph graph;
+ protected GremlinGroovyShell shell;
+ @Mock
+ protected TransactionalGraphEngine dbEngine;
+ protected final List<Vertex> expectedResult = new ArrayList<>();
+
+ @Autowired
+ protected EdgeIngestor edgeRules;
+
+ @Autowired
+ protected EdgeSerializer rules;
+
+ @Autowired
+ protected LoaderFactory loaderFactory;
+
+ @Autowired
+ protected SchemaVersions schemaVersions;
+
+ @Autowired
+ protected GremlinServerSingleton gremlinServerSingleton;
+
+ protected Loader loader;
+ protected GraphTraversalSource gts;
+
+ @Parameterized.Parameter(value = 0)
+ public SchemaVersion version;
+
+ @Parameterized.Parameters(name = "Version.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][] {{new SchemaVersion("v11")}, {new SchemaVersion("v12")},
+ {new SchemaVersion("v13")}, {new SchemaVersion("v14")}});
+ }
+
+ protected String query;
+
+ LinkedHashMap<String, Object> params;
+
+ @BeforeClass
+ public static void setupBundleconfig() {
+ System.setProperty("AJSC_HOME", "./");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
+ }
+
+ @Before
+ public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException,
+ AmbiguousRuleChoiceException {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
+ logger = LoggerFactory.getLogger(getClass());
+ MockitoAnnotations.initMocks(this);
+ graph = TinkerGraph.open();
+ gts = graph.traversal();
+ createGraph();
+ shell = new GremlinGroovyShell();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
+ setUpQuery();
+ }
+
+ protected void setUpQuery() {
+ query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
+ params = new LinkedHashMap<>();
+ addParam(params);
+ when(dbEngine.getQueryBuilder(any(QueryStyle.class)))
+ .thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
+ logger.info("Stored query in abstraction form {}", query);
+ query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
+ logger.info("After converting to gremlin query {}", query);
+ query = "g" + query;
+ GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
+ addStartNode(g);
+ params.put("g", g);
+ }
+
+ public void run() {
+
+ GraphTraversal<Vertex, Vertex> result =
+ (GraphTraversal<Vertex, Vertex>) shell.executeTraversal(query, params);
+
+ List<Vertex> vertices = result.toList();
+
+ logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
+ logger.info("Actual Result set of vertexes [{}]", convert(vertices));
+
+ List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
+ vertices = new ArrayList<>(new HashSet<>(vertices));
+
+ nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+ vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+
+ // Use this instead of the assertTrue as this provides more useful
+ // debugging information such as this when expected and actual differ:
+ // java.lang.AssertionError: Expected all the vertices to be found
+ // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+ // Actual :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+ assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
+
+ }
+
+ protected String convert(List<Vertex> vertices) {
+ return vertices.stream().map(vertex -> vertex.property("aai-node-type").value().toString())
+ .collect(Collectors.joining(","));
+ }
+
+ protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException,
+ EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
- protected abstract void addParam(Map<String, Object> params);
+ protected abstract String getQueryName();
+
+ protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
+
+ protected abstract void addParam(Map<String, Object> params);
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/OwningEntityfromServiceInstance.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/OwningEntityfromServiceInstance.java
index 39e29ec..c4f36dc 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/OwningEntityfromServiceInstance.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/OwningEntityfromServiceInstance.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,48 +29,52 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class OwningEntityfromServiceInstance extends QueryTest {
- public OwningEntityfromServiceInstance () throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public OwningEntityfromServiceInstance() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- // Set up the test graph
- Vertex service_instance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-1");
- Vertex owning_entity = graph.addVertex(T.label, "owning-entity", T.id, "2", "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-1", "owning-entity-name", "owning-entity-name1");
+ // Set up the test graph
+ Vertex service_instance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-1");
+ Vertex owning_entity = graph.addVertex(T.label, "owning-entity", T.id, "2", "aai-node-type",
+ "owning-entity", "owning-entity-id", "owning-entity-id-1", "owning-entity-name",
+ "owning-entity-name1");
- // adding extra vertices and edges which shouldn't be picked.
- Vertex service_instance2 = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id", "service-instance-2");
- Vertex owning_entity2 = graph.addVertex(T.label, "owning-entity", T.id, "4", "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-2", "owning-entity-name", "owning-entity-name2");
+ // adding extra vertices and edges which shouldn't be picked.
+ Vertex service_instance2 = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-2");
+ Vertex owning_entity2 = graph.addVertex(T.label, "owning-entity", T.id, "4",
+ "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-2",
+ "owning-entity-name", "owning-entity-name2");
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, owning_entity, service_instance);
- rules.addEdge(g, owning_entity2, service_instance2);
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, owning_entity, service_instance);
+ rules.addEdge(g, owning_entity2, service_instance2);
- expectedResult.add(owning_entity);
- }
+ expectedResult.add(owning_entity);
+ }
- @Override
- protected String getQueryName() {
- return "owning-entity-fromService-instance";
- }
+ @Override
+ protected String getQueryName() {
+ return "owning-entity-fromService-instance";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("service-instance-id", "service-instance-1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("service-instance-id", "service-instance-1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PathQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PathQueryTest.java
index 84d7a59..f405728 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PathQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PathQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,21 +19,21 @@
*/
package org.onap.aai.rest.search;
+import java.util.List;
+
import org.apache.tinkerpop.gremlin.process.traversal.Path;
import org.onap.aai.exceptions.AAIException;
-import java.util.List;
-
public abstract class PathQueryTest extends QueryTest {
- protected List<Path> pathList;
+ protected List<Path> pathList;
- public PathQueryTest() throws AAIException {
- super();
- }
+ public PathQueryTest() throws AAIException {
+ super();
+ }
- @Override
- public void run() {
- pathList = (List<Path>)shell.executeTraversal(query, params).toList();
- }
+ @Override
+ public void run() {
+ pathList = (List<Path>) shell.executeTraversal(query, params).toList();
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PendingTopologyDetailTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PendingTopologyDetailTest.java
index 9de2607..28dbcb8 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PendingTopologyDetailTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PendingTopologyDetailTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,7 +26,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
@@ -42,121 +41,158 @@ public class PendingTopologyDetailTest extends QueryTest {
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
-
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
- Vertex platform = graph.addVertex(T.label, "platform", T.id, "2", "aai-node-type", "platform", "platform-name", "platform0");
- Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "3", "aai-node-type", "line-of-business", "line-of-business-name", "business0");
- Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "4", "aai-node-type", "service-instance", "service-instance-id", "servInstId0", "service-type", "servType0");
- Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "5", "aai-node-type", "owning-entity", "owning-entity-id", "entityId0", "owning-entity-name", "entityName0");
- Vertex project = graph.addVertex(T.label, "project", T.id, "6", "aai-node-type", "project", "project-name", "project0");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "38", "aai-node-type", "vf-module", "vf-module-id", "1");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "7", "aai-node-type", "vnfc", "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "8", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "9", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "10", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address0");
- Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "11", "aai-node-type", "subnet", "subnet-id", "subnet4-id0");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "12", "aai-node-type", "l3-network", "network-id", "network4-id0", "network-name", "network4-name0");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "13", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address0");
- Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "14", "aai-node-type", "subnet", "subnet-id", "subnet6-id0");
- Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "15", "aai-node-type", "l3-network", "network-id", "network6-id0", "network-name", "network6-name0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "16", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "17", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex complex = graph.addVertex(T.label, "pserver", T.id, "19", "aai-node-type", "complex", "physical-location-id", "locationId", "physical-location-type", "locationType", "physical-location-id", "locationId",
- "city", "cityName", "state", "stateName", "postal-code", "zip", "country", "countryName");
- Vertex vipipv4addresslist = graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "20", "aai-node-type", "vip-ipv4-address-list", "vip-ipv4-address", "vip-ipv4-address0");
- Vertex vipipv6addresslist = graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "21", "aai-node-type", "vip-ipv6-address-list", "vip-ipv6-address", "vip-ipv6-address0");
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "40", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex platform1 = graph.addVertex(T.label, "platform", T.id, "41", "aai-node-type", "platform", "platform-name", "platform1");
-
- Vertex vfmodule2 = graph.addVertex(T.label, "vf-module", T.id, "39", "aai-node-type", "vf-module", "vf-module-id", "2");
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "30", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name2");
- Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "31", "aai-node-type", "vnfc", "vnfc-name", "vnfc2", "nfc-naming-code", "namingCode2", "nfc-function", "function2");
- Vertex vipipv4addresslist2 = graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "32", "aai-node-type", "vip-ipv4-address-list", "vip-ipv4-addres", "vip-ipv4-address2");
- Vertex vipipv6addresslist2 = graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "33", "aai-node-type", "vip-ipv6-address-list", "vip-ipv6-address", "vip-ipv6-address2");
- Vertex subnet42 = graph.addVertex(T.label, "subnet", T.id, "34", "aai-node-type", "subnet", "subnet-id", "subnet4-id-0");
- Vertex l3network42 = graph.addVertex(T.label, "l3-network", T.id, "35", "aai-node-type", "l3-network", "network-id", "network4-id2", "network-name", "network4-name2");
- Vertex subnet62 = graph.addVertex(T.label, "subnet", T.id, "36", "aai-node-type", "subnet", "subnet-id", "subnet6-id2");
- Vertex l3network62 = graph.addVertex(T.label, "l3-network", T.id, "37", "aai-node-type", "l3-network", "network-id", "network6-id2", "network-name", "network6-name2");
-
+ // Set up the test graph
+
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
+ Vertex platform = graph.addVertex(T.label, "platform", T.id, "2", "aai-node-type",
+ "platform", "platform-name", "platform0");
+ Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "3",
+ "aai-node-type", "line-of-business", "line-of-business-name", "business0");
+ Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "4", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId0", "service-type", "servType0");
+ Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "5", "aai-node-type",
+ "owning-entity", "owning-entity-id", "entityId0", "owning-entity-name", "entityName0");
+ Vertex project = graph.addVertex(T.label, "project", T.id, "6", "aai-node-type", "project",
+ "project-name", "project0");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "38", "aai-node-type",
+ "vf-module", "vf-module-id", "1");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "7", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "8", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex linterface =
+ graph.addVertex(T.label, "l-interface", T.id, "9", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "10", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address0");
+ Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "11", "aai-node-type", "subnet",
+ "subnet-id", "subnet4-id0");
+ Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "12", "aai-node-type",
+ "l3-network", "network-id", "network4-id0", "network-name", "network4-name0");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "13", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address0");
+ Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "14", "aai-node-type", "subnet",
+ "subnet-id", "subnet6-id0");
+ Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "15", "aai-node-type",
+ "l3-network", "network-id", "network6-id0", "network-name", "network6-name0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "16", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "17", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex complex = graph.addVertex(T.label, "pserver", T.id, "19", "aai-node-type", "complex",
+ "physical-location-id", "locationId", "physical-location-type", "locationType",
+ "physical-location-id", "locationId", "city", "cityName", "state", "stateName",
+ "postal-code", "zip", "country", "countryName");
+ Vertex vipipv4addresslist = graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "20",
+ "aai-node-type", "vip-ipv4-address-list", "vip-ipv4-address", "vip-ipv4-address0");
+ Vertex vipipv6addresslist = graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "21",
+ "aai-node-type", "vip-ipv6-address-list", "vip-ipv6-address", "vip-ipv6-address0");
+
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "40", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex platform1 = graph.addVertex(T.label, "platform", T.id, "41", "aai-node-type",
+ "platform", "platform-name", "platform1");
+
+ Vertex vfmodule2 = graph.addVertex(T.label, "vf-module", T.id, "39", "aai-node-type",
+ "vf-module", "vf-module-id", "2");
+ Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "30", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name2");
+ Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "31", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc2", "nfc-naming-code", "namingCode2", "nfc-function", "function2");
+ Vertex vipipv4addresslist2 = graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "32",
+ "aai-node-type", "vip-ipv4-address-list", "vip-ipv4-addres", "vip-ipv4-address2");
+ Vertex vipipv6addresslist2 = graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "33",
+ "aai-node-type", "vip-ipv6-address-list", "vip-ipv6-address", "vip-ipv6-address2");
+ Vertex subnet42 = graph.addVertex(T.label, "subnet", T.id, "34", "aai-node-type", "subnet",
+ "subnet-id", "subnet4-id-0");
+ Vertex l3network42 = graph.addVertex(T.label, "l3-network", T.id, "35", "aai-node-type",
+ "l3-network", "network-id", "network4-id2", "network-name", "network4-name2");
+ Vertex subnet62 = graph.addVertex(T.label, "subnet", T.id, "36", "aai-node-type", "subnet",
+ "subnet-id", "subnet6-id2");
+ Vertex l3network62 = graph.addVertex(T.label, "l3-network", T.id, "37", "aai-node-type",
+ "l3-network", "network-id", "network6-id2", "network-name", "network6-name2");
+
GraphTraversalSource g = graph.traversal();
rules.addEdge(g, genericvnf, platform);
- rules.addEdge(g, genericvnf, lineofbusiness);
- rules.addEdge(g, genericvnf, servinst);
- rules.addEdge(g, owningentity, servinst);
- rules.addEdge(g, project, servinst);
- rules.addTreeEdge(g, genericvnf, vfmodule);
- rules.addEdge(g, vfmodule, vnfc);
- //rules.addEdge(g, genericvnf, vnfc);
- rules.addEdge(g, vnfc, vserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, pserver, vserver);
- rules.addEdge(g, complex, pserver);
- rules.addTreeEdge(g, linterface, vserver);
- rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
- rules.addEdge(g, l3inter1ipv4addresslist, subnet4);
- rules.addTreeEdge(g, l3network4, subnet4);
- rules.addTreeEdge(g, vnfc, l3inter1ipv4addresslist);
- rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
- rules.addEdge(g, l3inter1ipv6addresslist, subnet6);
- rules.addTreeEdge(g, l3network6, subnet6);
- rules.addTreeEdge(g, vnfc, l3inter1ipv6addresslist);
- rules.addTreeEdge(g, vipipv4addresslist, cloudregion);
- rules.addEdge(g, vipipv4addresslist, subnet4);
- rules.addEdge(g, vnfc, vipipv4addresslist);
- rules.addTreeEdge(g, vipipv6addresslist, cloudregion);
- rules.addEdge(g, vipipv6addresslist, subnet6);
- rules.addEdge(g, vnfc, vipipv6addresslist);
-
- rules.addEdge(g, genericvnf, platform1);
-
-
- // false
- rules.addTreeEdge(g, genericvnf2, vfmodule2);
+ rules.addEdge(g, genericvnf, lineofbusiness);
+ rules.addEdge(g, genericvnf, servinst);
+ rules.addEdge(g, owningentity, servinst);
+ rules.addEdge(g, project, servinst);
+ rules.addTreeEdge(g, genericvnf, vfmodule);
+ rules.addEdge(g, vfmodule, vnfc);
+ // rules.addEdge(g, genericvnf, vnfc);
+ rules.addEdge(g, vnfc, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, pserver, vserver);
+ rules.addEdge(g, complex, pserver);
+ rules.addTreeEdge(g, linterface, vserver);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
+ rules.addEdge(g, l3inter1ipv4addresslist, subnet4);
+ rules.addTreeEdge(g, l3network4, subnet4);
+ rules.addTreeEdge(g, vnfc, l3inter1ipv4addresslist);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
+ rules.addEdge(g, l3inter1ipv6addresslist, subnet6);
+ rules.addTreeEdge(g, l3network6, subnet6);
+ rules.addTreeEdge(g, vnfc, l3inter1ipv6addresslist);
+ rules.addTreeEdge(g, vipipv4addresslist, cloudregion);
+ rules.addEdge(g, vipipv4addresslist, subnet4);
+ rules.addEdge(g, vnfc, vipipv4addresslist);
+ rules.addTreeEdge(g, vipipv6addresslist, cloudregion);
+ rules.addEdge(g, vipipv6addresslist, subnet6);
+ rules.addEdge(g, vnfc, vipipv6addresslist);
+
+ rules.addEdge(g, genericvnf, platform1);
+
+ // false
+ rules.addTreeEdge(g, genericvnf2, vfmodule2);
rules.addEdge(g, vfmodule2, vnfc2);
- rules.addTreeEdge(g, vipipv4addresslist2, cloudregion);
- rules.addTreeEdge(g, vipipv6addresslist2, cloudregion);
- rules.addEdge(g, vnfc2, vipipv4addresslist2);
- rules.addEdge(g, vnfc2, vipipv6addresslist2);
- rules.addEdge(g, vipipv4addresslist2, subnet42);
- rules.addEdge(g, vipipv6addresslist2, subnet62);
- rules.addTreeEdge(g, l3network42, subnet42);
- rules.addTreeEdge(g, l3network62, subnet62);
-
- rules.addEdge(g, genericvnf1, lineofbusiness);
-
-
- expectedResult.add(genericvnf);
- expectedResult.add(platform);
- expectedResult.add(lineofbusiness);
- expectedResult.add(owningentity);
- expectedResult.add(project);
- expectedResult.add(vfmodule);
- expectedResult.add(vnfc);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(subnet4);
- expectedResult.add(l3network4);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(subnet6);
- expectedResult.add(l3network6);
- expectedResult.add(vipipv4addresslist);
- expectedResult.add(vipipv6addresslist);
-
- expectedResult.add(platform1);
+ rules.addTreeEdge(g, vipipv4addresslist2, cloudregion);
+ rules.addTreeEdge(g, vipipv6addresslist2, cloudregion);
+ rules.addEdge(g, vnfc2, vipipv4addresslist2);
+ rules.addEdge(g, vnfc2, vipipv6addresslist2);
+ rules.addEdge(g, vipipv4addresslist2, subnet42);
+ rules.addEdge(g, vipipv6addresslist2, subnet62);
+ rules.addTreeEdge(g, l3network42, subnet42);
+ rules.addTreeEdge(g, l3network62, subnet62);
+
+ rules.addEdge(g, genericvnf1, lineofbusiness);
+
+ expectedResult.add(genericvnf);
+ expectedResult.add(platform);
+ expectedResult.add(lineofbusiness);
+ expectedResult.add(owningentity);
+ expectedResult.add(project);
+ expectedResult.add(vfmodule);
+ expectedResult.add(vnfc);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(subnet4);
+ expectedResult.add(l3network4);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(subnet6);
+ expectedResult.add(l3network6);
+ expectedResult.add(vipipv4addresslist);
+ expectedResult.add(vipipv6addresslist);
+
+ expectedResult.add(platform1);
}
@Override
protected String getQueryName() {
- return "pending-topology-detail";
+ return "pending-topology-detail";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-0");
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-0");
}
+
@Override
protected void addParam(Map<String, Object> params) {
return;
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PnfTopologyQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PnfTopologyQueryTest.java
index 21da962..b501ed6 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PnfTopologyQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PnfTopologyQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,7 @@
* ============LICENSE_END=========================================================
*/
package org.onap.aai.rest.search;
+
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -26,80 +27,94 @@ import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Ignore;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PnfTopologyQueryTest extends QueryTest {
- public PnfTopologyQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "0", "aai-node-type", "pnf", "pnf-name", "pnf1name");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex", "physical-location-id", "clli");
- Vertex pnf1int1 = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type", "p-interface", "interface-name", "ge0/0/0");
- Vertex pnf1int2 = graph.addVertex(T.label, "p-interface", T.id, "3", "aai-node-type", "p-interface", "interface-name", "ge0/0/1");
- Vertex pnf1int3 = graph.addVertex(T.label, "p-interface", T.id, "4", "aai-node-type", "p-interface", "interface-name", "ge0/0/2");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "pservername");
- Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "6", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "7", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "8", "aai-node-type", "pnf", "pnf-name", "pnf2name");
- Vertex pnf2int = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type", "p-interface", "interface-name", "ge0/1/0");
- Vertex plink2 = graph.addVertex(T.label, "physical-link", T.id, "10", "aai-node-type", "physical-link", "link-name", "ge0/0/1-to-ge0/1/0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-name", "vservername");
- Vertex pserverint2 = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type", "p-interface", "interface-name", "xe0/0/1");
- Vertex pnf2int2 = graph.addVertex(T.label, "p-interface", T.id, "13", "aai-node-type", "p-interface", "interface-name", "ge0/1/0");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pnf1, complex);
- rules.addTreeEdge(g, pnf1, pnf1int1);
- rules.addTreeEdge(g, pnf1, pnf1int2);
- rules.addTreeEdge(g, pnf1, pnf1int3);
- rules.addEdge(g, pserver, complex);
- rules.addTreeEdge(g, pserver, pserverint);
- rules.addEdge(g, pnf1int1, plink1);
- rules.addEdge(g, pserverint, plink1);
- rules.addEdge(g, pnf2, complex);
- rules.addTreeEdge(g, pnf2, pnf2int);
- rules.addEdge(g, pnf1int2, plink2);
- rules.addEdge(g, pnf2int, plink2);
- rules.addEdge(g, vserver, pserver);
- rules.addTreeEdge(g, pserver, pserverint2);
- rules.addTreeEdge(g, pnf2, pnf2int2);
+ public PnfTopologyQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "0", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "1", "aai-node-type", "complex",
+ "physical-location-id", "clli");
+ Vertex pnf1int1 = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+ Vertex pnf1int2 = graph.addVertex(T.label, "p-interface", T.id, "3", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/1");
+ Vertex pnf1int3 = graph.addVertex(T.label, "p-interface", T.id, "4", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/2");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pservername");
+ Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "6", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "7", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "8", "aai-node-type", "pnf", "pnf-name",
+ "pnf2name");
+ Vertex pnf2int = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type",
+ "p-interface", "interface-name", "ge0/1/0");
+ Vertex plink2 = graph.addVertex(T.label, "physical-link", T.id, "10", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/1-to-ge0/1/0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver",
+ "vserver-name", "vservername");
+ Vertex pserverint2 = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/1");
+ Vertex pnf2int2 = graph.addVertex(T.label, "p-interface", T.id, "13", "aai-node-type",
+ "p-interface", "interface-name", "ge0/1/0");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pnf1, complex);
+ rules.addTreeEdge(g, pnf1, pnf1int1);
+ rules.addTreeEdge(g, pnf1, pnf1int2);
+ rules.addTreeEdge(g, pnf1, pnf1int3);
+ rules.addEdge(g, pserver, complex);
+ rules.addTreeEdge(g, pserver, pserverint);
+ rules.addEdge(g, pnf1int1, plink1);
+ rules.addEdge(g, pserverint, plink1);
+ rules.addEdge(g, pnf2, complex);
+ rules.addTreeEdge(g, pnf2, pnf2int);
+ rules.addEdge(g, pnf1int2, plink2);
+ rules.addEdge(g, pnf2int, plink2);
+ rules.addEdge(g, vserver, pserver);
+ rules.addTreeEdge(g, pserver, pserverint2);
+ rules.addTreeEdge(g, pnf2, pnf2int2);
+
+ expectedResult.add(pnf1);
+ expectedResult.add(complex);
+ expectedResult.add(pnf1int1);
+ expectedResult.add(pnf1int2);
+ expectedResult.add(pserver);
+ expectedResult.add(pserverint);
+ expectedResult.add(plink1);
+ expectedResult.add(pnf2);
+ expectedResult.add(pnf2int);
+ expectedResult.add(plink2);
+ }
- expectedResult.add(pnf1);
- expectedResult.add(complex);
- expectedResult.add(pnf1int1);
- expectedResult.add(pnf1int2);
- expectedResult.add(pserver);
- expectedResult.add(pserverint);
- expectedResult.add(plink1);
- expectedResult.add(pnf2);
- expectedResult.add(pnf2int);
- expectedResult.add(plink2);
- }
+ @Override
+ protected String getQueryName() {
+ // TODO Auto-generated method stub
+ return "pnf-topology";
+ }
- @Override
- protected String getQueryName() {
- // TODO Auto-generated method stub
- return "pnf-topology";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("pnf-name", "pnf1name");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("pnf-name", "pnf1name");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromFqdnFirstTokenTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromFqdnFirstTokenTest.java
index 6b3fcb2..6601e9a 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromFqdnFirstTokenTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromFqdnFirstTokenTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
*/
package org.onap.aai.rest.search;
-
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -31,44 +30,52 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PserverFromFqdnFirstTokenTest extends QueryTest {
- public PserverFromFqdnFirstTokenTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public PserverFromFqdnFirstTokenTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "hostname-10", "fqdn", "fqdn-1.abc.com", "source-of-truth", "RCT");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "hostname-20", "fqdn", "fqdn-2.abc.com", "source-of-truth", "RCT");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver",
+ "hostname", "hostname-30", "fqdn", "fqdn-13.abc.com", "source-of-truth", "AAIRctFeed");
+ Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver",
+ "hostname", "hostname-40", "fqdn", "fqdn-12.abc.com", "source-of-truth", "RO");
+ Vertex pserver5 = graph.addVertex(T.label, "pserver", T.id, "8", "aai-node-type", "pserver",
+ "hostname", "hostname-50", "fqdn", "fqdn-20.abc.com", "source-of-truth", "RO");
- @Test
- public void test() {
- super.run();
- }
+ expectedResult.add(pserver1);
+ expectedResult.add(pserver3);
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "hostname-10", "fqdn", "fqdn-1.abc.com", "source-of-truth", "RCT");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "hostname-20", "fqdn", "fqdn-2.abc.com", "source-of-truth", "RCT");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver", "hostname", "hostname-30", "fqdn", "fqdn-13.abc.com", "source-of-truth", "AAIRctFeed");
- Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver", "hostname", "hostname-40", "fqdn", "fqdn-12.abc.com", "source-of-truth", "RO");
- Vertex pserver5 = graph.addVertex(T.label, "pserver", T.id, "8", "aai-node-type", "pserver", "hostname", "hostname-50", "fqdn", "fqdn-20.abc.com", "source-of-truth", "RO");
-
- expectedResult.add(pserver1);
- expectedResult.add(pserver3);
+ }
- }
+ @Override
+ protected String getQueryName() {
+ return "pserver-fromFqdnFirstToken";
+ }
- @Override
- protected String getQueryName() {
- return "pserver-fromFqdnFirstToken";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "pserver");
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","pserver");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("fqdnFirstToken", "fqdn-1");
+ params.put("sourcesOfTruth", "RCT', 'AAIRctFeed"); // placement of single quotes is
+ // intentional, values between the first
+ // and last values must be in single
+ // quotes
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("fqdnFirstToken", "fqdn-1");
- params.put("sourcesOfTruth", "RCT', 'AAIRctFeed"); //placement of single quotes is intentional, values between the first and last values must be in single quotes
-
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromHostnameFirstTokenTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromHostnameFirstTokenTest.java
index 9fe290b..680bba9 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromHostnameFirstTokenTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverFromHostnameFirstTokenTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
*/
package org.onap.aai.rest.search;
-
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -31,45 +30,52 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PserverFromHostnameFirstTokenTest extends QueryTest {
- public PserverFromHostnameFirstTokenTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public PserverFromHostnameFirstTokenTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
- @Test
- public void test() {
- super.run();
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "hostname-1.abc.com", "source-of-truth", "RO");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "hostname-2.abc.com", "source-of-truth", "RO");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver",
+ "hostname", "hostname-13.abc.com", "source-of-truth", "AAI-EXTENSIONS");
+ Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver",
+ "hostname", "hostname-12.abc.com", "source-of-truth", "RCT");
+ Vertex pserver5 = graph.addVertex(T.label, "pserver", T.id, "8", "aai-node-type", "pserver",
+ "hostname", "hostname-20.abc.com", "source-of-truth", "RO");
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "hostname-1.abc.com", "source-of-truth", "RO");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "hostname-2.abc.com", "source-of-truth", "RO");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver", "hostname", "hostname-13.abc.com", "source-of-truth", "AAI-EXTENSIONS");
- Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver", "hostname", "hostname-12.abc.com", "source-of-truth", "RCT");
- Vertex pserver5 = graph.addVertex(T.label, "pserver", T.id, "8", "aai-node-type", "pserver", "hostname", "hostname-20.abc.com", "source-of-truth", "RO");
+ expectedResult.add(pserver1);
+ expectedResult.add(pserver3);
-
- expectedResult.add(pserver1);
- expectedResult.add(pserver3);
+ }
- }
+ @Override
+ protected String getQueryName() {
+ return "pserver-fromHostnameFirstToken";
+ }
- @Override
- protected String getQueryName() {
- return "pserver-fromHostnameFirstToken";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "pserver");
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","pserver");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("hostnameFirstToken", "hostname-1");
+ params.put("sourcesOfTruth", "RO', 'AAI-EXTENSIONS"); // placement of single quotes is
+ // intentional, values between the
+ // first and last values must be in
+ // single quotes
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("hostnameFirstToken", "hostname-1");
- params.put("sourcesOfTruth", "RO', 'AAI-EXTENSIONS"); //placement of single quotes is intentional, values between the first and last values must be in single quotes
-
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationFilterInterfaceIdTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationFilterInterfaceIdTest.java
index eb0fd25..26f5005 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationFilterInterfaceIdTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationFilterInterfaceIdTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,83 +26,94 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PserverfromConfigurationFilterInterfaceIdTest extends QueryTest {
- public PserverfromConfigurationFilterInterfaceIdTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public PserverfromConfigurationFilterInterfaceIdTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "1", "aai-node-type",
+ "configuration", "configuration-id", "configuration1");
+ Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "3", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex loglink1 =
+ graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link",
+ "link-name", "loglink1", "in-maint", "false", "link-type", "link-type1");
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false", "interface-id", "interface-id1");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "17", "aai-node-type", "pnf",
+ "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
- // Set up the test graph
- Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "1", "aai-node-type", "configuration", "configuration-id", "configuration1");
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "3", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link", "link-name", "loglink1", "in-maint", "false",
- "link-type", "link-type1");
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface", "interface-name", "lint1", "is-port-mirrored", "true",
- "in-maint", "true", "is-ip-unnumbered", "false", "interface-id", "interface-id1");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "17", "aai-node-type", "pnf", "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model",
- "equip-model1");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- // Following are extra nodes that should not be picked up in
- // expectedResults
- Vertex config2 = graph.addVertex(T.label, "configuration", T.id, "11", "aai-node-type", "configuration", "configuration-id", "configuration2");
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "12", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex loglink2 = graph.addVertex(T.label, "logical-link", T.id, "14", "aai-node-type", "logical-link", "link-name", "loglink2", "in-maint", "false",
- "link-type", "link-type2");
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface", "interface-name", "lint1", "is-port-mirrored",
- "true", "in-maint", "true", "is-ip-unnumbered", "false", "interface-id", "interface-id2");
+ // Following are extra nodes that should not be picked up in
+ // expectedResults
+ Vertex config2 = graph.addVertex(T.label, "configuration", T.id, "11", "aai-node-type",
+ "configuration", "configuration-id", "configuration2");
+ Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "12", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type",
+ "pserver", "hostname", "pservername2");
+ Vertex loglink2 =
+ graph.addVertex(T.label, "logical-link", T.id, "14", "aai-node-type", "logical-link",
+ "link-name", "loglink2", "in-maint", "false", "link-type", "link-type2");
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false", "interface-id", "interface-id2");
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, config1, loglink1);
- rules.addEdge(g, config1, loglink2);
- rules.addEdge(g, lint1, loglink1);
- rules.addEdge(g, lint2, loglink1);
- rules.addTreeEdge(g, vserver1,lint1);
- rules.addEdge(g, vserver1, pserver1);
- rules.addEdge(g, loglink1, gvnf1);
- rules.addEdge(g, gvnf1, pnf1);
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, config1, loglink1);
+ rules.addEdge(g, config1, loglink2);
+ rules.addEdge(g, lint1, loglink1);
+ rules.addEdge(g, lint2, loglink1);
+ rules.addTreeEdge(g, vserver1, lint1);
+ rules.addEdge(g, vserver1, pserver1);
+ rules.addEdge(g, loglink1, gvnf1);
+ rules.addEdge(g, gvnf1, pnf1);
- // These should not be picked up in expectedResults
- //rules.addEdge(g, config2, loglink2);
- rules.addEdge(g, loglink2, pserver2);
- rules.addEdge(g, loglink2, gvnf2);
+ // These should not be picked up in expectedResults
+ // rules.addEdge(g, config2, loglink2);
+ rules.addEdge(g, loglink2, pserver2);
+ rules.addEdge(g, loglink2, gvnf2);
- // Note lint2 is not in expectedResults as the filter is based on
- // interface-id1
- expectedResult.add(config1);
- expectedResult.add(lint1);
- expectedResult.add(pserver1);
- expectedResult.add(gvnf1);
- expectedResult.add(pnf1);
+ // Note lint2 is not in expectedResults as the filter is based on
+ // interface-id1
+ expectedResult.add(config1);
+ expectedResult.add(lint1);
+ expectedResult.add(pserver1);
+ expectedResult.add(gvnf1);
+ expectedResult.add(pnf1);
- }
+ }
- @Override
- protected String getQueryName() {
- return "pserver-fromConfigurationFilterInterfaceId";
- }
+ @Override
+ protected String getQueryName() {
+ return "pserver-fromConfigurationFilterInterfaceId";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("configuration-id", "configuration1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("configuration-id", "configuration1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("interfaceId", "interface-id1");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("interfaceId", "interface-id1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationTest.java
index 8a39e1d..5808866 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserverfromConfigurationTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,83 +26,93 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PserverfromConfigurationTest extends QueryTest {
- public PserverfromConfigurationTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public PserverfromConfigurationTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- // Set up the test graph
- Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "1", "aai-node-type", "configuration", "configuration-id", "configuration1");
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "3", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex loglink1 = graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link", "link-name", "loglink1", "in-maint", "false",
- "link-type", "link-type1");
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface", "interface-name", "lint1", "is-port-mirrored", "true",
- "in-maint", "true", "is-ip-unnumbered", "false", "interface-id", "interface-id1");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "17", "aai-node-type", "pnf", "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model",
- "equip-model1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ // Set up the test graph
+ Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "1", "aai-node-type",
+ "configuration", "configuration-id", "configuration1");
+ Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "3", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex loglink1 =
+ graph.addVertex(T.label, "logical-link", T.id, "4", "aai-node-type", "logical-link",
+ "link-name", "loglink1", "in-maint", "false", "link-type", "link-type1");
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false", "interface-id", "interface-id1");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "17", "aai-node-type", "pnf",
+ "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "22", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- // Following are extra nodes that should not be picked up in
- // expectedResults
- Vertex config2 = graph.addVertex(T.label, "configuration", T.id, "11", "aai-node-type", "configuration", "configuration-id", "configuration2");
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "12", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex loglink2 = graph.addVertex(T.label, "logical-link", T.id, "14", "aai-node-type", "logical-link", "link-name", "loglink2", "in-maint", "false",
- "link-type", "link-type2");
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "16", "aai-node-type", "l-interface", "interface-name", "lint1", "is-port-mirrored",
- "true", "in-maint", "true", "is-ip-unnumbered", "false", "interface-id", "interface-id2");
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "18", "aai-node-type", "pnf", "pnf-name", "pnf2name", "equip-vendor", "equip-vendor2", "equip-model",
- "equip-model2");
+ // Following are extra nodes that should not be picked up in
+ // expectedResults
+ Vertex config2 = graph.addVertex(T.label, "configuration", T.id, "11", "aai-node-type",
+ "configuration", "configuration-id", "configuration2");
+ Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "12", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type",
+ "pserver", "hostname", "pservername2");
+ Vertex loglink2 =
+ graph.addVertex(T.label, "logical-link", T.id, "14", "aai-node-type", "logical-link",
+ "link-name", "loglink2", "in-maint", "false", "link-type", "link-type2");
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "16", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false", "interface-id", "interface-id2");
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "18", "aai-node-type", "pnf",
+ "pnf-name", "pnf2name", "equip-vendor", "equip-vendor2", "equip-model", "equip-model2");
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, config1, loglink1);
- rules.addEdge(g, lint1, loglink1);
- rules.addEdge(g, lint2, loglink1);
- rules.addTreeEdge(g, vserver1,lint1);
- rules.addEdge(g, vserver1, pserver1);
- rules.addEdge(g, loglink1, gvnf1);
- rules.addEdge(g, gvnf1, pnf1);
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, config1, loglink1);
+ rules.addEdge(g, lint1, loglink1);
+ rules.addEdge(g, lint2, loglink1);
+ rules.addTreeEdge(g, vserver1, lint1);
+ rules.addEdge(g, vserver1, pserver1);
+ rules.addEdge(g, loglink1, gvnf1);
+ rules.addEdge(g, gvnf1, pnf1);
- // These should not be picked up in expectedResults
- rules.addEdge(g, config2, loglink2);
- rules.addEdge(g, loglink2, pserver2);
- rules.addEdge(g, loglink2, gvnf2);
- rules.addEdge(g, gvnf2, pnf2);
+ // These should not be picked up in expectedResults
+ rules.addEdge(g, config2, loglink2);
+ rules.addEdge(g, loglink2, pserver2);
+ rules.addEdge(g, loglink2, gvnf2);
+ rules.addEdge(g, gvnf2, pnf2);
- expectedResult.add(config1);
- expectedResult.add(lint1);
- expectedResult.add(lint2);
- expectedResult.add(pserver1);
- expectedResult.add(gvnf1);
- expectedResult.add(pnf1);
+ expectedResult.add(config1);
+ expectedResult.add(lint1);
+ expectedResult.add(lint2);
+ expectedResult.add(pserver1);
+ expectedResult.add(gvnf1);
+ expectedResult.add(pnf1);
- }
+ }
- @Override
- protected String getQueryName() {
- return "pserver-fromConfiguration";
- }
+ @Override
+ protected String getQueryName() {
+ return "pserver-fromConfiguration";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("configuration-id", "configuration1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("configuration-id", "configuration1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversFromVnfQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversFromVnfQueryTest.java
index b7e913c..85f47b2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversFromVnfQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversFromVnfQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,64 +26,74 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PserversFromVnfQueryTest extends QueryTest {
- public PserversFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli");
-
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver", "hostname", "pservername1");
-
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "pservername3");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver", "vserver-name", "vservername");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "7", "aai-node-type", "tenant", "tenant-id", "tenantuuid", "tenant-name", "tenantname");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "8", "aai-node-type", "cloud-region", "cloud-region-id", "clouduuid", "cloud-region-owner", "cloudOwnername");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver1, complex);
- rules.addEdge(g, pserver2, complex);
-
- rules.addEdge(g, pserver1, vnf1);
- rules.addEdge(g, pserver2, vnf2);
-
- rules.addEdge(g, pserver3, complex);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addEdge(g, vserver, pserver3);
- rules.addEdge(g, vserver, vnf2);
-
- expectedResult.add(pserver2);
- expectedResult.add(pserver3);
-
- }
- @Override
- protected String getQueryName() {
- return "pservers-fromVnf";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("vnf-id", "vnfid2");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public PserversFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli");
+
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pservername2");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pservername3");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver",
+ "vserver-name", "vservername");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "7", "aai-node-type", "tenant",
+ "tenant-id", "tenantuuid", "tenant-name", "tenantname");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "8", "aai-node-type",
+ "cloud-region", "cloud-region-id", "clouduuid", "cloud-region-owner", "cloudOwnername");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver1, complex);
+ rules.addEdge(g, pserver2, complex);
+
+ rules.addEdge(g, pserver1, vnf1);
+ rules.addEdge(g, pserver2, vnf2);
+
+ rules.addEdge(g, pserver3, complex);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addEdge(g, vserver, pserver3);
+ rules.addEdge(g, vserver, vnf2);
+
+ expectedResult.add(pserver2);
+ expectedResult.add(pserver3);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "pservers-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("vnf-id", "vnfid2");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversWithNoComplexTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversWithNoComplexTest.java
index cfd6e05..8340417 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversWithNoComplexTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/PserversWithNoComplexTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,50 +31,55 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class PserversWithNoComplexTest extends QueryTest {
- public PserversWithNoComplexTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
+ public PserversWithNoComplexTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "3", "aai-node-type", "pserver", "hostname", "pservername3");
- Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pservername4");
- Vertex pserver5 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "pservername5");
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
- "physical-location-id", "physical-location-id-1", "country", "US");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "7", "aai-node-type", "complex",
- "physical-location-id", "physical-location-id-2", "country", "USA");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver4,complex1);
- rules.addEdge(g, pserver5,complex2);
-
- expectedResult.add(pserver1);
- expectedResult.add(pserver2);
- expectedResult.add(pserver3);
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected String getQueryName() {
- return "pservers-withNoComplex";
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver",
+ "hostname", "pservername2");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "3", "aai-node-type", "pserver",
+ "hostname", "pservername3");
+ Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pservername4");
+ Vertex pserver5 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pservername5");
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1", "country", "US");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "7", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2", "country", "USA");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- return;
-
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver4, complex1);
+ rules.addEdge(g, pserver5, complex2);
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ expectedResult.add(pserver1);
+ expectedResult.add(pserver2);
+ expectedResult.add(pserver3);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "pservers-withNoComplex";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ return;
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryCountTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryCountTest.java
index 9ab2284..3d35eb2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryCountTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryCountTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,32 +19,33 @@
*/
package org.onap.aai.rest.search;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.onap.aai.exceptions.AAIException;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.onap.aai.exceptions.AAIException;
public abstract class QueryCountTest extends QueryTest {
- //listOfMapEntryForCoutnQueries is for when the query returns a HashMap, not a Vertex
- protected List<Map.Entry<String, Long>> listOfMapEntryForCoutnQueries;
-
+ // listOfMapEntryForCoutnQueries is for when the query returns a HashMap, not a Vertex
+ protected List<Map.Entry<String, Long>> listOfMapEntryForCoutnQueries;
- public QueryCountTest() throws AAIException {
- super();
- }
+ public QueryCountTest() throws AAIException {
+ super();
+ }
- @Override
- public void run() {
- GraphTraversal<HashMap<String,Long>, HashMap<String,Long>> result = (GraphTraversal<HashMap<String,Long>, HashMap<String,Long>>)shell.executeTraversal(query, params);
+ @Override
+ public void run() {
+ GraphTraversal<HashMap<String, Long>, HashMap<String, Long>> result =
+ (GraphTraversal<HashMap<String, Long>, HashMap<String, Long>>) shell
+ .executeTraversal(query, params);
- assertThat("all hash maps found", listOfMapEntryForCoutnQueries, is(result.toList()));
+ assertThat("all hash maps found", listOfMapEntryForCoutnQueries, is(result.toList()));
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelByRegionTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelByRegionTest.java
index 52cc19a..9570de2 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelByRegionTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelByRegionTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,83 +29,86 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class QueryPnfFromModelByRegionTest extends QueryTest {
- public QueryPnfFromModelByRegionTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //serviceInstance 1,2,3 are good and 4 is bad based upon the filters
- Vertex serviceInst1 = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id",
- "service-instance1", "model-invariant-id", "miid1", "model-version-id", "mvid1");
- Vertex serviceInst2 = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type", "service-instance", "service-instance-id",
- "service-instance2", "model-invariant-id", "miid1", "model-version-id", "mvid1");
- Vertex serviceInst3 = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id",
- "service-instance3", "model-invariant-id", "miid1", "model-version-id", "mvid1");
- Vertex serviceInst4 = graph.addVertex(T.label, "service-instance", T.id, "4", "aai-node-type", "service-instance", "service-instance-id",
- "service-instance4", "model-invariant-id", "miid2", "model-version-id", "mvid2");
-
- //pnf 1,2 & 3 are good based upon the filters
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "5", "aai-node-type", "pnf", "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model",
- "equip-model1");
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "6", "aai-node-type", "pnf", "pnf-name", "pnf2name", "equip-vendor", "equip-vendor1", "equip-model",
- "equip-model1");
- Vertex pnf3 = graph.addVertex(T.label, "pnf", T.id, "7", "aai-node-type", "pnf", "pnf-name", "pnf3name", "equip-vendor", "equip-vendor1", "equip-model",
- "equip-model1");
- Vertex pnf4 = graph.addVertex(T.label, "pnf", T.id, "12", "aai-node-type", "pnf", "pnf-name", "pnf4name", "equip-vendor", "equip-vendor4",
- "equip-model", "equip-model4");
-
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex", "physical-location-id", "physical-location-id-1");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "9", "aai-node-type", "complex", "physical-location-id", "physical-location-id-2");
-
- //cr 1 is good based upon the filter
- Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region1");
- Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region2");
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, serviceInst1, pnf1);
- rules.addEdge(g, serviceInst2, pnf2);
- rules.addEdge(g, serviceInst3, pnf3);
- rules.addEdge(g, serviceInst4, pnf4);
-
- rules.addEdge(g, pnf1, complex1);
- rules.addEdge(g, pnf2, complex1);
- rules.addEdge(g, pnf3, complex2);
- rules.addEdge(g, pnf4, complex2);
-
- rules.addEdge(g, cloudRegion1, complex1);
- rules.addEdge(g, cloudRegion2, complex2);
-
-
- expectedResult.add(pnf1);
- expectedResult.add(pnf2);
- }
-
- @Override
- protected String getQueryName() {
- return "pnf-fromModel-byRegion";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("model-invariant-id", "miid1").has("model-version-id", "mvid1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("cloudRegionId", "cloud-region1");
- params.put("equipVendor", "equip-vendor1");
- params.put("equipModel", "equip-model1");
- }
+ public QueryPnfFromModelByRegionTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // serviceInstance 1,2,3 are good and 4 is bad based upon the filters
+ Vertex serviceInst1 = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance1",
+ "model-invariant-id", "miid1", "model-version-id", "mvid1");
+ Vertex serviceInst2 = graph.addVertex(T.label, "service-instance", T.id, "2",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance2",
+ "model-invariant-id", "miid1", "model-version-id", "mvid1");
+ Vertex serviceInst3 = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance3",
+ "model-invariant-id", "miid1", "model-version-id", "mvid1");
+ Vertex serviceInst4 = graph.addVertex(T.label, "service-instance", T.id, "4",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance4",
+ "model-invariant-id", "miid2", "model-version-id", "mvid2");
+
+ // pnf 1,2 & 3 are good based upon the filters
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "5", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "6", "aai-node-type", "pnf", "pnf-name",
+ "pnf2name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
+ Vertex pnf3 = graph.addVertex(T.label, "pnf", T.id, "7", "aai-node-type", "pnf", "pnf-name",
+ "pnf3name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
+ Vertex pnf4 = graph.addVertex(T.label, "pnf", T.id, "12", "aai-node-type", "pnf",
+ "pnf-name", "pnf4name", "equip-vendor", "equip-vendor4", "equip-model", "equip-model4");
+
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "9", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-2");
+
+ // cr 1 is good based upon the filter
+ Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region1");
+ Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, serviceInst1, pnf1);
+ rules.addEdge(g, serviceInst2, pnf2);
+ rules.addEdge(g, serviceInst3, pnf3);
+ rules.addEdge(g, serviceInst4, pnf4);
+
+ rules.addEdge(g, pnf1, complex1);
+ rules.addEdge(g, pnf2, complex1);
+ rules.addEdge(g, pnf3, complex2);
+ rules.addEdge(g, pnf4, complex2);
+
+ rules.addEdge(g, cloudRegion1, complex1);
+ rules.addEdge(g, cloudRegion2, complex2);
+
+ expectedResult.add(pnf1);
+ expectedResult.add(pnf2);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "pnf-fromModel-byRegion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("model-invariant-id", "miid1").has("model-version-id", "mvid1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("cloudRegionId", "cloud-region1");
+ params.put("equipVendor", "equip-vendor1");
+ params.put("equipModel", "equip-model1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelTest.java
index 95290fb..e7df71e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryPnfFromModelTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,55 +29,52 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class QueryPnfFromModelTest extends QueryTest {
- public QueryPnfFromModelTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public QueryPnfFromModelTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex serviceInst1 = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id",
- "service-instance1", "model-invariant-id", "miid1", "model-version-id", "mvid1");
- Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "2", "aai-node-type", "pnf", "pnf-name", "pnf1name", "equip-vendor", "equip-vendor1", "equip-model",
- "equip-model1");
-
- Vertex serviceInst2 = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id",
- "service-instance2", "model-invariant-id", "miid2", "model-version-id", "mvid2");
- Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "4", "aai-node-type", "pnf", "pnf-name", "pnf2name", "equip-vendor", "equip-vendor2", "equip-model",
- "equip-model2");
+ Vertex serviceInst1 = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance1",
+ "model-invariant-id", "miid1", "model-version-id", "mvid1");
+ Vertex pnf1 = graph.addVertex(T.label, "pnf", T.id, "2", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name", "equip-vendor", "equip-vendor1", "equip-model", "equip-model1");
+ Vertex serviceInst2 = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance2",
+ "model-invariant-id", "miid2", "model-version-id", "mvid2");
+ Vertex pnf2 = graph.addVertex(T.label, "pnf", T.id, "4", "aai-node-type", "pnf", "pnf-name",
+ "pnf2name", "equip-vendor", "equip-vendor2", "equip-model", "equip-model2");
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, serviceInst1, pnf1);
-
- rules.addEdge(g, serviceInst2, pnf2);//false
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, serviceInst1, pnf1);
+ rules.addEdge(g, serviceInst2, pnf2);// false
- expectedResult.add(pnf1);
- }
+ expectedResult.add(pnf1);
+ }
- @Override
- protected String getQueryName() {
- return "pnf-from-model";
- }
+ @Override
+ protected String getQueryName() {
+ return "pnf-from-model";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("model-invariant-id", "miid1").has("model-version-id", "mvid1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("model-invariant-id", "miid1").has("model-version-id", "mvid1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("equipVendor", "equip-vendor1");
- params.put("equipModel", "equip-model1");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("equipVendor", "equip-vendor1");
+ params.put("equipModel", "equip-model1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java
index f96d4c5..317eb4c 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,9 +19,15 @@
*/
package org.onap.aai.rest.search;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.when;
+
import com.att.eelf.configuration.EELFManager;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.Graph;
@@ -47,167 +53,152 @@ import org.onap.aai.introspection.Loader;
import org.onap.aai.introspection.LoaderFactory;
import org.onap.aai.introspection.ModelType;
import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.query.builder.GremlinTraversal;
+import org.onap.aai.restcore.search.GremlinGroovyShell;
+import org.onap.aai.restcore.search.GroovyQueryBuilder;
+import org.onap.aai.serialization.db.EdgeSerializer;
+import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
import org.onap.aai.setup.AAIConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
import org.onap.aai.setup.SchemaLocationsBean;
import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule;
-import org.onap.aai.query.builder.GremlinTraversal;
-import org.onap.aai.restcore.search.GremlinGroovyShell;
-import org.onap.aai.restcore.search.GroovyQueryBuilder;
-import org.onap.aai.serialization.db.EdgeSerializer;
-import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
@RunWith(Parameterized.class)
-@ContextConfiguration(classes = {
- ConfigConfiguration.class,
- AAIConfigTranslator.class,
- EdgeIngestor.class,
- EdgeSerializer.class,
- NodeIngestor.class,
- SpringContextAware.class,
- SearchConfiguration.class,
- IntrospectionConfig.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.ingest.file = src/test/resources/application-test.properties"
-})
+@ContextConfiguration(
+ classes = {ConfigConfiguration.class, AAIConfigTranslator.class, EdgeIngestor.class,
+ EdgeSerializer.class, NodeIngestor.class, SpringContextAware.class,
+ SearchConfiguration.class, IntrospectionConfig.class})
+@TestPropertySource(
+ properties = {"schema.uri.base.path = /aai",
+ "schema.ingest.file = src/test/resources/application-test.properties"})
public abstract class QueryTest {
- @ClassRule
+ @ClassRule
public static final SpringClassRule springClassRule = new SpringClassRule();
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
- protected Logger logger;
- protected Graph graph;
- protected GremlinGroovyShell shell;
- @Mock protected TransactionalGraphEngine dbEngine;
- protected final List<Vertex> expectedResult = new ArrayList<>();
-
- @Autowired
- protected EdgeIngestor edgeRules;
-
- @Autowired
- protected EdgeSerializer rules;
-
- @Autowired
- protected LoaderFactory loaderFactory;
-
- @Autowired
- protected SchemaConfigVersions schemaVersions;
-
- @Autowired
- protected GremlinServerSingleton gremlinServerSingleton;
-
- protected Loader loader;
- protected GraphTraversalSource gts;
-
- @Parameterized.Parameter(value = 0)
- public SchemaVersion version;
-
- @Parameterized.Parameters(name = "Version.{0}")
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {new SchemaVersion("v11")},
- {new SchemaVersion("v12")},
- {new SchemaVersion("v13")},
- {new SchemaVersion("v14")}
- });
- }
-
- protected String query;
-
- LinkedHashMap <String, Object> params;
-
- @BeforeClass
- public static void setupBundleconfig() {
- System.setProperty("AJSC_HOME", "./");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
- }
-
- @Before
- public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
- logger = LoggerFactory.getLogger(getClass());
- MockitoAnnotations.initMocks(this);
- graph = TinkerGraph.open();
- gts = graph.traversal();
- createGraph();
- shell = new GremlinGroovyShell();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
- setUpQuery();
- }
-
-
- protected void setUpQuery() {
- query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
- params = new LinkedHashMap <>();
- addParam(params);
- when(dbEngine.getQueryBuilder(any(QueryStyle.class))).thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
- logger.info("Stored query in abstraction form {}", query);
- query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
- logger.info("After converting to gremlin query {}", query);
- query = "g" + query;
- GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
- addStartNode(g);
- params.put("g", g);
- }
-
- public void run() {
-
- GraphTraversal<Vertex, Vertex> result = (GraphTraversal<Vertex, Vertex>)shell.executeTraversal(query, params);
-
- List<Vertex> vertices = result.toList();
-
- logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
- logger.info("Actual Result set of vertexes [{}]", convert(vertices));
-
- List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
- vertices = new ArrayList<>(new HashSet<>(vertices));
-
- nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
- vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
-
-
- // Use this instead of the assertTrue as this provides more useful
- // debugging information such as this when expected and actual differ:
- // java.lang.AssertionError: Expected all the vertices to be found
- // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
- // Actual :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
- assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
-
- }
-
- protected String convert(List<Vertex> vertices){
- return vertices
- .stream()
- .map(vertex -> vertex.property("aai-node-type").value().toString())
- .collect(Collectors.joining(","));
- }
-
- protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
-
- protected abstract String getQueryName();
-
- protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
+ protected Logger logger;
+ protected Graph graph;
+ protected GremlinGroovyShell shell;
+ @Mock
+ protected TransactionalGraphEngine dbEngine;
+ protected final List<Vertex> expectedResult = new ArrayList<>();
+
+ @Autowired
+ protected EdgeIngestor edgeRules;
+
+ @Autowired
+ protected EdgeSerializer rules;
+
+ @Autowired
+ protected LoaderFactory loaderFactory;
+
+ @Autowired
+ protected SchemaConfigVersions schemaVersions;
+
+ @Autowired
+ protected GremlinServerSingleton gremlinServerSingleton;
+
+ protected Loader loader;
+ protected GraphTraversalSource gts;
+
+ @Parameterized.Parameter(value = 0)
+ public SchemaVersion version;
+
+ @Parameterized.Parameters(name = "Version.{0}")
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][] {{new SchemaVersion("v11")}, {new SchemaVersion("v12")},
+ {new SchemaVersion("v13")}, {new SchemaVersion("v14")}});
+ }
+
+ protected String query;
+
+ LinkedHashMap<String, Object> params;
+
+ @BeforeClass
+ public static void setupBundleconfig() {
+ System.setProperty("AJSC_HOME", "./");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
+ }
+
+ @Before
+ public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException,
+ AmbiguousRuleChoiceException {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
+ logger = LoggerFactory.getLogger(getClass());
+ MockitoAnnotations.initMocks(this);
+ graph = TinkerGraph.open();
+ gts = graph.traversal();
+ createGraph();
+ shell = new GremlinGroovyShell();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
+ setUpQuery();
+ }
+
+ protected void setUpQuery() {
+ query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
+ params = new LinkedHashMap<>();
+ addParam(params);
+ when(dbEngine.getQueryBuilder(any(QueryStyle.class)))
+ .thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
+ logger.info("Stored query in abstraction form {}", query);
+ query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
+ logger.info("After converting to gremlin query {}", query);
+ query = "g" + query;
+ GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
+ addStartNode(g);
+ params.put("g", g);
+ }
+
+ public void run() {
+
+ GraphTraversal<Vertex, Vertex> result =
+ (GraphTraversal<Vertex, Vertex>) shell.executeTraversal(query, params);
+
+ List<Vertex> vertices = result.toList();
+
+ logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
+ logger.info("Actual Result set of vertexes [{}]", convert(vertices));
+
+ List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
+ vertices = new ArrayList<>(new HashSet<>(vertices));
+
+ nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+ vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+
+ // Use this instead of the assertTrue as this provides more useful
+ // debugging information such as this when expected and actual differ:
+ // java.lang.AssertionError: Expected all the vertices to be found
+ // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+ // Actual :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+ assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
+
+ }
+
+ protected String convert(List<Vertex> vertices) {
+ return vertices.stream().map(vertex -> vertex.property("aai-node-type").value().toString())
+ .collect(Collectors.joining(","));
+ }
+
+ protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException,
+ EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
- protected abstract void addParam(Map<String, Object> params);
+ protected abstract String getQueryName();
+
+ protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
+
+ protected abstract void addParam(Map<String, Object> params);
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryVnfFromModelByRegionTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryVnfFromModelByRegionTest.java
index b79ea2f..4758ba0 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryVnfFromModelByRegionTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryVnfFromModelByRegionTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,72 +29,80 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class QueryVnfFromModelByRegionTest extends QueryTest {
- public QueryVnfFromModelByRegionTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public QueryVnfFromModelByRegionTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex serviceInst1 = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance1",
+ "model-invariant-id", "miid1", "model-version-id", "mvid1");
+ Vertex serviceInst2 = graph.addVertex(T.label, "service-instance", T.id, "12",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance2",
+ "model-invariant-id", "miid2", "model-version-id", "mvid2");
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex serviceInst1 = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance",
- "service-instance-id", "service-instance1", "model-invariant-id", "miid1", "model-version-id", "mvid1");
- Vertex serviceInst2 = graph.addVertex(T.label, "service-instance", T.id, "12", "aai-node-type", "service-instance",
- "service-instance-id", "service-instance2", "model-invariant-id", "miid2", "model-version-id", "mvid2");
+ Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "generic-vnf-id", "generic-vnf1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver1");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenant1");
+ Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region1");
- Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "generic-vnf-id", "generic-vnf1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver1");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenant1");
- Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region1");
+ // Right invariant and version IDs, wrong cloud region
+ Vertex genericVnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "generic-vnf-id", "generic-vnf2");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserver2");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant",
+ "tenant-id", "tenant2");
+ Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region2");
- // Right invariant and version IDs, wrong cloud region
- Vertex genericVnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type", "generic-vnf",
- "generic-vnf-id", "generic-vnf2");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserver2");
- Vertex tenant2 = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant", "tenant-id", "tenant2");
- Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "9", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region2");
+ // On both the right and the wrong service-instance, with the right cloud-region
+ Vertex genericVnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type",
+ "generic-vnf", "generic-vnf-id", "generic-vnf3");
+ Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type",
+ "vserver", "vserver-id", "vserver3");
- // On both the right and the wrong service-instance, with the right cloud-region
- Vertex genericVnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf",
- "generic-vnf-id", "generic-vnf3");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-id", "vserver3");
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, serviceInst1, genericVnf1);
+ rules.addEdge(g, genericVnf1, vserver1);
+ rules.addTreeEdge(g, tenant1, vserver1);
+ rules.addTreeEdge(g, cloudRegion1, tenant1);
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, serviceInst1, genericVnf1);
- rules.addEdge(g, genericVnf1, vserver1);
- rules.addTreeEdge(g, tenant1, vserver1);
- rules.addTreeEdge(g, cloudRegion1, tenant1);
+ rules.addEdge(g, serviceInst1, genericVnf2);
+ rules.addEdge(g, genericVnf2, vserver2);
+ rules.addTreeEdge(g, tenant2, vserver2);
+ rules.addTreeEdge(g, cloudRegion2, tenant2);
- rules.addEdge(g, serviceInst1, genericVnf2);
- rules.addEdge(g, genericVnf2, vserver2);
- rules.addTreeEdge(g, tenant2, vserver2);
- rules.addTreeEdge(g, cloudRegion2, tenant2);
-
- rules.addEdge(g, serviceInst2, genericVnf3);
- rules.addEdge(g, genericVnf3, vserver3);
- rules.addTreeEdge(g, tenant1, vserver3);
+ rules.addEdge(g, serviceInst2, genericVnf3);
+ rules.addEdge(g, genericVnf3, vserver3);
+ rules.addTreeEdge(g, tenant1, vserver3);
- expectedResult.add(genericVnf1);
- }
+ expectedResult.add(genericVnf1);
+ }
- @Override
- protected String getQueryName() {
- return "queryvnfFromModelbyRegion";
- }
+ @Override
+ protected String getQueryName() {
+ return "queryvnfFromModelbyRegion";
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("model-invariant-id", "miid1").has("model-version-id", "mvid1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("model-invariant-id", "miid1").has("model-version-id", "mvid1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("cloudRegionId", "cloud-region1");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("cloudRegionId", "cloud-region1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToBothCousinAndTreeCustomQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToBothCousinAndTreeCustomQueryTest.java
index f2c6369..c1137a7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToBothCousinAndTreeCustomQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToBothCousinAndTreeCustomQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,9 @@
* ============LICENSE_END=========================================================
*/
package org.onap.aai.rest.search;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,11 +30,10 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.query.builder.MissingOptionalParameter;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
-public class RelatedToBothCousinAndTreeCustomQueryTest extends QueryTest{
+public class RelatedToBothCousinAndTreeCustomQueryTest extends QueryTest {
- public RelatedToBothCousinAndTreeCustomQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ public RelatedToBothCousinAndTreeCustomQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
super();
}
@@ -39,17 +41,25 @@ public class RelatedToBothCousinAndTreeCustomQueryTest extends QueryTest{
public void run() {
super.run();
}
+
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex lagInterface1 = graph.addVertex(T.label, "lag-interface", T.id, "1", "aai-node-type", "lag-interface", "interface-name", "lag-int1");
+ Vertex lagInterface1 = graph.addVertex(T.label, "lag-interface", T.id, "1", "aai-node-type",
+ "lag-interface", "interface-name", "lag-int1");
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "interface-name", "l-interfaceid01");
- Vertex lInterface2 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface", "interface-name", "l-interfaceid02");
- Vertex lInterface3 = graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface", "interface-name", "l-interfaceid03");
- Vertex lInterface4 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type", "l-interface", "interface-name", "l-interfaceid04");
- Vertex lInterface5 = graph.addVertex(T.label, "l-interface", T.id, "6", "aai-node-type", "l-interface", "interface-name", "l-interfaceid05");
- Vertex lInterface6 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface", "interface-name", "l-interfaceid06");
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "interface-name", "l-interfaceid01");
+ Vertex lInterface2 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type",
+ "l-interface", "interface-name", "l-interfaceid02");
+ Vertex lInterface3 = graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type",
+ "l-interface", "interface-name", "l-interfaceid03");
+ Vertex lInterface4 = graph.addVertex(T.label, "l-interface", T.id, "5", "aai-node-type",
+ "l-interface", "interface-name", "l-interfaceid04");
+ Vertex lInterface5 = graph.addVertex(T.label, "l-interface", T.id, "6", "aai-node-type",
+ "l-interface", "interface-name", "l-interfaceid05");
+ Vertex lInterface6 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type",
+ "l-interface", "interface-name", "l-interfaceid06");
GraphTraversalSource g = graph.traversal();
rules.addEdge(g, lagInterface1, lInterface1);
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToCustomQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToCustomQueryTest.java
index 5147268..0d63115 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToCustomQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToCustomQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,9 @@
* ============LICENSE_END=========================================================
*/
package org.onap.aai.rest.search;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -26,8 +29,7 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-public class RelatedToCustomQueryTest extends QueryTest{
+public class RelatedToCustomQueryTest extends QueryTest {
public RelatedToCustomQueryTest() throws AAIException, NoEdgeRuleFoundException {
super();
@@ -37,14 +39,20 @@ public class RelatedToCustomQueryTest extends QueryTest{
public void run() {
super.run();
}
+
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id", "vserverid01");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid02");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver", "vserver-id", "vserverid03");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver",
+ "vserver-id", "vserverid01");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid02");
+ Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver",
+ "vserver-id", "vserverid03");
GraphTraversalSource g = graph.traversal();
rules.addEdge(g, genericvnf1, vserver1);
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToTreeCustomQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToTreeCustomQueryTest.java
index 2f31206..f47c9c0 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToTreeCustomQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/RelatedToTreeCustomQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,9 @@
* ============LICENSE_END=========================================================
*/
package org.onap.aai.rest.search;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -26,8 +29,6 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class RelatedToTreeCustomQueryTest extends QueryTest {
public RelatedToTreeCustomQueryTest() throws AAIException, NoEdgeRuleFoundException {
@@ -38,14 +39,20 @@ public class RelatedToTreeCustomQueryTest extends QueryTest {
public void run() {
super.run();
}
+
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf",
+ "vnf-id", "genvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
- Vertex entitlement1 = graph.addVertex(T.label, "entitlement", T.id, "2", "aai-node-type", "entitlement", "group-uuid", "entitlementid01", "resource-uuid", "rentitlementid01");
- Vertex entitlement2 = graph.addVertex(T.label, "entitlement", T.id, "3", "aai-node-type", "entitlement", "group-uuid", "entitlementid02", "resource-uuid", "rentitlementid02");
- Vertex entitlement3 = graph.addVertex(T.label, "entitlement", T.id, "4", "aai-node-type", "entitlement", "group-uuid", "entitlementid03", "resource-uuid", "rentitlementid03");
+ Vertex entitlement1 = graph.addVertex(T.label, "entitlement", T.id, "2", "aai-node-type",
+ "entitlement", "group-uuid", "entitlementid01", "resource-uuid", "rentitlementid01");
+ Vertex entitlement2 = graph.addVertex(T.label, "entitlement", T.id, "3", "aai-node-type",
+ "entitlement", "group-uuid", "entitlementid02", "resource-uuid", "rentitlementid02");
+ Vertex entitlement3 = graph.addVertex(T.label, "entitlement", T.id, "4", "aai-node-type",
+ "entitlement", "group-uuid", "entitlementid03", "resource-uuid", "rentitlementid03");
GraphTraversalSource g = graph.traversal();
rules.addTreeEdge(g, genericvnf1, entitlement1);
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java
index 4332536..672c449 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,16 @@
*/
package org.onap.aai.rest.search;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.*;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.*;
+
+import javax.ws.rs.core.*;
+
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -31,16 +41,7 @@ import org.onap.aai.setup.SchemaVersion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.ws.rs.core.*;
-import java.util.*;
-
-import static org.hamcrest.Matchers.containsString;
-import static org.junit.Assert.*;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class SearchProviderTest extends AAISetup{
+public class SearchProviderTest extends AAISetup {
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -71,21 +72,22 @@ public class SearchProviderTest extends AAISetup{
private List<MediaType> outputMediaTypes;
- private static final Logger logger = LoggerFactory.getLogger(SearchProviderTest.class.getName());
+ private static final Logger logger =
+ LoggerFactory.getLogger(SearchProviderTest.class.getName());
@Before
- public void setup(){
+ public void setup() {
logger.info("Starting the setup for the integration tests of Rest Endpoints");
version = schemaVersions.getDefaultVersion();
-
- searchProvider = new SearchProvider(loaderFactory, searchGraph, schemaVersions, basePath);
- httpHeaders = mock(HttpHeaders.class);
- uriInfo = mock(UriInfo.class);
+
+ searchProvider = new SearchProvider(loaderFactory, searchGraph, schemaVersions, basePath);
+ httpHeaders = mock(HttpHeaders.class);
+ uriInfo = mock(UriInfo.class);
when(uriInfo.getPath()).thenReturn("JUNITURI");
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -101,16 +103,18 @@ public class SearchProviderTest extends AAISetup{
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
- when(httpHeaders.getRequestHeader("X-FromAppId")).thenReturn(Collections.singletonList("JUNIT"));
- when(httpHeaders.getRequestHeader("X-TransactionId")).thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-FromAppId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
+ when(httpHeaders.getRequestHeader("X-TransactionId"))
+ .thenReturn(Collections.singletonList("JUNIT"));
when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList);
-
when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getQueryParameters(false)).thenReturn(queryParameters);
- // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable
+ // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very
+ // unreasonable
Mockito.doReturn(null).when(queryParameters).remove(anyObject());
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
@@ -131,21 +135,14 @@ public class SearchProviderTest extends AAISetup{
when(httpHeaders.getRequestHeader("X-FromAppId")).thenThrow(IllegalArgumentException.class);
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
- Response response = searchProvider.getNodesQueryResponse(
- httpHeaders,
- null,
- "cloud-region",
- keys,
- includeStrings,
- version.toString(),
- uriInfo
- );
+ Response response = searchProvider.getNodesQueryResponse(httpHeaders, null, "cloud-region",
+ keys, includeStrings, version.toString(), uriInfo);
assertNotNull(response);
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
}
- //TODO fix test
+ // TODO fix test
@Ignore("Test has a time dependency and fails based on system perf")
@Test
public void testNodesQueryTimeoutThrown() throws Exception {
@@ -162,15 +159,8 @@ public class SearchProviderTest extends AAISetup{
when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
- Response response = searchProvider.getNodesQueryResponse(
- httpHeaders,
- null,
- "cloud-region",
- keys,
- includeStrings,
- version.toString(),
- uriInfo
- );
+ Response response = searchProvider.getNodesQueryResponse(httpHeaders, null, "cloud-region",
+ keys, includeStrings, version.toString(), uriInfo);
assertNotNull(response);
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
@@ -192,22 +182,15 @@ public class SearchProviderTest extends AAISetup{
when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
- Response response = searchProvider.getNodesQueryResponse(
- httpHeaders,
- null,
- "cloud-region",
- keys,
- includeStrings,
- version.toString(),
- uriInfo
- );
+ Response response = searchProvider.getNodesQueryResponse(httpHeaders, null, "cloud-region",
+ keys, includeStrings, version.toString(), uriInfo);
assertNotNull(response);
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
assertThat(response.getEntity().toString(), containsString("4009"));
}
- //TODO fix test
+ // TODO fix test
@Ignore("Test has a time dependency and fails based on system perf")
@Test
public void testGenericQueryTimeoutThrown() throws Exception {
@@ -225,17 +208,8 @@ public class SearchProviderTest extends AAISetup{
when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes);
-
- Response response = searchProvider.getGenericQueryResponse(
- httpHeaders,
- null,
- "cloud-region",
- keys,
- includeStrings,
- 0,
- version.toString(),
- uriInfo
- );
+ Response response = searchProvider.getGenericQueryResponse(httpHeaders, null,
+ "cloud-region", keys, includeStrings, 0, version.toString(), uriInfo);
assertNotNull(response);
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceFromPserverAndSubsNameTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceFromPserverAndSubsNameTest.java
index 295480b..cfbe65e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceFromPserverAndSubsNameTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceFromPserverAndSubsNameTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,84 +26,103 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ServiceFromPserverAndSubsNameTest extends QueryTest {
- public ServiceFromPserverAndSubsNameTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "pservername01");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver", "hostname", "pservername02-wrong");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid01");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver", "vserver-id", "vserverid02");
- Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver", "vserver-id", "vserverid03");
-
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnfid01");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type", "generic-vnf", "vnf-id", "vnfid02");
- Vertex vnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf", "vnf-id", "vnfid03");
-
- Vertex servinst1 = graph.addVertex(T.label, "service-instance", T.id, "61", "aai-node-type", "service-instance", "service-instance-id", "servInstId01", "service-type", "servType01");
- Vertex servinst2 = graph.addVertex(T.label, "service-instance", T.id, "12", "aai-node-type", "service-instance", "service-instance-id", "servInstId02", "service-type", "servType02", "service-role", "servRole02");
- Vertex servinst3 = graph.addVertex(T.label, "service-instance", T.id, "13", "aai-node-type", "service-instance", "service-instance-id", "servInstId03-wrong", "service-type", "servType03", "service-role", "servRole03");
-
- Vertex servsub1 = graph.addVertex(T.label, "service-subscription", T.id, "14", "aai-node-type", "service-subscription", "service-type", "servType01");
- Vertex servsub2 = graph.addVertex(T.label, "service-subscription", T.id, "15", "aai-node-type", "service-subscription", "service-type", "servType02");
- Vertex servsub3 = graph.addVertex(T.label, "service-subscription", T.id, "16", "aai-node-type", "service-subscription", "service-type", "servType03-wrong");
-
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "17", "aai-node-type", "customer", "global-customer-id", "custid01", "subscriber-name", "subscriberName01");
- Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "18", "aai-node-type", "customer", "global-customer-id", "custid02-wrong", "subscriber-name", "subscriberName-wrong");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, vserver1, pserver1); //true
- rules.addEdge(g, vnf1, vserver1); //true
- rules.addEdge(g, vnf1, servinst1); //true
- rules.addTreeEdge(g, servinst1, servsub1); //true
- rules.addTreeEdge(g, servsub1, customer1); //true
-
- rules.addEdge(g, vserver2, pserver1); //true
- rules.addEdge(g, vnf2, vserver2); //true
- rules.addEdge(g, vnf2, servinst2); //true
- rules.addTreeEdge(g, servinst2, servsub2); //true
- rules.addTreeEdge(g, servsub2, customer1); //true
-
- rules.addEdge(g, vserver3, pserver2); //false
- rules.addEdge(g, vnf3, vserver3); //false
- rules.addEdge(g, vnf3, servinst3); //false
- rules.addTreeEdge(g, servinst3, servsub3); //false
- rules.addTreeEdge(g, servsub3, customer2); //false
-
-
- expectedResult.add(servinst1);
- expectedResult.add(servsub1);
- expectedResult.add(servinst2);
- expectedResult.add(servsub2);
-
- }
-
- @Override
- protected String getQueryName() {
- return "service-fromPserverandSubsName";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","pserver").has("hostname", "pservername01");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("subscriberName","subscriberName01");
- }
+ public ServiceFromPserverAndSubsNameTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "pservername01");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver",
+ "hostname", "pservername02-wrong");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid01");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver",
+ "vserver-id", "vserverid02");
+ Vertex vserver3 = graph.addVertex(T.label, "vserver", T.id, "5", "aai-node-type", "vserver",
+ "vserver-id", "vserverid03");
+
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid01");
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid02");
+ Vertex vnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid03");
+
+ Vertex servinst1 = graph.addVertex(T.label, "service-instance", T.id, "61", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId01", "service-type",
+ "servType01");
+ Vertex servinst2 = graph.addVertex(T.label, "service-instance", T.id, "12", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId02", "service-type", "servType02",
+ "service-role", "servRole02");
+ Vertex servinst3 = graph.addVertex(T.label, "service-instance", T.id, "13", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId03-wrong", "service-type",
+ "servType03", "service-role", "servRole03");
+
+ Vertex servsub1 = graph.addVertex(T.label, "service-subscription", T.id, "14",
+ "aai-node-type", "service-subscription", "service-type", "servType01");
+ Vertex servsub2 = graph.addVertex(T.label, "service-subscription", T.id, "15",
+ "aai-node-type", "service-subscription", "service-type", "servType02");
+ Vertex servsub3 = graph.addVertex(T.label, "service-subscription", T.id, "16",
+ "aai-node-type", "service-subscription", "service-type", "servType03-wrong");
+
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "17", "aai-node-type",
+ "customer", "global-customer-id", "custid01", "subscriber-name", "subscriberName01");
+ Vertex customer2 =
+ graph.addVertex(T.label, "customer", T.id, "18", "aai-node-type", "customer",
+ "global-customer-id", "custid02-wrong", "subscriber-name", "subscriberName-wrong");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, vserver1, pserver1); // true
+ rules.addEdge(g, vnf1, vserver1); // true
+ rules.addEdge(g, vnf1, servinst1); // true
+ rules.addTreeEdge(g, servinst1, servsub1); // true
+ rules.addTreeEdge(g, servsub1, customer1); // true
+
+ rules.addEdge(g, vserver2, pserver1); // true
+ rules.addEdge(g, vnf2, vserver2); // true
+ rules.addEdge(g, vnf2, servinst2); // true
+ rules.addTreeEdge(g, servinst2, servsub2); // true
+ rules.addTreeEdge(g, servsub2, customer1); // true
+
+ rules.addEdge(g, vserver3, pserver2); // false
+ rules.addEdge(g, vnf3, vserver3); // false
+ rules.addEdge(g, vnf3, servinst3); // false
+ rules.addTreeEdge(g, servinst3, servsub3); // false
+ rules.addTreeEdge(g, servsub3, customer2); // false
+
+ expectedResult.add(servinst1);
+ expectedResult.add(servsub1);
+ expectedResult.add(servinst2);
+ expectedResult.add(servsub2);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "service-fromPserverandSubsName";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "pserver").has("hostname", "pservername01");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("subscriberName", "subscriberName01");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceModelsByDistributionStatusTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceModelsByDistributionStatusTest.java
index ee70b07..a0cdfb1 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceModelsByDistributionStatusTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceModelsByDistributionStatusTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,54 +30,69 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ServiceModelsByDistributionStatusTest extends QueryTest {
- public ServiceModelsByDistributionStatusTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public ServiceModelsByDistributionStatusTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex model1 = graph.addVertex(T.label, "model", T.id, "1", "aai-node-type", "model",
+ "model-invariant-id", "model-invariant-id-1", "model-type", "resource");
+ Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "2", "aai-node-type",
+ "model-ver", "model-version-id", "model-version-id-1", "model-name", "model-name1",
+ "model-version", "model-version-1", "distribution-status", "distribution-status1");
+ Vertex modelver11 = graph.addVertex(T.label, "model-ver", T.id, "21", "aai-node-type",
+ "model-ver", "model-version-id", "model-version-id-11", "model-name", "model-name11",
+ "model-version", "model-version-1", "distribution-status", "distribution-status2");
+
+ Vertex model2 = graph.addVertex(T.label, "model", T.id, "3", "aai-node-type", "model",
+ "model-invariant-id", "model-invariant-id-2", "model-type", "resource");
+ Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "4", "aai-node-type",
+ "model-ver", "model-version-id", "model-version-id-2", "model-name", "model-name2",
+ "model-version", "model-version-22", "distribution-status", "distribution-status2");
+
+ Vertex model3 = graph.addVertex(T.label, "model", T.id, "5", "aai-node-type", "model",
+ "model-invariant-id", "model-invariant-id-3", "model-type", "service");
+ Vertex modelver3 = graph.addVertex(T.label, "model-ver", T.id, "6", "aai-node-type",
+ "model-ver", "model-version-id", "model-version-id-13", "model-name", "model-name3",
+ "model-version", "model-version-3", "distribution-status", "distribution-status1");
+ Vertex modelver13 = graph.addVertex(T.label, "model-ver", T.id, "7", "aai-node-type",
+ "model-ver", "model-version-id", "model-version-id-33", "model-name", "model-name33",
+ "model-version", "model-version-33", "distribution-status", "distribution-status2");
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex model1 = graph.addVertex(T.label, "model", T.id, "1", "aai-node-type", "model", "model-invariant-id", "model-invariant-id-1", "model-type", "resource");
- Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "2", "aai-node-type", "model-ver", "model-version-id", "model-version-id-1","model-name","model-name1", "model-version","model-version-1", "distribution-status", "distribution-status1");
- Vertex modelver11 = graph.addVertex(T.label, "model-ver", T.id, "21", "aai-node-type", "model-ver", "model-version-id", "model-version-id-11","model-name","model-name11", "model-version","model-version-1", "distribution-status", "distribution-status2");
-
- Vertex model2 = graph.addVertex(T.label, "model", T.id, "3", "aai-node-type", "model", "model-invariant-id", "model-invariant-id-2", "model-type", "resource");
- Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "4", "aai-node-type", "model-ver", "model-version-id", "model-version-id-2","model-name","model-name2", "model-version","model-version-22", "distribution-status", "distribution-status2");
-
- Vertex model3 = graph.addVertex(T.label, "model", T.id, "5", "aai-node-type", "model", "model-invariant-id", "model-invariant-id-3", "model-type", "service");
- Vertex modelver3 = graph.addVertex(T.label, "model-ver", T.id, "6", "aai-node-type", "model-ver", "model-version-id", "model-version-id-13","model-name","model-name3", "model-version","model-version-3", "distribution-status", "distribution-status1");
- Vertex modelver13 = graph.addVertex(T.label, "model-ver", T.id, "7", "aai-node-type", "model-ver", "model-version-id", "model-version-id-33","model-name","model-name33", "model-version","model-version-33", "distribution-status", "distribution-status2");
-
GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, modelver2,model2);
-
- rules.addTreeEdge(g, modelver3, model3);
- rules.addTreeEdge(g, modelver13, model3);
- rules.addTreeEdge(g, modelver11, model3);
-
- expectedResult.add(model3);
- expectedResult.add(modelver13);
- expectedResult.add(modelver11);
-
+ rules.addTreeEdge(g, modelver2, model2);
+
+ rules.addTreeEdge(g, modelver3, model3);
+ rules.addTreeEdge(g, modelver13, model3);
+ rules.addTreeEdge(g, modelver11, model3);
+
+ expectedResult.add(model3);
+ expectedResult.add(modelver13);
+ expectedResult.add(modelver11);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "serviceModels-byDistributionStatus";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "model").has("model-invariant-id", "model-invariant-id-3");
+ }
- }
- @Override
- protected String getQueryName() {
- return "serviceModels-byDistributionStatus";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "model").has("model-invariant-id", "model-invariant-id-3");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("distributionStatus", "distribution-status2");
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("distributionStatus", "distribution-status2");
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceSitesQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceSitesQueryTest.java
index bb970c6..dd61cf3 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceSitesQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceSitesQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,68 +26,74 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class ServiceSitesQueryTest extends QueryTest {
- public ServiceSitesQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
+ public ServiceSitesQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "0", "aai-node-type",
+ "customer", "global-customer-id", "customer1");
+ Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "1", "aai-node-type",
+ "customer", "global-customer-id", "customer2");
+ Vertex service1 = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-type", "service1");
+ Vertex service2 = graph.addVertex(T.label, "service-subscription", T.id, "3",
+ "aai-node-type", "service-subscription", "service-type", "service2");
+ Vertex instance = graph.addVertex(T.label, "service-instance", T.id, "4", "aai-node-type",
+ "service-instance");
+ Vertex vnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type", "generic-vnf");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "9", "aai-node-type", "tenant");
+ Vertex region =
+ graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type", "cloud-region");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, customer1, service1);
+ rules.addTreeEdge(g, customer1, service2);
+ rules.addTreeEdge(g, service1, instance);
+ rules.addEdge(g, vnf, instance);
+ rules.addEdge(g, vnf, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, region);
+ rules.addEdge(g, region, complex);
+ rules.addEdge(g, vserver, pserver);
+ rules.addEdge(g, pserver, complex);
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "0", "aai-node-type", "customer", "global-customer-id", "customer1");
- Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "1", "aai-node-type", "customer", "global-customer-id", "customer2");
- Vertex service1 = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-type", "service1");
- Vertex service2 = graph.addVertex(T.label, "service-subscription", T.id, "3", "aai-node-type", "service-subscription", "service-type", "service2");
- Vertex instance = graph.addVertex(T.label, "service-instance", T.id, "4", "aai-node-type", "service-instance");
- Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "5", "aai-node-type", "generic-vnf");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "9", "aai-node-type", "tenant");
- Vertex region = graph.addVertex(T.label, "cloud-region", T.id, "10", "aai-node-type", "cloud-region");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex");
+ expectedResult.add(instance);
+ expectedResult.add(vnf);
+ expectedResult.add(region);
+ expectedResult.add(complex);
+ }
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, customer1, service1);
- rules.addTreeEdge(g, customer1, service2);
- rules.addTreeEdge(g, service1, instance);
- rules.addEdge(g, vnf, instance);
- rules.addEdge(g, vnf, vserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, region);
- rules.addEdge(g, region, complex);
- rules.addEdge(g, vserver, pserver);
- rules.addEdge(g, pserver, complex);
-
- expectedResult.add(instance);
- expectedResult.add(vnf);
- expectedResult.add(region);
- expectedResult.add(complex);
- }
+ @Override
+ protected String getQueryName() {
+ return "service-sites";
+ }
- @Override
- protected String getQueryName() {
- return "service-sites";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "customer");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "customer");
-
- }
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("customerId", "customer1");
- params.put("type", "service1");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("customerId", "customer1");
+ params.put("type", "service1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceTopologyTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceTopologyTest.java
index 21482aa..ecae9a7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceTopologyTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ServiceTopologyTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,8 +29,6 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class ServiceTopologyTest extends QueryTest {
public ServiceTopologyTest() throws AAIException, NoEdgeRuleFoundException {
super();
@@ -38,84 +38,121 @@ public class ServiceTopologyTest extends QueryTest {
public void run() {
super.run();
}
+
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "servInstId01", "service-type", "servType01");
- Vertex gv = graph.addVertex(T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "gvId", "vnf-name", "name", "vnf-type", "type");
- Vertex vnfc = graph.addVertex(T.id, "3", "aai-node-type", "vnfc","vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function");
-
- Vertex vipipv4addresslist1 = graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "4", "aai-node-type", "vip-ipv4-address-list", "vip-ipv4-addres", "vip-ipv4-address1");
- Vertex subnet1 = graph.addVertex(T.label, "subnet", T.id, "5", "aai-node-type", "subnet", "subnet-id", "subnet1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network", "network-id", "network1-id1", "network-name", "network1-name1");
-
- Vertex vipipv6addresslist1 = graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "7", "aai-node-type", "vip-ipv6-address-list", "vip-ipv6-address", "vip-ipv6-address2");
- Vertex subnet2 = graph.addVertex(T.label, "subnet", T.id, "8", "aai-node-type", "subnet", "subnet-id", "subnet2");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network", "network-id", "network1-id2", "network-name", "network2-name2");
-
- Vertex l3inter1ipv4addresslist1 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "10", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address1");
- Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type", "l3-network", "network-id", "network3-id3", "network-name", "network2-name3");
- Vertex subnet3 = graph.addVertex(T.label, "subnet", T.id, "12", "aai-node-type", "subnet", "subnet-id", "subnet3");
- Vertex l3network3_2 = graph.addVertex(T.label, "l3-network", T.id, "13", "aai-node-type", "l3-network", "network-id", "network3-id3", "network-name", "network3_2-name3_2");
-
- Vertex l3inter1ipv6addresslist1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "14", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address1");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "15", "aai-node-type", "l3-network", "network-id", "network3-id3", "network-name", "network2-name4");
- Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "16", "aai-node-type", "subnet", "subnet-id", "subnet4");
- Vertex l3network4_2 = graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network", "network-id", "network3-id4", "network-name", "network4_2-name4_2");
-
-
- Vertex vserv1 = graph.addVertex(T.id, "18", "aai-node-type", "vserver", "vserver-id", "vservId1", "vserver-name", "vservName1");
- Vertex tenant1 = graph.addVertex(T.id, "19", "aai-node-type", "tenant", "tenant-id", "ten1", "tenant-name", "tenName1");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "20", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "21", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address2");
- Vertex l3network5 = graph.addVertex(T.label, "l3-network", T.id, "22", "aai-node-type", "l3-network", "network-id", "network3-id3", "network-name", "network2-name3");
- Vertex subnet5 = graph.addVertex(T.label, "subnet", T.id, "23", "aai-node-type", "subnet", "subnet-id", "subnet3");
- Vertex l3network5_2 = graph.addVertex(T.label, "l3-network", T.id, "24", "aai-node-type", "l3-network", "network-id", "network3-id3", "network-name", "network3_2-name3_2");
-
- Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "25", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address1");
- Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "26", "aai-node-type", "l3-network", "network-id", "network3-id3", "network-name", "network2-name4");
- Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "27", "aai-node-type", "subnet", "subnet-id", "subnet4");
- Vertex l3network6_2 = graph.addVertex(T.label, "l3-network", T.id, "28", "aai-node-type", "l3-network", "network-id", "network3-id4", "network-name", "network4_2-name4_2");
-
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "29", "aai-node-type", "pserver", "hostname", "pservername1");
-
-
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "30", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "31", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "32", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
+ Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId01", "service-type",
+ "servType01");
+ Vertex gv = graph.addVertex(T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "gvId",
+ "vnf-name", "name", "vnf-type", "type");
+ Vertex vnfc = graph.addVertex(T.id, "3", "aai-node-type", "vnfc", "vnfc-name", "vnfcName1",
+ "nfc-naming-code", "blue", "nfc-function", "correct-function");
+
+ Vertex vipipv4addresslist1 = graph.addVertex(T.label, "vip-ipv4-address-list", T.id, "4",
+ "aai-node-type", "vip-ipv4-address-list", "vip-ipv4-addres", "vip-ipv4-address1");
+ Vertex subnet1 = graph.addVertex(T.label, "subnet", T.id, "5", "aai-node-type", "subnet",
+ "subnet-id", "subnet1");
+ Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type",
+ "l3-network", "network-id", "network1-id1", "network-name", "network1-name1");
+
+ Vertex vipipv6addresslist1 = graph.addVertex(T.label, "vip-ipv6-address-list", T.id, "7",
+ "aai-node-type", "vip-ipv6-address-list", "vip-ipv6-address", "vip-ipv6-address2");
+ Vertex subnet2 = graph.addVertex(T.label, "subnet", T.id, "8", "aai-node-type", "subnet",
+ "subnet-id", "subnet2");
+ Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type",
+ "l3-network", "network-id", "network1-id2", "network-name", "network2-name2");
+
+ Vertex l3inter1ipv4addresslist1 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "10", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address1");
+ Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type",
+ "l3-network", "network-id", "network3-id3", "network-name", "network2-name3");
+ Vertex subnet3 = graph.addVertex(T.label, "subnet", T.id, "12", "aai-node-type", "subnet",
+ "subnet-id", "subnet3");
+ Vertex l3network3_2 = graph.addVertex(T.label, "l3-network", T.id, "13", "aai-node-type",
+ "l3-network", "network-id", "network3-id3", "network-name", "network3_2-name3_2");
+
+ Vertex l3inter1ipv6addresslist1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "14", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address1");
+ Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "15", "aai-node-type",
+ "l3-network", "network-id", "network3-id3", "network-name", "network2-name4");
+ Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "16", "aai-node-type", "subnet",
+ "subnet-id", "subnet4");
+ Vertex l3network4_2 = graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type",
+ "l3-network", "network-id", "network3-id4", "network-name", "network4_2-name4_2");
+
+ Vertex vserv1 = graph.addVertex(T.id, "18", "aai-node-type", "vserver", "vserver-id",
+ "vservId1", "vserver-name", "vservName1");
+ Vertex tenant1 = graph.addVertex(T.id, "19", "aai-node-type", "tenant", "tenant-id", "ten1",
+ "tenant-name", "tenName1");
+ Vertex linterface1 =
+ graph.addVertex(T.label, "l-interface", T.id, "20", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "21", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address2");
+ Vertex l3network5 = graph.addVertex(T.label, "l3-network", T.id, "22", "aai-node-type",
+ "l3-network", "network-id", "network3-id3", "network-name", "network2-name3");
+ Vertex subnet5 = graph.addVertex(T.label, "subnet", T.id, "23", "aai-node-type", "subnet",
+ "subnet-id", "subnet3");
+ Vertex l3network5_2 = graph.addVertex(T.label, "l3-network", T.id, "24", "aai-node-type",
+ "l3-network", "network-id", "network3-id3", "network-name", "network3_2-name3_2");
+
+ Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "25", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address1");
+ Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "26", "aai-node-type",
+ "l3-network", "network-id", "network3-id3", "network-name", "network2-name4");
+ Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "27", "aai-node-type", "subnet",
+ "subnet-id", "subnet4");
+ Vertex l3network6_2 = graph.addVertex(T.label, "l3-network", T.id, "28", "aai-node-type",
+ "l3-network", "network-id", "network3-id4", "network-name", "network4_2-name4_2");
+
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "29", "aai-node-type",
+ "pserver", "hostname", "pservername1");
+
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "30", "aai-node-type",
+ "pserver", "hostname", "pservername1");
+ Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "31", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "32", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, servinst , gv);
- rules.addEdge(g,gv,vnfc);
- rules.addEdge(g,vnfc,vipipv4addresslist1);
- rules.addEdge(g,vipipv4addresslist1,subnet1);
- rules.addTreeEdge(g,subnet1,l3network1);
- rules.addEdge(g,vnfc,vipipv6addresslist1);
- rules.addEdge(g,vipipv6addresslist1,subnet2);
- rules.addTreeEdge(g,subnet2,l3network2);
- rules.addTreeEdge(g,vnfc,l3inter1ipv4addresslist1);
- rules.addEdge(g,l3inter1ipv4addresslist1,l3network3);
- rules.addEdge(g,l3inter1ipv4addresslist1,subnet3);
- rules.addTreeEdge(g,subnet3,l3network3_2);
- rules.addTreeEdge(g,vnfc,l3inter1ipv6addresslist1);
- rules.addEdge(g,l3inter1ipv6addresslist1,l3network4);
- rules.addEdge(g,l3inter1ipv6addresslist1,subnet4);
- rules.addTreeEdge(g,subnet4,l3network4_2);
- rules.addEdge(g,gv,vserv1);
- rules.addTreeEdge(g,vserv1,tenant1);
- rules.addTreeEdge(g,vserv1,linterface1);
- rules.addTreeEdge(g,linterface1,l3inter1ipv4addresslist2);
- rules.addEdge(g,l3inter1ipv4addresslist2,l3network5);
- rules.addEdge(g,l3inter1ipv4addresslist2,subnet5);
- rules.addTreeEdge(g,subnet5,l3network5_2);
- rules.addTreeEdge(g,linterface1,l3inter1ipv6addresslist2);
- rules.addEdge(g,l3inter1ipv6addresslist2,l3network6);
- rules.addEdge(g,l3inter1ipv6addresslist2,subnet6);
- rules.addTreeEdge(g,subnet6,l3network6_2);
- rules.addEdge(g,vserv1,pserver1);
- rules.addEdge(g,gv,pserver2);
- rules.addTreeEdge(g,pserver2,pserverint);
- rules.addEdge(g,pserverint,plink1);
+ rules.addEdge(g, servinst, gv);
+ rules.addEdge(g, gv, vnfc);
+ rules.addEdge(g, vnfc, vipipv4addresslist1);
+ rules.addEdge(g, vipipv4addresslist1, subnet1);
+ rules.addTreeEdge(g, subnet1, l3network1);
+ rules.addEdge(g, vnfc, vipipv6addresslist1);
+ rules.addEdge(g, vipipv6addresslist1, subnet2);
+ rules.addTreeEdge(g, subnet2, l3network2);
+ rules.addTreeEdge(g, vnfc, l3inter1ipv4addresslist1);
+ rules.addEdge(g, l3inter1ipv4addresslist1, l3network3);
+ rules.addEdge(g, l3inter1ipv4addresslist1, subnet3);
+ rules.addTreeEdge(g, subnet3, l3network3_2);
+ rules.addTreeEdge(g, vnfc, l3inter1ipv6addresslist1);
+ rules.addEdge(g, l3inter1ipv6addresslist1, l3network4);
+ rules.addEdge(g, l3inter1ipv6addresslist1, subnet4);
+ rules.addTreeEdge(g, subnet4, l3network4_2);
+ rules.addEdge(g, gv, vserv1);
+ rules.addTreeEdge(g, vserv1, tenant1);
+ rules.addTreeEdge(g, vserv1, linterface1);
+ rules.addTreeEdge(g, linterface1, l3inter1ipv4addresslist2);
+ rules.addEdge(g, l3inter1ipv4addresslist2, l3network5);
+ rules.addEdge(g, l3inter1ipv4addresslist2, subnet5);
+ rules.addTreeEdge(g, subnet5, l3network5_2);
+ rules.addTreeEdge(g, linterface1, l3inter1ipv6addresslist2);
+ rules.addEdge(g, l3inter1ipv6addresslist2, l3network6);
+ rules.addEdge(g, l3inter1ipv6addresslist2, subnet6);
+ rules.addTreeEdge(g, subnet6, l3network6_2);
+ rules.addEdge(g, vserv1, pserver1);
+ rules.addEdge(g, gv, pserver2);
+ rules.addTreeEdge(g, pserver2, pserverint);
+ rules.addEdge(g, pserverint, plink1);
expectedResult.add(servinst);
expectedResult.add(gv);
@@ -150,8 +187,8 @@ public class ServiceTopologyTest extends QueryTest {
expectedResult.add(pserverint);
expectedResult.add(plink1);
-
}
+
@Override
protected String getQueryName() {
return "service-topology";
@@ -161,6 +198,7 @@ public class ServiceTopologyTest extends QueryTest {
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
g.has("aai-node-type", "service-instance");
}
+
@Override
protected void addParam(Map<String, Object> params) {
return;
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java
index 934d3fa..0b53b72 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,16 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
import com.google.gson.JsonObject;
+
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
@@ -42,78 +51,66 @@ import org.onap.aai.serialization.queryformats.exceptions.AAIFormatVertexExcepti
import org.onap.aai.serialization.queryformats.utils.UrlBuilder;
import org.springframework.test.annotation.DirtiesContext;
-import java.util.ArrayList;
-import java.util.List;
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
+public class SimpleFormatTest extends AAISetup {
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
+ protected Graph graph;
+ private TransactionalGraphEngine dbEngine;
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
-public class SimpleFormatTest extends AAISetup{
-
-
- protected Graph graph;
- private TransactionalGraphEngine dbEngine;
-
- protected final List<Vertex> expectedResult = new ArrayList<>();
-
- protected Loader loader;
- private DBSerializer serializer;
-
- @Mock
- private UrlBuilder urlBuilder;
- private RawFormat _simpleFormat;
-
- Vertex vfmodule = null;
-
- @Before
- public void setUp() throws AAIException, NoEdgeRuleFoundException {
- MockitoAnnotations.initMocks(this);
- graph = TinkerGraph.open();
- loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, schemaVersions.getRelatedLinkVersion());
- vfmodule = graph.addVertex(T.label, "vf-module",
- T.id, "5",
- "aai-node-type", "vf-module",
- "vf-module-id", "vf-module-id-val-68205",
- "vf-module-name", "example-vf-module-name-val-68205",
- "heat-stack-id", "example-heat-stack-id-val-68205",
- "orchestration-status", "example-orchestration-status-val-68205",
- "is-base-vf-module", "true",
- "resource-version", "1498166571906",
- "model-invariant-id", "fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8",
- "model-invariant-id-local", "fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8",
- "model-version-id", "0d23052d-8ffe-433e-a25d-da5da027bb7c",
- "model-version-id-local", "0d23052d-8ffe-433e-a25d-da5da027bb7c",
- "widget-model-id", "example-widget-model-id-val-68205",
- "widget-model-version", "example-widget--model-version-val-68205",
- "contrail-service-instance-fqdn", "example-contrail-service-instance-fqdn-val-68205");
-
- final ModelType factoryType = ModelType.MOXY;
- Loader loader = loaderFactory.createLoaderForVersion(factoryType, schemaVersions.getRelatedLinkVersion());
- dbEngine = spy(new JanusGraphDBEngine(
- QueryStyle.TRAVERSAL,
- loader));
-
- when(dbEngine.tx()).thenReturn(graph);
- TransactionalGraphEngine.Admin spyAdmin = spy(dbEngine.asAdmin());
- when(spyAdmin.getTraversalSource()).thenReturn(graph.traversal());
- when(dbEngine.asAdmin()).thenReturn(spyAdmin);
- serializer = new DBSerializer(schemaVersions.getRelatedLinkVersion(), dbEngine, factoryType, "Junit");
- _simpleFormat = new RawFormat.Builder(loader, serializer, urlBuilder).modelDriven().build();
- dbEngine.startTransaction();
- }
-
- @Test
- public void run() throws AAIFormatVertexException {
- assertNotNull(dbEngine.tx());
- System.out.println(dbEngine.tx());
- assertNotNull(graph.traversal());
- JsonObject json = _simpleFormat.createPropertiesObject(vfmodule).get();
- json.entrySet().forEach((System.out::println));
- assertTrue(json.has("model-invariant-id"));
-
- }
+ protected final List<Vertex> expectedResult = new ArrayList<>();
+
+ protected Loader loader;
+ private DBSerializer serializer;
+
+ @Mock
+ private UrlBuilder urlBuilder;
+ private RawFormat _simpleFormat;
+
+ Vertex vfmodule = null;
+
+ @Before
+ public void setUp() throws AAIException, NoEdgeRuleFoundException {
+ MockitoAnnotations.initMocks(this);
+ graph = TinkerGraph.open();
+ loader = loaderFactory.createLoaderForVersion(ModelType.MOXY,
+ schemaVersions.getRelatedLinkVersion());
+ vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type", "vf-module",
+ "vf-module-id", "vf-module-id-val-68205", "vf-module-name",
+ "example-vf-module-name-val-68205", "heat-stack-id", "example-heat-stack-id-val-68205",
+ "orchestration-status", "example-orchestration-status-val-68205", "is-base-vf-module",
+ "true", "resource-version", "1498166571906", "model-invariant-id",
+ "fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8", "model-invariant-id-local",
+ "fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8", "model-version-id",
+ "0d23052d-8ffe-433e-a25d-da5da027bb7c", "model-version-id-local",
+ "0d23052d-8ffe-433e-a25d-da5da027bb7c", "widget-model-id",
+ "example-widget-model-id-val-68205", "widget-model-version",
+ "example-widget--model-version-val-68205", "contrail-service-instance-fqdn",
+ "example-contrail-service-instance-fqdn-val-68205");
+
+ final ModelType factoryType = ModelType.MOXY;
+ Loader loader = loaderFactory.createLoaderForVersion(factoryType,
+ schemaVersions.getRelatedLinkVersion());
+ dbEngine = spy(new JanusGraphDBEngine(QueryStyle.TRAVERSAL, loader));
+
+ when(dbEngine.tx()).thenReturn(graph);
+ TransactionalGraphEngine.Admin spyAdmin = spy(dbEngine.asAdmin());
+ when(spyAdmin.getTraversalSource()).thenReturn(graph.traversal());
+ when(dbEngine.asAdmin()).thenReturn(spyAdmin);
+ serializer = new DBSerializer(schemaVersions.getRelatedLinkVersion(), dbEngine, factoryType,
+ "Junit");
+ _simpleFormat = new RawFormat.Builder(loader, serializer, urlBuilder).modelDriven().build();
+ dbEngine.startTransaction();
+ }
+
+ @Test
+ public void run() throws AAIFormatVertexException {
+ assertNotNull(dbEngine.tx());
+ System.out.println(dbEngine.tx());
+ assertNotNull(graph.traversal());
+ JsonObject json = _simpleFormat.createPropertiesObject(vfmodule).get();
+ json.entrySet().forEach((System.out::println));
+ assertTrue(json.has("model-invariant-id"));
+
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SiteL3NetworkCloudRegionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SiteL3NetworkCloudRegionQueryTest.java
index 74ee775..9538be9 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SiteL3NetworkCloudRegionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SiteL3NetworkCloudRegionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,59 +26,65 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class SiteL3NetworkCloudRegionQueryTest extends QueryTest {
- public SiteL3NetworkCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public SiteL3NetworkCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli");
+ Vertex network =
+ graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type", "l3-network");
+ Vertex region =
+ graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex",
+ "physical-location-id", "clli2");
+ Vertex network2 =
+ graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type", "l3-network");
+ Vertex region2 =
+ graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region");
+ Vertex network3 =
+ graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, complex, network);
+ rules.addEdge(g, region, network);
+ rules.addEdge(g, complex, network3);
+ rules.addEdge(g, complex2, network2);
+ rules.addEdge(g, region2, network2);
+
+ expectedResult.add(complex);
+ expectedResult.add(network);
+ expectedResult.add(region);
+ expectedResult.add(network3);
+
+ }
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli");
- Vertex network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type", "l3-network");
- Vertex region = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex", "physical-location-id", "clli2");
- Vertex network2 = graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type", "l3-network");
- Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region");
- Vertex network3 = graph.addVertex(T.label, "l3-network", T.id, "6", "aai-node-type", "l3-network");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, complex, network);
- rules.addEdge(g, region, network);
- rules.addEdge(g, complex, network3);
- rules.addEdge(g, complex2, network2);
- rules.addEdge(g, region2, network2);
-
- expectedResult.add(complex);
- expectedResult.add(network);
- expectedResult.add(region);
- expectedResult.add(network3);
-
- }
+ @Override
+ protected String getQueryName() {
+ return "site-l3network-cloudRegion";
+ }
- @Override
- protected String getQueryName() {
- return "site-l3network-cloudRegion";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("physical-location-id", "clli");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("physical-location-id", "clli");
-
- }
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCloudRegionIdQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCloudRegionIdQueryTest.java
index abc518c..3686ef3 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCloudRegionIdQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCloudRegionIdQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,54 +26,58 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class SitesByCloudRegionIdQueryTest extends QueryTest {
- public SitesByCloudRegionIdQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public SitesByCloudRegionIdQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex");
+ Vertex network =
+ graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type", "l3-network");
+ Vertex region = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionuuid");
+ Vertex complex2 =
+ graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex");
+ Vertex network2 =
+ graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type", "l3-network");
+ Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionuuid2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, complex, network);
+ rules.addEdge(g, region, network);
+ rules.addEdge(g, complex2, network2);
+ rules.addEdge(g, region2, network2);
+
+ expectedResult.add(complex);
+
+ }
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex");
- Vertex network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type", "l3-network");
- Vertex region = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region", "cloud-region-id", "regionuuid");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex");
- Vertex network2 = graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type", "l3-network");
- Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "regionuuid2");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, complex, network);
- rules.addEdge(g, region, network);
- rules.addEdge(g, complex2, network2);
- rules.addEdge(g, region2, network2);
-
- expectedResult.add(complex);
-
- }
+ @Override
+ protected String getQueryName() {
+ return "sites-byCloudRegionId";
+ }
- @Override
- protected String getQueryName() {
- return "sites-byCloudRegionId";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("cloud-region-id", "regionuuid");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("cloud-region-id", "regionuuid");
-
- }
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionIdQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionIdQueryTest.java
index 25ca62b..4c1dc14 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionIdQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionIdQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,7 @@
* ============LICENSE_END=========================================================
*/
package org.onap.aai.rest.search;
+
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -25,61 +26,67 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class SitesByCountryFilterCloudRegionIdQueryTest extends QueryTest {
-
- public SitesByCountryFilterCloudRegionIdQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public SitesByCountryFilterCloudRegionIdQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli-100", "country", "countrycode-100");
+ Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type",
+ "l3-network", "network-id", "networkId-100", "network-name", "networkName-100",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region",
+ "cloud-owner", "cloudOwner-100", "cloud-region-id", "cloudRegionId-100");
+ Vertex cloudregion2 =
+ graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region",
+ "cloud-owner", "cloudOwner-200", "cloud-region-id", "cloudRegionId-200");
+ Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type",
+ "l3-network", "network-id", "networkId-200", "network-name", "networkName-200",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "5", "aai-node-type", "complex",
+ "physical-location-id", "clli-200", "country", "countrycode-100");
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- //Set up the test graph
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli-100", "country", "countrycode-100");
- Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type", "l3-network", "network-id", "networkId-100", "network-name", "networkName-100",
- "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner-100", "cloud-region-id", "cloudRegionId-100");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "3", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner-200", "cloud-region-id", "cloudRegionId-200");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type", "l3-network", "network-id", "networkId-200", "network-name", "networkName-200",
- "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "5", "aai-node-type", "complex", "physical-location-id", "clli-200", "country", "countrycode-100");
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, complex, l3network);
+ rules.addEdge(g, cloudregion, l3network);
+ rules.addEdge(g, complex2, l3network2);
+ rules.addEdge(g, cloudregion2, l3network2);
+ expectedResult.add(complex);
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, complex, l3network);
- rules.addEdge(g, cloudregion, l3network);
- rules.addEdge(g, complex2, l3network2);
- rules.addEdge(g, cloudregion2, l3network2);
-
- expectedResult.add(complex);
-
+ }
- }
+ @Override
+ protected String getQueryName() {
+ return "sites-byCountryFilterCloudRegionId";
+ }
- @Override
- protected String getQueryName() {
- return "sites-byCountryFilterCloudRegionId";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "complex").has("country", "countrycode-100");
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "complex").has("country", "countrycode-100");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("cloudRegionId", "cloudRegionId-100");
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("cloudRegionId", "cloudRegionId-100");
-
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionVerQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionVerQueryTest.java
index 92ecfc2..383f188 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionVerQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SitesByCountryFilterCloudRegionVerQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,7 @@
* ============LICENSE_END=========================================================
*/
package org.onap.aai.rest.search;
+
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -25,62 +26,68 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class SitesByCountryFilterCloudRegionVerQueryTest extends QueryTest {
-
- public SitesByCountryFilterCloudRegionVerQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public SitesByCountryFilterCloudRegionVerQueryTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli-100", "country", "countrycode-100");
+ Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type",
+ "l3-network", "network-id", "networkId-100", "network-name", "networkName-100",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner-100", "cloud-region-id", "cloudRegionId-100",
+ "cloud-region-version", "cloudRegionVer-3.0");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex",
+ "physical-location-id", "clli-200", "country", "countrycode-100");
+ Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type",
+ "l3-network", "network-id", "networkId-200", "network-name", "networkName-200",
+ "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network",
+ "false", "is-external-network", "false");
+ Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner-200", "cloud-region-id", "cloudRegionId-200",
+ "cloud-region-version", "cloudRegionVer-2.5");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, complex, l3network);
+ rules.addEdge(g, cloudregion, l3network);
+ rules.addEdge(g, complex2, l3network2);
+ rules.addEdge(g, cloudregion2, l3network2);
+
+ expectedResult.add(complex);
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
- //Set up the test graph
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli-100", "country", "countrycode-100");
- Vertex l3network = graph.addVertex(T.label, "l3-network", T.id, "1", "aai-node-type", "l3-network", "network-id", "networkId-100", "network-name", "networkName-100",
- "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner-100", "cloud-region-id", "cloudRegionId-100",
- "cloud-region-version", "cloudRegionVer-3.0");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "3", "aai-node-type", "complex", "physical-location-id", "clli-200", "country", "countrycode-100");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "4", "aai-node-type", "l3-network", "network-id", "networkId-200", "network-name", "networkName-200",
- "is-bound-to-vpn", "false", "is-provider-network", "false", "is-shared-network", "false", "is-external-network", "false");
- Vertex cloudregion2 = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner-200", "cloud-region-id", "cloudRegionId-200",
- "cloud-region-version", "cloudRegionVer-2.5");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, complex, l3network);
- rules.addEdge(g, cloudregion, l3network);
- rules.addEdge(g, complex2, l3network2);
- rules.addEdge(g, cloudregion2, l3network2);
+ }
- expectedResult.add(complex);
-
+ @Override
+ protected String getQueryName() {
+ return "sites-byCountryFilterCloudRegionVer";
+ }
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "complex").has("country", "countrycode-100");
- @Override
- protected String getQueryName() {
- return "sites-byCountryFilterCloudRegionVer";
- }
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "complex").has("country", "countrycode-100");
-
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("cloudRegionVersion", "cloudRegionVer-3.0");
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("cloudRegionVersion", "cloudRegionVer-3.0");
-
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SriovTopologyFromVnfQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SriovTopologyFromVnfQueryTest.java
index cceab09..953b814 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SriovTopologyFromVnfQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SriovTopologyFromVnfQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,80 +30,92 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class SriovTopologyFromVnfQueryTest extends QueryTest {
- public SriovTopologyFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver","vserver-name", "vservername1");
- Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface",
- "interface-name", "lint1", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex sriovVf1 = graph.addVertex(T.label, "sriov-vf", T.id, "3", "aai-node-type", "sriov-vf", "pci-id", "pcIid1");
- Vertex sriovPf1 = graph.addVertex(T.label, "sriov-pf", T.id, "4", "aai-node-type", "sriov-pf", "pf-pci-id", "pfPciId1");
-
- Vertex pint1 = graph.addVertex(T.label, "p-interface", T.id, "5", "aai-node-type", "p-interface", "interface-name", "ge0/0/0");
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "6", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
-
-
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type1");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver","vserver-name", "vservername2");
- Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface",
- "interface-name", "lint2", "is-port-mirrored", "true", "in-maint", "true", "is-ip-unnumbered", "false");
-
- Vertex sriovVf2 = graph.addVertex(T.label, "sriov-vf", T.id, "13", "aai-node-type", "sriov-vf", "pci-id", "pcIid2");
- Vertex sriovPf2 = graph.addVertex(T.label, "sriov-pf", T.id, "14", "aai-node-type", "sriov-pf", "pf-pci-id", "pfPciId2");
-
- Vertex pint2 = graph.addVertex(T.label, "p-interface", T.id, "15", "aai-node-type", "p-interface", "interface-name", "ge0/0/1");
- Vertex plink2 = graph.addVertex(T.label, "physical-link", T.id, "16", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/1");
-
-
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, gvnf1, vserver1);
- rules.addTreeEdge(g, vserver1, lint1);
- rules.addTreeEdge(g, lint1, sriovVf1);
- rules.addEdge(g, sriovVf1, sriovPf1);
- rules.addTreeEdge(g, sriovPf1, pint1);
- rules.addEdge(g, pint1, plink1);
-
- rules.addEdge(g, gvnf2, vserver2);//false
- rules.addTreeEdge(g, vserver2, lint2);//false
- rules.addTreeEdge(g, lint2, sriovVf2);//false
- rules.addEdge(g, sriovVf2, sriovPf2);//false
- rules.addTreeEdge(g, sriovPf2, pint2);//false
- rules.addEdge(g, pint2, plink2);//false
-
-
- expectedResult.add(gvnf1);
- expectedResult.add(vserver1);
- expectedResult.add(sriovVf1);
- expectedResult.add(plink1);
-
- }
- @Override
- protected String getQueryName() {
- return "sriov-topology-fromVnf";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","generic-vnf").has("vnf-id", "gvnf1").has("vnf-name", "genvnfname1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public SriovTopologyFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex gvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver",
+ "vserver-name", "vservername1");
+ Vertex lint1 = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "interface-name", "lint1", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex sriovVf1 = graph.addVertex(T.label, "sriov-vf", T.id, "3", "aai-node-type",
+ "sriov-vf", "pci-id", "pcIid1");
+ Vertex sriovPf1 = graph.addVertex(T.label, "sriov-pf", T.id, "4", "aai-node-type",
+ "sriov-pf", "pf-pci-id", "pfPciId1");
+
+ Vertex pint1 = graph.addVertex(T.label, "p-interface", T.id, "5", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "6", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
+
+ Vertex gvnf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf",
+ "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type1");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type",
+ "vserver", "vserver-name", "vservername2");
+ Vertex lint2 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type",
+ "l-interface", "interface-name", "lint2", "is-port-mirrored", "true", "in-maint",
+ "true", "is-ip-unnumbered", "false");
+
+ Vertex sriovVf2 = graph.addVertex(T.label, "sriov-vf", T.id, "13", "aai-node-type",
+ "sriov-vf", "pci-id", "pcIid2");
+ Vertex sriovPf2 = graph.addVertex(T.label, "sriov-pf", T.id, "14", "aai-node-type",
+ "sriov-pf", "pf-pci-id", "pfPciId2");
+
+ Vertex pint2 = graph.addVertex(T.label, "p-interface", T.id, "15", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/1");
+ Vertex plink2 = graph.addVertex(T.label, "physical-link", T.id, "16", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/1");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, gvnf1, vserver1);
+ rules.addTreeEdge(g, vserver1, lint1);
+ rules.addTreeEdge(g, lint1, sriovVf1);
+ rules.addEdge(g, sriovVf1, sriovPf1);
+ rules.addTreeEdge(g, sriovPf1, pint1);
+ rules.addEdge(g, pint1, plink1);
+
+ rules.addEdge(g, gvnf2, vserver2);// false
+ rules.addTreeEdge(g, vserver2, lint2);// false
+ rules.addTreeEdge(g, lint2, sriovVf2);// false
+ rules.addEdge(g, sriovVf2, sriovPf2);// false
+ rules.addTreeEdge(g, sriovPf2, pint2);// false
+ rules.addEdge(g, pint2, plink2);// false
+
+ expectedResult.add(gvnf1);
+ expectedResult.add(vserver1);
+ expectedResult.add(sriovVf1);
+ expectedResult.add(plink1);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "sriov-topology-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvnf1").has("vnf-name", "genvnfname1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVnfQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVnfQueryTest.java
index c553d05..e9c5d28 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVnfQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVnfQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,138 +26,182 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class TopologyDetailFromVnfQueryTest extends QueryTest {
- public TopologyDetailFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfuuid", "vnf-name", "vnf-name-1", "service-id", "service-id-1");
- Vertex gnvf2 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "service-id", "service-id-wrong");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1", "vserver-selflink", "vserver-selflink-1");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2", "vserver-selflink", "vserver-selflink-2");
-
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "5", "aai-node-type", "vnfc", "vnfc-name", "vnfc-name-1", "nfc-naming-code", "nfc-naming-code-1");
- Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "6", "aai-node-type", "vnfc", "vnfc-name", "vnfc-name-2", "nfc-naming-code", "nfc-naming-code-2");
-
- Vertex tenant1 = graph.addVertex(T.label, "tenant-id", T.id, "7", "aai-node-type", "tenant", "tenant-id", "TenantID", "tenant-name", "TenantName");
- Vertex tenant2 = graph.addVertex(T.label, "tenant-id", T.id, "8", "aai-node-type", "tenant", "tenant-id", "TenantID2", "tenant-name", "TenantName2");
-
- Vertex flavor1 = graph.addVertex(T.label, "flavor", T.id, "9", "aai-node-type", "flavor", "flavor-id", "flavor-id-1", "flavor-name", "flavor-name-1", "flavor-selflink", "flavor-selflink-1");
- Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image", "image-id", "image-id-1", "image-name", "image-name-1", "image-os-distro", "image-os-distro-1", "image-os-version", "image-os-version-1");
-
- Vertex flavor2 = graph.addVertex(T.label, "flavor", T.id, "11", "aai-node-type", "flavor", "flavor-id", "flavor-id-2", "flavor-name", "flavor-name-2", "flavor-selflink", "flavor-selflink-2");
- Vertex image2 = graph.addVertex(T.label, "image", T.id, "12", "aai-node-type", "image", "image-id", "image-id-2", "image-name", "image-name-2", "image-os-distro", "image-os-distro-2", "image-os-version", "image-os-version-2");
-
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "13", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "14", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
-
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "15", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
- Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "16", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-2");
-
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "17", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
- Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-2");
-
- Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "19", "aai-node-type", "cloud-region", "cloud-owner", "CloudOwner1", "cloud-region-id", "CloudRegionId1");
- Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "20", "aai-node-type", "cloud-region", "cloud-owner", "CloudOwner2", "cloud-region-id", "CloudRegionId2");
-
- Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "21", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
-
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "22", "aai-node-type", "pserver", "pserver-id", "PserverID1", "hostname", "PserverHostName1");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "23", "aai-node-type", "pserver", "pserver-id", "PserverID2", "hostname", "PserverHostName2"); //false
-
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "24", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "25", "aai-node-type", "service-instance", "service-instance-id", "servInstId-2", "service-type", "servType-2", "service-role", "servRole-2");
-
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "26", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex vfmodule2 = graph.addVertex(T.label, "vf-module", T.id, "27", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-2", "vf-module-name", "vf-module-name2");
-
- Vertex volumegroup1 = graph.addVertex(T.label, "volume-group", T.id, "28", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
- Vertex volumegroup2 = graph.addVertex(T.label, "volume-group", T.id, "29", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-2", "volume-group-name", "volume-group-name2");
-
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "30", "aai-node-type", "complex");
-
-
- GraphTraversalSource g = graph.traversal();//true
-
- rules.addEdge(g, gnvf1, vserver1);//true
-
- rules.addEdge(g, vserver1, vnfc1);//true
- rules.addEdge(g, vserver2, vnfc1);//true
-
- rules.addTreeEdge(g, vserver1, tenant1);//true
- rules.addTreeEdge(g, tenant1, cloudRegion1);//true
- rules.addTreeEdge(g, cloudRegion1,availibityzone1 );//true
- rules.addEdge(g, vserver1, image1);//true
- rules.addEdge(g, vserver1, flavor1);//true
- rules.addEdge(g, vserver1, pserver1);//true
- rules.addEdge(g, vserver2, image1);
- rules.addEdge(g, vserver2, flavor1);
- rules.addEdge(g, pserver1, complex);//true
-
- rules.addTreeEdge(g, vserver1, linter1);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);//true
-
- rules.addEdge(g, gnvf1, serviceinstance1);//true
- rules.addTreeEdge(g, gnvf1, vfmodule1);//true
- rules.addEdge(g, vfmodule1, volumegroup1);
-
- //---------------------------------------------------
-
- //rules.addTreeEdge(g, vserver1, tenant2);//false
- //rules.addTreeEdge(g, vserver2, linter1);//false
- //rules.addEdge(g, vserver1, vnfc2);//false
-
-
-
- expectedResult.add(gnvf1);
- expectedResult.add(vnfc1);
- expectedResult.add(vserver1);
- expectedResult.add(tenant1);
- expectedResult.add(cloudRegion1);
- expectedResult.add(image1);
- expectedResult.add(flavor1);
- expectedResult.add(pserver1);
- expectedResult.add(complex);
-
- expectedResult.add(serviceinstance1);
- expectedResult.add(availibityzone1);
- expectedResult.add(volumegroup1);
- expectedResult.add(linter1);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(l3inter1ipv6addresslist);
-
-
- }
-
- @Override
- protected String getQueryName() {
- return "topology-detail-fromVnf";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("vnf-id", "vnfuuid");
-
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- //return;
- params.put("serviceId", "service-id-1");
- }
+ public TopologyDetailFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex gnvf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfuuid", "vnf-name", "vnf-name-1", "service-id", "service-id-1");
+ Vertex gnvf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "service-id", "service-id-wrong");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1", "vserver-selflink",
+ "vserver-selflink-1");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2", "vserver-selflink",
+ "vserver-selflink-2");
+
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "5", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc-name-1", "nfc-naming-code", "nfc-naming-code-1");
+ Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "6", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc-name-2", "nfc-naming-code", "nfc-naming-code-2");
+
+ Vertex tenant1 = graph.addVertex(T.label, "tenant-id", T.id, "7", "aai-node-type", "tenant",
+ "tenant-id", "TenantID", "tenant-name", "TenantName");
+ Vertex tenant2 = graph.addVertex(T.label, "tenant-id", T.id, "8", "aai-node-type", "tenant",
+ "tenant-id", "TenantID2", "tenant-name", "TenantName2");
+
+ Vertex flavor1 = graph.addVertex(T.label, "flavor", T.id, "9", "aai-node-type", "flavor",
+ "flavor-id", "flavor-id-1", "flavor-name", "flavor-name-1", "flavor-selflink",
+ "flavor-selflink-1");
+ Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image",
+ "image-id", "image-id-1", "image-name", "image-name-1", "image-os-distro",
+ "image-os-distro-1", "image-os-version", "image-os-version-1");
+
+ Vertex flavor2 = graph.addVertex(T.label, "flavor", T.id, "11", "aai-node-type", "flavor",
+ "flavor-id", "flavor-id-2", "flavor-name", "flavor-name-2", "flavor-selflink",
+ "flavor-selflink-2");
+ Vertex image2 = graph.addVertex(T.label, "image", T.id, "12", "aai-node-type", "image",
+ "image-id", "image-id-2", "image-name", "image-name-2", "image-os-distro",
+ "image-os-distro-2", "image-os-version", "image-os-version-2");
+
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "13", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "14", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "15", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
+ Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "16", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-2");
+
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "17", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
+ Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-2");
+
+ Vertex cloudRegion1 = graph.addVertex(T.label, "cloud-region", T.id, "19", "aai-node-type",
+ "cloud-region", "cloud-owner", "CloudOwner1", "cloud-region-id", "CloudRegionId1");
+ Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region", T.id, "20", "aai-node-type",
+ "cloud-region", "cloud-owner", "CloudOwner2", "cloud-region-id", "CloudRegionId2");
+
+ Vertex availibityzone1 = graph.addVertex(T.label, "availability-zone", T.id, "21",
+ "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1",
+ "hypervisor-type", "hypervisortype-1");
+
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "22", "aai-node-type",
+ "pserver", "pserver-id", "PserverID1", "hostname", "PserverHostName1");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "23", "aai-node-type",
+ "pserver", "pserver-id", "PserverID2", "hostname", "PserverHostName2"); // false
+
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "24",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "25",
+ "aai-node-type", "service-instance", "service-instance-id", "servInstId-2",
+ "service-type", "servType-2", "service-role", "servRole-2");
+
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "26", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex vfmodule2 = graph.addVertex(T.label, "vf-module", T.id, "27", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-2", "vf-module-name", "vf-module-name2");
+
+ Vertex volumegroup1 =
+ graph.addVertex(T.label, "volume-group", T.id, "28", "aai-node-type", "volume-group",
+ "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
+ Vertex volumegroup2 =
+ graph.addVertex(T.label, "volume-group", T.id, "29", "aai-node-type", "volume-group",
+ "volume-group-id", "volume-group-id-2", "volume-group-name", "volume-group-name2");
+
+ Vertex complex =
+ graph.addVertex(T.label, "complex", T.id, "30", "aai-node-type", "complex");
+
+ GraphTraversalSource g = graph.traversal();// true
+
+ rules.addEdge(g, gnvf1, vserver1);// true
+
+ rules.addEdge(g, vserver1, vnfc1);// true
+ rules.addEdge(g, vserver2, vnfc1);// true
+
+ rules.addTreeEdge(g, vserver1, tenant1);// true
+ rules.addTreeEdge(g, tenant1, cloudRegion1);// true
+ rules.addTreeEdge(g, cloudRegion1, availibityzone1);// true
+ rules.addEdge(g, vserver1, image1);// true
+ rules.addEdge(g, vserver1, flavor1);// true
+ rules.addEdge(g, vserver1, pserver1);// true
+ rules.addEdge(g, vserver2, image1);
+ rules.addEdge(g, vserver2, flavor1);
+ rules.addEdge(g, pserver1, complex);// true
+
+ rules.addTreeEdge(g, vserver1, linter1);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
+
+ rules.addEdge(g, gnvf1, serviceinstance1);// true
+ rules.addTreeEdge(g, gnvf1, vfmodule1);// true
+ rules.addEdge(g, vfmodule1, volumegroup1);
+
+ // ---------------------------------------------------
+
+ // rules.addTreeEdge(g, vserver1, tenant2);//false
+ // rules.addTreeEdge(g, vserver2, linter1);//false
+ // rules.addEdge(g, vserver1, vnfc2);//false
+
+ expectedResult.add(gnvf1);
+ expectedResult.add(vnfc1);
+ expectedResult.add(vserver1);
+ expectedResult.add(tenant1);
+ expectedResult.add(cloudRegion1);
+ expectedResult.add(image1);
+ expectedResult.add(flavor1);
+ expectedResult.add(pserver1);
+ expectedResult.add(complex);
+
+ expectedResult.add(serviceinstance1);
+ expectedResult.add(availibityzone1);
+ expectedResult.add(volumegroup1);
+ expectedResult.add(linter1);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(l3inter1ipv6addresslist);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "topology-detail-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("vnf-id", "vnfuuid");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ // return;
+ params.put("serviceId", "service-id-1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVserverQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVserverQueryTest.java
index d9821d0..f6c0b7d 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVserverQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailFromVserverQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,124 +26,158 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class TopologyDetailFromVserverQueryTest extends QueryTest {
- public TopologyDetailFromVserverQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0", "nf-type", "sample-nf-type");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "5", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
- Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "6", "aai-node-type", "subnet", "subnet-id", "subnet4-id-0");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "7", "aai-node-type", "l3-network", "network-id", "network4-id-0", "network-name", "network4-name0");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "8", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
- Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "9", "aai-node-type", "subnet", "subnet-id", "subnet6-id-0");
- Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "10", "aai-node-type", "l3-network", "network-id", "network6-id-0", "network-name", "network6-name0");
- Vertex platform = graph.addVertex(T.label, "platform", T.id, "11", "aai-node-type", "platform", "platform-name", "platform0");
- Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "12", "aai-node-type", "line-of-business", "line-of-business-name", "business0");
- Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "13", "aai-node-type", "service-instance", "service-instance-id", "servInstId0", "service-type", "servType0");
- Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "14", "aai-node-type", "owning-entity", "owning-entity-id", "entityId0", "owning-entity-name", "entityName0");
- Vertex project = graph.addVertex(T.label, "project", T.id, "15", "aai-node-type", "project", "project-name", "project0");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "16", "aai-node-type", "vnfc", "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "17", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex complex = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "complex", "physical-location-id", "locationId", "physical-location-type", "locationType", "physical-location-id", "locationId",
- "city", "cityName", "state", "stateName", "postal-code", "zip", "country", "countryName");
- Vertex availabilityZone = graph.addVertex(T.label, "availability-zone", T.id, "19", "aai-node-type", "availability-zone", "availability-zone-name", "azName0", "hypervisor-type", "ht0");
- Vertex virtualDataCenter = graph.addVertex(T.label, "virtual-data-center", T.id, "20", "aai-node-type", "virtual-data-center", "vdc-id", "vdcId0", "vdc-name", "vdcName0");
- Vertex volumeGroup = graph.addVertex(T.label, "volume-group", T.id, "21", "aai-node-type", "volume-group", "volume-group-id", "vgId0", "volume-group-name", "vgName0", "vnf-type", "vnfType0");
- Vertex image = graph.addVertex(T.label, "image", T.id, "22", "aai-node-type", "image", "image-id", "imageId0", "image-name", "imageName0", "image-os-distro", "imageOsDistro0", "image-os-version", "imageOsVersion0", "image-selflink", "imageSl0");
- Vertex flavor = graph.addVertex(T.label, "flavor", T.id, "23", "aai-node-type", "flavor", "flavor-id", "flavorId0", "flavor-name", "flavorName0", "flavor-selflink", "flavorSl0");
- Vertex vfModule = graph.addVertex(T.label, "vf-module", T.id, "24", "aai-node-type", "vf-module", "vf-module-id", "vfmId0", "is-base-vf-module", "true");
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "25", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1", "nf-type", "sample-nf-type");
- Vertex vfModule2 = graph.addVertex(T.label, "vf-module", T.id, "26", "aai-node-type", "vf-module", "vf-module-id", "vfmId1", "is-base-vf-module", "true");
+ public TopologyDetailFromVserverQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid0", "nf-type", "sample-nf-type");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex linterface =
+ graph.addVertex(T.label, "l-interface", T.id, "4", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "5", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
+ Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "6", "aai-node-type", "subnet",
+ "subnet-id", "subnet4-id-0");
+ Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "7", "aai-node-type",
+ "l3-network", "network-id", "network4-id-0", "network-name", "network4-name0");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "8", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
+ Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "9", "aai-node-type", "subnet",
+ "subnet-id", "subnet6-id-0");
+ Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "10", "aai-node-type",
+ "l3-network", "network-id", "network6-id-0", "network-name", "network6-name0");
+ Vertex platform = graph.addVertex(T.label, "platform", T.id, "11", "aai-node-type",
+ "platform", "platform-name", "platform0");
+ Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "12",
+ "aai-node-type", "line-of-business", "line-of-business-name", "business0");
+ Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "13", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId0", "service-type", "servType0");
+ Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "14", "aai-node-type",
+ "owning-entity", "owning-entity-id", "entityId0", "owning-entity-name", "entityName0");
+ Vertex project = graph.addVertex(T.label, "project", T.id, "15", "aai-node-type", "project",
+ "project-name", "project0");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "16", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "17", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex complex = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "complex",
+ "physical-location-id", "locationId", "physical-location-type", "locationType",
+ "physical-location-id", "locationId", "city", "cityName", "state", "stateName",
+ "postal-code", "zip", "country", "countryName");
+ Vertex availabilityZone =
+ graph.addVertex(T.label, "availability-zone", T.id, "19", "aai-node-type",
+ "availability-zone", "availability-zone-name", "azName0", "hypervisor-type", "ht0");
+ Vertex virtualDataCenter = graph.addVertex(T.label, "virtual-data-center", T.id, "20",
+ "aai-node-type", "virtual-data-center", "vdc-id", "vdcId0", "vdc-name", "vdcName0");
+ Vertex volumeGroup =
+ graph.addVertex(T.label, "volume-group", T.id, "21", "aai-node-type", "volume-group",
+ "volume-group-id", "vgId0", "volume-group-name", "vgName0", "vnf-type", "vnfType0");
+ Vertex image = graph.addVertex(T.label, "image", T.id, "22", "aai-node-type", "image",
+ "image-id", "imageId0", "image-name", "imageName0", "image-os-distro", "imageOsDistro0",
+ "image-os-version", "imageOsVersion0", "image-selflink", "imageSl0");
+ Vertex flavor = graph.addVertex(T.label, "flavor", T.id, "23", "aai-node-type", "flavor",
+ "flavor-id", "flavorId0", "flavor-name", "flavorName0", "flavor-selflink", "flavorSl0");
+ Vertex vfModule = graph.addVertex(T.label, "vf-module", T.id, "24", "aai-node-type",
+ "vf-module", "vf-module-id", "vfmId0", "is-base-vf-module", "true");
+ Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "25", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1", "nf-type", "sample-nf-type");
+ Vertex vfModule2 = graph.addVertex(T.label, "vf-module", T.id, "26", "aai-node-type",
+ "vf-module", "vf-module-id", "vfmId1", "is-base-vf-module", "true");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addEdge(g, pserver, vserver);
+ rules.addEdge(g, complex, pserver);
+ rules.addEdge(g, availabilityZone, pserver);
+ rules.addEdge(g, genericvnf, vserver);
+ rules.addTreeEdge(g, genericvnf, vfModule); // related to the genericvnf only, not the
+ // vserver
+ rules.addEdge(g, genericvnf, platform);
+ rules.addEdge(g, genericvnf, lineofbusiness);
+ rules.addEdge(g, genericvnf, vnfc);
+ rules.addEdge(g, genericvnf, servinst);
+ rules.addEdge(g, virtualDataCenter, genericvnf);
+ rules.addEdge(g, volumeGroup, genericvnf);
+ rules.addEdge(g, owningentity, servinst);
+ rules.addEdge(g, project, servinst);
+ rules.addTreeEdge(g, linterface, vserver);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
+ rules.addEdge(g, l3inter1ipv4addresslist, subnet4);
+ rules.addTreeEdge(g, l3network4, subnet4);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
+ rules.addEdge(g, l3inter1ipv6addresslist, subnet6);
+ rules.addTreeEdge(g, l3network6, subnet6);
+ rules.addEdge(g, image, vserver);
+ rules.addEdge(g, flavor, vserver);
+ rules.addTreeEdge(g, genericvnf2, vfModule2);
+ rules.addEdge(g, vserver, vfModule2);
+
+ expectedResult.add(vserver);
+ expectedResult.add(linterface);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(subnet4);
+ expectedResult.add(l3network4);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(subnet6);
+ expectedResult.add(l3network6);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+ expectedResult.add(pserver);
+ expectedResult.add(complex);
+ expectedResult.add(availabilityZone);
+ expectedResult.add(genericvnf);
+ expectedResult.add(vfModule); // related to the genericvnf only, not the vserver
+ expectedResult.add(platform);
+ expectedResult.add(lineofbusiness);
+ expectedResult.add(virtualDataCenter);
+ expectedResult.add(volumeGroup);
+ expectedResult.add(owningentity);
+ expectedResult.add(project);
+ expectedResult.add(vnfc);
+ expectedResult.add(image);
+ expectedResult.add(flavor);
+ expectedResult.add(vfModule2); // related to the vserver
+ }
- GraphTraversalSource g = graph.traversal();
-
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addEdge(g, pserver, vserver);
- rules.addEdge(g, complex, pserver);
- rules.addEdge(g, availabilityZone, pserver);
- rules.addEdge(g, genericvnf, vserver);
- rules.addTreeEdge(g, genericvnf, vfModule); // related to the genericvnf only, not the vserver
- rules.addEdge(g, genericvnf, platform);
- rules.addEdge(g, genericvnf, lineofbusiness);
- rules.addEdge(g, genericvnf, vnfc);
- rules.addEdge(g, genericvnf, servinst);
- rules.addEdge(g, virtualDataCenter, genericvnf);
- rules.addEdge(g, volumeGroup, genericvnf);
- rules.addEdge(g, owningentity, servinst);
- rules.addEdge(g, project, servinst);
- rules.addTreeEdge(g, linterface, vserver);
- rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
- rules.addEdge(g, l3inter1ipv4addresslist, subnet4);
- rules.addTreeEdge(g, l3network4, subnet4);
- rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
- rules.addEdge(g, l3inter1ipv6addresslist, subnet6);
- rules.addTreeEdge(g, l3network6, subnet6);
- rules.addEdge(g, image, vserver);
- rules.addEdge(g, flavor, vserver);
- rules.addTreeEdge(g, genericvnf2, vfModule2);
- rules.addEdge(g, vserver, vfModule2);
+ @Override
+ protected String getQueryName() {
+ return "topology-detail-fromVserver";
+ }
- expectedResult.add(vserver);
- expectedResult.add(linterface);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(subnet4);
- expectedResult.add(l3network4);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(subnet6);
- expectedResult.add(l3network6);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
- expectedResult.add(pserver);
- expectedResult.add(complex);
- expectedResult.add(availabilityZone);
- expectedResult.add(genericvnf);
- expectedResult.add(vfModule); // related to the genericvnf only, not the vserver
- expectedResult.add(platform);
- expectedResult.add(lineofbusiness);
- expectedResult.add(virtualDataCenter);
- expectedResult.add(volumeGroup);
- expectedResult.add(owningentity);
- expectedResult.add(project);
- expectedResult.add(vnfc);
- expectedResult.add(image);
- expectedResult.add(flavor);
- expectedResult.add(vfModule2); // related to the vserver
- }
- @Override
- protected String getQueryName() {
- return "topology-detail-fromVserver";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "cloud-region")
- .has("cloud-region-id", "regionid0")
- .has("cloud-owner", "cloudOwnername0")
- .in("org.onap.relationships.inventory.BelongsTo")
- .has("aai-node-type","tenant")
- .has("tenant-id", "tenantid0")
- .in("org.onap.relationships.inventory.BelongsTo")
- .has("aai-node-type","vserver")
- .has("vserver-id", "vserverid0");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region").has("cloud-region-id", "regionid0")
+ .has("cloud-owner", "cloudOwnername0").in("org.onap.relationships.inventory.BelongsTo")
+ .has("aai-node-type", "tenant").has("tenant-id", "tenantid0")
+ .in("org.onap.relationships.inventory.BelongsTo").has("aai-node-type", "vserver")
+ .has("vserver-id", "vserverid0");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-} \ No newline at end of file
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailsQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailsQueryTest.java
index 36911a8..c8e7dec 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailsQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyDetailsQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,137 +30,182 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class TopologyDetailsQueryTest extends QueryTest {
- public TopologyDetailsQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //set up test graph
- Vertex genericvnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnfid0","vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
- Vertex platform = graph.addVertex(T.label, "platform", T.id, "1", "aai-node-type", "platform", "platform-name", "platform0");
- Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "2", "aai-node-type", "line-of-business", "line-of-business-name", "business0");
- Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type", "service-instance", "service-instance-id", "servInstId0", "service-type", "servType0");
- Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "4", "aai-node-type", "owning-entity", "owning-entity-id", "entityId0", "owning-entity-name", "entityName0");
- Vertex project = graph.addVertex(T.label, "project", T.id, "5", "aai-node-type", "project", "project-name", "project0");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "6", "aai-node-type", "vnfc", "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserverid0");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "8", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "9", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
- Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "10", "aai-node-type", "subnet", "subnet-id", "subnet4-id-0");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type", "l3-network", "network-id", "network4-id-0", "network-name", "network4-name0");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "12", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
- Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "13", "aai-node-type", "subnet", "subnet-id", "subnet6-id-0");
- Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "14", "aai-node-type", "l3-network", "network-id", "network6-id-0", "network-name", "network6-name0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "15", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName0");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "16", "aai-node-type", "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "17", "aai-node-type", "pserver", "hostname", "pservername1");
- Vertex complex = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "complex", "physical-location-id", "locationId", "physical-location-type", "locationType", "physical-location-id", "locationId",
- "city", "cityName", "state", "stateName", "postal-code", "zip", "country", "countryName");
-
-
-
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "20", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1","vnf-name", "vnf-name-2", "nf-type", "sample-nf-type1");
- Vertex platform1 = graph.addVertex(T.label, "platform", T.id, "21", "aai-node-type", "platform", "platform-name", "platform1");
- Vertex lineofbusiness1 = graph.addVertex(T.label, "line-of-business", T.id, "22", "aai-node-type", "line-of-business", "line-of-business-name", "business1");
- Vertex servinst1 = graph.addVertex(T.label, "service-instance", T.id, "23", "aai-node-type", "service-instance", "service-instance-id", "servInstId1", "service-type", "servType1");
- Vertex owningentity1 = graph.addVertex(T.label, "owning-entity", T.id, "24", "aai-node-type", "owning-entity", "owning-entity-id", "entityId1", "owning-entity-name", "entityName1");
- Vertex project1 = graph.addVertex(T.label, "project", T.id, "25", "aai-node-type", "project", "project-name", "project1");
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "26", "aai-node-type", "vnfc", "vnfc-name", "vnfc1", "nfc-naming-code", "namingCode1", "nfc-function", "function1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "27", "aai-node-type", "vserver", "vserver-id", "vserverid1");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "28", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist1 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "29", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
- Vertex subnet41 = graph.addVertex(T.label, "subnet", T.id, "30", "aai-node-type", "subnet", "subnet-id", "subnet4-id-1");
- Vertex l3network41 = graph.addVertex(T.label, "l3-network", T.id, "31", "aai-node-type", "l3-network", "network-id", "network4-id-1", "network-name", "network4-name1");
- Vertex l3inter1ipv6addresslist1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "32", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
- Vertex subnet61 = graph.addVertex(T.label, "subnet", T.id, "33", "aai-node-type", "subnet", "subnet-id", "subnet6-id-1");
- Vertex l3network61 = graph.addVertex(T.label, "l3-network", T.id, "34", "aai-node-type", "l3-network", "network-id", "network6-id-1", "network-name", "network6-name1");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "35", "aai-node-type", "tenant", "tenant-id", "tenantid0", "tenant-name", "tenantName1");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "36", "aai-node-type", "cloud-region", "cloud-region-id", "regionid1", "cloud-owner", "cloudOwnername1");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "37", "aai-node-type", "pserver", "hostname", "pservername2");
- Vertex complex1 = graph.addVertex(T.label, "pserver", T.id, "38", "aai-node-type", "complex", "physical-location-id", "locationId1", "physical-location-type", "locationType1", "physical-location-id", "locationId1",
- "city", "cityName1", "state", "stateName1", "postal-code", "zip1", "country", "countryName1");
-
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, genericvnf, platform);
- rules.addEdge(g, genericvnf, lineofbusiness);
- rules.addEdge(g, genericvnf, servinst);
- rules.addEdge(g, owningentity, servinst);
- rules.addEdge(g, project, servinst);
- rules.addEdge(g, genericvnf, vnfc);
- rules.addEdge(g, genericvnf,vserver);
- rules.addTreeEdge(g, linterface, vserver);
- rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
- rules.addEdge(g, l3inter1ipv4addresslist, subnet4);
- rules.addTreeEdge(g, l3network4, subnet4);
- rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
- rules.addEdge(g, l3inter1ipv6addresslist, subnet6);
- rules.addTreeEdge(g, l3network6, subnet6);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, pserver, vserver);
- rules.addEdge(g, complex, pserver);
-
-
- //false
- rules.addEdge(g, genericvnf1, platform1);
- rules.addEdge(g, genericvnf1, lineofbusiness1);
- rules.addEdge(g, genericvnf1, servinst1);
- rules.addEdge(g, owningentity1, servinst1);
- rules.addEdge(g, project1, servinst1);
- rules.addEdge(g, genericvnf1, vnfc1);
- rules.addEdge(g, genericvnf1,vserver1);
- rules.addTreeEdge(g, linterface1, vserver1);
- rules.addTreeEdge(g, l3inter1ipv4addresslist1, linterface1);
- rules.addEdge(g, l3inter1ipv4addresslist1, subnet41);
- rules.addTreeEdge(g, l3network41, subnet41);
- rules.addTreeEdge(g, l3inter1ipv6addresslist1, linterface1);
- rules.addEdge(g, l3inter1ipv6addresslist1, subnet61);
- rules.addTreeEdge(g, l3network61, subnet61);
- rules.addTreeEdge(g, vserver1, tenant1);
- rules.addTreeEdge(g, tenant1, cloudregion1);
- rules.addEdge(g, pserver1, vserver1);
- rules.addEdge(g, complex1, pserver1);
-
-
-
-
- expectedResult.add(genericvnf);
- expectedResult.add(platform);
- expectedResult.add(lineofbusiness);
- expectedResult.add(owningentity);
- expectedResult.add(project);
- expectedResult.add(vnfc);
- expectedResult.add(vserver);
- expectedResult.add(linterface);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(subnet4);
- expectedResult.add(l3network4);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(subnet6);
- expectedResult.add(l3network6);
- expectedResult.add(cloudregion);
- expectedResult.add(complex);
-
-
-
- }
- @Override
- protected String getQueryName() {
- return "topology-detail";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-name", "vnf-name-1").has("vnf-id", "vnfid0");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public TopologyDetailsQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // set up test graph
+ Vertex genericvnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid0", "vnf-name", "vnf-name-1", "nf-type", "sample-nf-type");
+ Vertex platform = graph.addVertex(T.label, "platform", T.id, "1", "aai-node-type",
+ "platform", "platform-name", "platform0");
+ Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "2",
+ "aai-node-type", "line-of-business", "line-of-business-name", "business0");
+ Vertex servinst = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId0", "service-type", "servType0");
+ Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "4", "aai-node-type",
+ "owning-entity", "owning-entity-id", "entityId0", "owning-entity-name", "entityName0");
+ Vertex project = graph.addVertex(T.label, "project", T.id, "5", "aai-node-type", "project",
+ "project-name", "project0");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "6", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc0", "nfc-naming-code", "namingCode0", "nfc-function", "function0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserverid0");
+ Vertex linterface =
+ graph.addVertex(T.label, "l-interface", T.id, "8", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "9", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-0");
+ Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "10", "aai-node-type", "subnet",
+ "subnet-id", "subnet4-id-0");
+ Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "11", "aai-node-type",
+ "l3-network", "network-id", "network4-id-0", "network-name", "network4-name0");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "12", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-0");
+ Vertex subnet6 = graph.addVertex(T.label, "subnet", T.id, "13", "aai-node-type", "subnet",
+ "subnet-id", "subnet6-id-0");
+ Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "14", "aai-node-type",
+ "l3-network", "network-id", "network6-id-0", "network-name", "network6-name0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "15", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName0");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "16", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid0", "cloud-owner", "cloudOwnername0");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "17", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex complex = graph.addVertex(T.label, "pserver", T.id, "18", "aai-node-type", "complex",
+ "physical-location-id", "locationId", "physical-location-type", "locationType",
+ "physical-location-id", "locationId", "city", "cityName", "state", "stateName",
+ "postal-code", "zip", "country", "countryName");
+
+ Vertex genericvnf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "20", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnfid1", "vnf-name", "vnf-name-2", "nf-type", "sample-nf-type1");
+ Vertex platform1 = graph.addVertex(T.label, "platform", T.id, "21", "aai-node-type",
+ "platform", "platform-name", "platform1");
+ Vertex lineofbusiness1 = graph.addVertex(T.label, "line-of-business", T.id, "22",
+ "aai-node-type", "line-of-business", "line-of-business-name", "business1");
+ Vertex servinst1 = graph.addVertex(T.label, "service-instance", T.id, "23", "aai-node-type",
+ "service-instance", "service-instance-id", "servInstId1", "service-type", "servType1");
+ Vertex owningentity1 =
+ graph.addVertex(T.label, "owning-entity", T.id, "24", "aai-node-type", "owning-entity",
+ "owning-entity-id", "entityId1", "owning-entity-name", "entityName1");
+ Vertex project1 = graph.addVertex(T.label, "project", T.id, "25", "aai-node-type",
+ "project", "project-name", "project1");
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "26", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc1", "nfc-naming-code", "namingCode1", "nfc-function", "function1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "27", "aai-node-type",
+ "vserver", "vserver-id", "vserverid1");
+ Vertex linterface1 =
+ graph.addVertex(T.label, "l-interface", T.id, "28", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist1 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "29", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
+ Vertex subnet41 = graph.addVertex(T.label, "subnet", T.id, "30", "aai-node-type", "subnet",
+ "subnet-id", "subnet4-id-1");
+ Vertex l3network41 = graph.addVertex(T.label, "l3-network", T.id, "31", "aai-node-type",
+ "l3-network", "network-id", "network4-id-1", "network-name", "network4-name1");
+ Vertex l3inter1ipv6addresslist1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "32", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
+ Vertex subnet61 = graph.addVertex(T.label, "subnet", T.id, "33", "aai-node-type", "subnet",
+ "subnet-id", "subnet6-id-1");
+ Vertex l3network61 = graph.addVertex(T.label, "l3-network", T.id, "34", "aai-node-type",
+ "l3-network", "network-id", "network6-id-1", "network-name", "network6-name1");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "35", "aai-node-type", "tenant",
+ "tenant-id", "tenantid0", "tenant-name", "tenantName1");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "36", "aai-node-type",
+ "cloud-region", "cloud-region-id", "regionid1", "cloud-owner", "cloudOwnername1");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "37", "aai-node-type",
+ "pserver", "hostname", "pservername2");
+ Vertex complex1 = graph.addVertex(T.label, "pserver", T.id, "38", "aai-node-type",
+ "complex", "physical-location-id", "locationId1", "physical-location-type",
+ "locationType1", "physical-location-id", "locationId1", "city", "cityName1", "state",
+ "stateName1", "postal-code", "zip1", "country", "countryName1");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, genericvnf, platform);
+ rules.addEdge(g, genericvnf, lineofbusiness);
+ rules.addEdge(g, genericvnf, servinst);
+ rules.addEdge(g, owningentity, servinst);
+ rules.addEdge(g, project, servinst);
+ rules.addEdge(g, genericvnf, vnfc);
+ rules.addEdge(g, genericvnf, vserver);
+ rules.addTreeEdge(g, linterface, vserver);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist, linterface);
+ rules.addEdge(g, l3inter1ipv4addresslist, subnet4);
+ rules.addTreeEdge(g, l3network4, subnet4);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist, linterface);
+ rules.addEdge(g, l3inter1ipv6addresslist, subnet6);
+ rules.addTreeEdge(g, l3network6, subnet6);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, pserver, vserver);
+ rules.addEdge(g, complex, pserver);
+
+ // false
+ rules.addEdge(g, genericvnf1, platform1);
+ rules.addEdge(g, genericvnf1, lineofbusiness1);
+ rules.addEdge(g, genericvnf1, servinst1);
+ rules.addEdge(g, owningentity1, servinst1);
+ rules.addEdge(g, project1, servinst1);
+ rules.addEdge(g, genericvnf1, vnfc1);
+ rules.addEdge(g, genericvnf1, vserver1);
+ rules.addTreeEdge(g, linterface1, vserver1);
+ rules.addTreeEdge(g, l3inter1ipv4addresslist1, linterface1);
+ rules.addEdge(g, l3inter1ipv4addresslist1, subnet41);
+ rules.addTreeEdge(g, l3network41, subnet41);
+ rules.addTreeEdge(g, l3inter1ipv6addresslist1, linterface1);
+ rules.addEdge(g, l3inter1ipv6addresslist1, subnet61);
+ rules.addTreeEdge(g, l3network61, subnet61);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addEdge(g, pserver1, vserver1);
+ rules.addEdge(g, complex1, pserver1);
+
+ expectedResult.add(genericvnf);
+ expectedResult.add(platform);
+ expectedResult.add(lineofbusiness);
+ expectedResult.add(owningentity);
+ expectedResult.add(project);
+ expectedResult.add(vnfc);
+ expectedResult.add(vserver);
+ expectedResult.add(linterface);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(subnet4);
+ expectedResult.add(l3network4);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(subnet6);
+ expectedResult.add(l3network6);
+ expectedResult.add(cloudregion);
+ expectedResult.add(complex);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "topology-detail";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-name", "vnf-name-1").has("vnf-id", "vnfid0");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromCloudRegionIdAndServiceIdTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromCloudRegionIdAndServiceIdTest.java
index 266077a..250241a 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromCloudRegionIdAndServiceIdTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromCloudRegionIdAndServiceIdTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,133 +26,188 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class TopologyFromCloudRegionIdAndServiceIdTest extends QueryTest {
- public TopologyFromCloudRegionIdAndServiceIdTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "61", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
- Vertex availibityzone1 = graph.addVertex(T.label, "cloud-region", T.id, "2", "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1", "hypervisor-type", "hypervisortype-1");
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "service-id", "service-id-1");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1", "vserver-selflink", "vserver-selflink-1");
- Vertex flavor1 = graph.addVertex(T.label, "flavor", T.id, "8", "aai-node-type", "flavor", "flavor-id", "flavor-id-1", "flavor-name", "flavor-name-1", "flavor-selflink", "flavor-selflink-1");
- Vertex image1 = graph.addVertex(T.label, "image", T.id, "9", "aai-node-type", "image", "image-id", "image-id-1", "image-name", "image-name-1", "image-os-distro", "image-os-distro-1", "image-os-version", "image-os-version-1");
- Vertex volume1 = graph.addVertex(T.label, "volume", T.id, "10", "aai-node-type", "volume", "volume-id", "volume-id-1", "volume-selflink", "volume-selflink-1");
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "11", "aai-node-type", "vnfc", "vnfc-name", "vnfc-name-1", "nfc-naming-code", "nfc-naming-code-1");
- Vertex snapshot1 = graph.addVertex(T.label, "snapshot", T.id, "12", "aai-node-type", "snapshot", "snapshot-id", "snapshot-id-1");
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "13", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "14", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex logicallink1 = graph.addVertex(T.label, "logical-link", T.id, "15", "aai-node-type", "logical-link", "link-name", "link-name-1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "16", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
- Vertex subnet14 = graph.addVertex(T.label, "subnet", T.id, "17", "aai-node-type", "subnet", "subnet-id", "subnet-id-14");
- Vertex l3network14 = graph.addVertex(T.label, "l3-network", T.id, "18", "aai-node-type", "l3-network", "network-id", "network-id-14", "network-name", "network-name-14");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "19", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
- Vertex subnet16 = graph.addVertex(T.label, "subnet", T.id, "20", "aai-node-type", "subnet", "subnet-id", "subnet-id-16");
- Vertex l3network16 = graph.addVertex(T.label, "l3-network", T.id, "21", "aai-node-type", "l3-network", "network-id", "network-id-16", "network-name", "network-name16");
-
- Vertex gnvf2 = graph.addVertex(T.label, "generic-vnf", T.id, "33", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "service-id", "service-id-wrong");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "36", "aai-node-type", "service-instance", "service-instance-id", "servInstId-2", "service-type", "servType-2", "service-role", "servRole-2");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "37", "aai-node-type", "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2", "vserver-selflink", "vserver-selflink-2");
- Vertex flavor2 = graph.addVertex(T.label, "flavor", T.id, "38", "aai-node-type", "flavor", "flavor-id", "flavor-id-2", "flavor-name", "flavor-name-2", "flavor-selflink", "flavor-selflink-2");
- Vertex image2 = graph.addVertex(T.label, "image", T.id, "39", "aai-node-type", "image", "image-id", "image-id-2", "image-name", "image-name-2", "image-os-distro", "image-os-distro-2", "image-os-version", "image-os-version-2");
- Vertex volume2 = graph.addVertex(T.label, "volume", T.id, "40", "aai-node-type", "volume", "volume-id", "volume-id-2", "volume-selflink", "volume-selflink-2");
- Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "41", "aai-node-type", "vnfc", "vnfc-name", "vnfc-name-2", "nfc-naming-code", "nfc-naming-code-2");
- Vertex snapshot2 = graph.addVertex(T.label, "snapshot", T.id, "42", "aai-node-type", "snapshot", "snapshot-id", "snapshot-id-2");
- Vertex vfmodule2 = graph.addVertex(T.label, "vf-module", T.id, "43", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-2", "vf-module-name", "vf-module-name2");
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "44", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
- Vertex logicallink2 = graph.addVertex(T.label, "logical-link", T.id, "45", "aai-node-type", "logical-link", "link-name", "link-name-2", "l-interface-name", "l-interface-name2");
- Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "46", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "l3-interface-ipv4-address-2");
- Vertex subnet24 = graph.addVertex(T.label, "subnet", T.id, "47", "aai-node-type", "subnet", "subnet-id", "subnet-id-24");
- Vertex l3network24 = graph.addVertex(T.label, "l3-network", T.id, "48", "aai-node-type", "l3-network", "network-id", "network-id-24", "network-name", "network-name-24");
- Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "49", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "l3-interface-ipv6-address-2");
- Vertex subnet26 = graph.addVertex(T.label, "subnet", T.id, "50", "aai-node-type", "subnet", "subnet-id", "subnet-id-26");
- Vertex l3network26 = graph.addVertex(T.label, "l3-network", T.id, "51", "aai-node-type", "l3-network", "network-id", "network-id-26", "network-name", "network-name26");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, cloudregion1, availibityzone1);//true
- rules.addEdge(g, availibityzone1, gnvf1);//true
- rules.addEdge(g, gnvf1, serviceinstance1);//true
- rules.addEdge(g, gnvf1, vserver1);//true
-
- rules.addEdge(g, vserver1, flavor1);//true
- rules.addEdge(g, vserver1, image1);//true
- rules.addTreeEdge(g, vserver1, volume1);//true
- rules.addEdge(g, vserver1, vnfc1);//true
- rules.addEdge(g, vserver1, snapshot1);//true
- rules.addEdge(g, vserver1, vfmodule1);//true
- rules.addEdge(g, linter1, logicallink1);//true
- rules.addTreeEdge(g, vserver1, linter1);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);//true
- rules.addEdge(g, l3inter1ipv4addresslist, subnet14);//true
- rules.addTreeEdge(g, subnet14, l3network14);//true
- rules.addEdge(g, l3inter1ipv6addresslist, subnet16);//true
- rules.addTreeEdge(g, subnet16, l3network16);//true
-
- // false
- rules.addEdge(g, availibityzone1, gnvf2);
- rules.addEdge(g, gnvf2, serviceinstance2);
- rules.addEdge(g, gnvf2, vserver2);
- rules.addEdge(g, vserver2, flavor2);
- rules.addEdge(g, vserver2, image2);
- rules.addTreeEdge(g, vserver2, volume2);
- rules.addEdge(g, vserver2, vnfc2);
- rules.addEdge(g, vserver2, snapshot2);
- rules.addEdge(g, vserver2, vfmodule2);
- rules.addEdge(g, linter2, logicallink2);
- rules.addTreeEdge(g, vserver2, linter2);
- rules.addTreeEdge(g, linter2, l3inter1ipv4addresslist2);
- rules.addTreeEdge(g, linter2, l3inter1ipv6addresslist2);
- rules.addEdge(g, l3inter1ipv4addresslist2, subnet24);
- rules.addTreeEdge(g, subnet24, l3network24);
- rules.addEdge(g, l3inter1ipv6addresslist2, subnet26);
- rules.addTreeEdge(g, subnet26, l3network26);
-
-
- expectedResult.add(serviceinstance1);
- expectedResult.add(vserver1);
- expectedResult.add(flavor1);
- expectedResult.add(image1);
- expectedResult.add(volume1);
- expectedResult.add(vnfc1);
- expectedResult.add(snapshot1);
- expectedResult.add(vfmodule1);
- expectedResult.add(linter1);
- expectedResult.add(logicallink1);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(subnet14);
- expectedResult.add(l3network14);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(subnet16);
- expectedResult.add(l3network16);
-
- }
-
- @Override
- protected String getQueryName() {
- return "topology-fromCloudRegionIdandServiceId";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type","cloud-region").has("cloud-owner","cloud-owner-1").has("cloud-region-id","cloud-region-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("serviceId", "service-id-1");
- }
+ public TopologyFromCloudRegionIdAndServiceIdTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "61",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-owner", "cloud-owner-1");
+ Vertex availibityzone1 = graph.addVertex(T.label, "cloud-region", T.id, "2",
+ "aai-node-type", "availability-zone", "availability-zone-name", "az-name-1",
+ "hypervisor-type", "hypervisortype-1");
+ Vertex gnvf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "service-id", "service-id-1");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "7", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1", "vserver-selflink",
+ "vserver-selflink-1");
+ Vertex flavor1 = graph.addVertex(T.label, "flavor", T.id, "8", "aai-node-type", "flavor",
+ "flavor-id", "flavor-id-1", "flavor-name", "flavor-name-1", "flavor-selflink",
+ "flavor-selflink-1");
+ Vertex image1 = graph.addVertex(T.label, "image", T.id, "9", "aai-node-type", "image",
+ "image-id", "image-id-1", "image-name", "image-name-1", "image-os-distro",
+ "image-os-distro-1", "image-os-version", "image-os-version-1");
+ Vertex volume1 = graph.addVertex(T.label, "volume", T.id, "10", "aai-node-type", "volume",
+ "volume-id", "volume-id-1", "volume-selflink", "volume-selflink-1");
+ Vertex vnfc1 = graph.addVertex(T.label, "vnfc", T.id, "11", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc-name-1", "nfc-naming-code", "nfc-naming-code-1");
+ Vertex snapshot1 = graph.addVertex(T.label, "snapshot", T.id, "12", "aai-node-type",
+ "snapshot", "snapshot-id", "snapshot-id-1");
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "13", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "14", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex logicallink1 = graph.addVertex(T.label, "logical-link", T.id, "15", "aai-node-type",
+ "logical-link", "link-name", "link-name-1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "16", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
+ Vertex subnet14 = graph.addVertex(T.label, "subnet", T.id, "17", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-14");
+ Vertex l3network14 = graph.addVertex(T.label, "l3-network", T.id, "18", "aai-node-type",
+ "l3-network", "network-id", "network-id-14", "network-name", "network-name-14");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "19", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
+ Vertex subnet16 = graph.addVertex(T.label, "subnet", T.id, "20", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-16");
+ Vertex l3network16 = graph.addVertex(T.label, "l3-network", T.id, "21", "aai-node-type",
+ "l3-network", "network-id", "network-id-16", "network-name", "network-name16");
+
+ Vertex gnvf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "33", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "service-id", "service-id-wrong");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "36",
+ "aai-node-type", "service-instance", "service-instance-id", "servInstId-2",
+ "service-type", "servType-2", "service-role", "servRole-2");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "37", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2",
+ "vserver-selflink", "vserver-selflink-2");
+ Vertex flavor2 = graph.addVertex(T.label, "flavor", T.id, "38", "aai-node-type", "flavor",
+ "flavor-id", "flavor-id-2", "flavor-name", "flavor-name-2", "flavor-selflink",
+ "flavor-selflink-2");
+ Vertex image2 = graph.addVertex(T.label, "image", T.id, "39", "aai-node-type", "image",
+ "image-id", "image-id-2", "image-name", "image-name-2", "image-os-distro",
+ "image-os-distro-2", "image-os-version", "image-os-version-2");
+ Vertex volume2 = graph.addVertex(T.label, "volume", T.id, "40", "aai-node-type", "volume",
+ "volume-id", "volume-id-2", "volume-selflink", "volume-selflink-2");
+ Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "41", "aai-node-type", "vnfc",
+ "vnfc-name", "vnfc-name-2", "nfc-naming-code", "nfc-naming-code-2");
+ Vertex snapshot2 = graph.addVertex(T.label, "snapshot", T.id, "42", "aai-node-type",
+ "snapshot", "snapshot-id", "snapshot-id-2");
+ Vertex vfmodule2 = graph.addVertex(T.label, "vf-module", T.id, "43", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-2", "vf-module-name", "vf-module-name2");
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "44", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+ Vertex logicallink2 = graph.addVertex(T.label, "logical-link", T.id, "45", "aai-node-type",
+ "logical-link", "link-name", "link-name-2", "l-interface-name", "l-interface-name2");
+ Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "46", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-2");
+ Vertex subnet24 = graph.addVertex(T.label, "subnet", T.id, "47", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-24");
+ Vertex l3network24 = graph.addVertex(T.label, "l3-network", T.id, "48", "aai-node-type",
+ "l3-network", "network-id", "network-id-24", "network-name", "network-name-24");
+ Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "49", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-2");
+ Vertex subnet26 = graph.addVertex(T.label, "subnet", T.id, "50", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-26");
+ Vertex l3network26 = graph.addVertex(T.label, "l3-network", T.id, "51", "aai-node-type",
+ "l3-network", "network-id", "network-id-26", "network-name", "network-name26");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, cloudregion1, availibityzone1);// true
+ rules.addEdge(g, availibityzone1, gnvf1);// true
+ rules.addEdge(g, gnvf1, serviceinstance1);// true
+ rules.addEdge(g, gnvf1, vserver1);// true
+
+ rules.addEdge(g, vserver1, flavor1);// true
+ rules.addEdge(g, vserver1, image1);// true
+ rules.addTreeEdge(g, vserver1, volume1);// true
+ rules.addEdge(g, vserver1, vnfc1);// true
+ rules.addEdge(g, vserver1, snapshot1);// true
+ rules.addEdge(g, vserver1, vfmodule1);// true
+ rules.addEdge(g, linter1, logicallink1);// true
+ rules.addTreeEdge(g, vserver1, linter1);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
+ rules.addEdge(g, l3inter1ipv4addresslist, subnet14);// true
+ rules.addTreeEdge(g, subnet14, l3network14);// true
+ rules.addEdge(g, l3inter1ipv6addresslist, subnet16);// true
+ rules.addTreeEdge(g, subnet16, l3network16);// true
+
+ // false
+ rules.addEdge(g, availibityzone1, gnvf2);
+ rules.addEdge(g, gnvf2, serviceinstance2);
+ rules.addEdge(g, gnvf2, vserver2);
+ rules.addEdge(g, vserver2, flavor2);
+ rules.addEdge(g, vserver2, image2);
+ rules.addTreeEdge(g, vserver2, volume2);
+ rules.addEdge(g, vserver2, vnfc2);
+ rules.addEdge(g, vserver2, snapshot2);
+ rules.addEdge(g, vserver2, vfmodule2);
+ rules.addEdge(g, linter2, logicallink2);
+ rules.addTreeEdge(g, vserver2, linter2);
+ rules.addTreeEdge(g, linter2, l3inter1ipv4addresslist2);
+ rules.addTreeEdge(g, linter2, l3inter1ipv6addresslist2);
+ rules.addEdge(g, l3inter1ipv4addresslist2, subnet24);
+ rules.addTreeEdge(g, subnet24, l3network24);
+ rules.addEdge(g, l3inter1ipv6addresslist2, subnet26);
+ rules.addTreeEdge(g, subnet26, l3network26);
+
+ expectedResult.add(serviceinstance1);
+ expectedResult.add(vserver1);
+ expectedResult.add(flavor1);
+ expectedResult.add(image1);
+ expectedResult.add(volume1);
+ expectedResult.add(vnfc1);
+ expectedResult.add(snapshot1);
+ expectedResult.add(vfmodule1);
+ expectedResult.add(linter1);
+ expectedResult.add(logicallink1);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(subnet14);
+ expectedResult.add(l3network14);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(subnet16);
+ expectedResult.add(l3network16);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "topology-fromCloudRegionIdandServiceId";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "cloud-region").has("cloud-owner", "cloud-owner-1")
+ .has("cloud-region-id", "cloud-region-id-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("serviceId", "service-id-1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromSubscriberNameAndServiceTypeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromSubscriberNameAndServiceTypeTest.java
index 7164dba..46f47de 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromSubscriberNameAndServiceTypeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologyFromSubscriberNameAndServiceTypeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,9 @@
*/
package org.onap.aai.rest.search;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.CaseFormat;
+
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -26,232 +29,239 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.CaseFormat;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TopologyFromSubscriberNameAndServiceTypeTest extends QueryTest {
- private static final Logger LOGGER = LoggerFactory
- .getLogger(TopologyFromSubscriberNameAndServiceTypeTest.class);
-
- public TopologyFromSubscriberNameAndServiceTypeTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- // Set up the test graph
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "1", "aai-node-type", "customer",
- "global-customer-id", "global-customer-id-1", "subscriber-name", "subscriber-name-1");
- //Customer has 2 subscriptions - we filter by subscription-type
- Vertex servicesubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type",
- "service-subscription", "service-type", "service-type-1");
- Vertex servicesubscription112 = graph.addVertex(T.label, "service-subscription", T.id, "112", "aai-node-type",
- "service-subscription", "service-type", "service-type-112");
-
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "3", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name",
- "service-instance-name-1");
- Vertex serviceinstance113 = graph.addVertex(T.label, "service-instance", T.id, "113", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-113", "service-instance-name",
- "service-instance-name-113");
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-1", "vnf-name", "vnf-name-1", "service-id", "service-id-1");
- Vertex gnvf114 = graph.addVertex(T.label, "generic-vnf", T.id, "114", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-114", "vnf-name", "vnf-name-2", "service-id", "service-id-2");
-
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname",
- "pservername1");
- Vertex pserver115 = graph.addVertex(T.label, "pserver", T.id, "115", "aai-node-type", "pserver", "hostname",
- "pservername115");
-
- Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
- "physical-location-id", "physical-location-id-1", "country", "US");
-
- Vertex pnfint1 = graph.addVertex(T.label, "p-interface", T.id, "7", "aai-node-type", "p-interface",
- "interface-name", "ge0/0/0");
-
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "8", "aai-node-type", "vserver", "vserver-id",
- "vserver-id-1", "vserver-name", "vserver-name-1", "vserver-selflink", "vserver-selflink-1");
-
- Vertex vserver116 = graph.addVertex(T.label, "vserver", T.id, "116", "aai-node-type", "vserver", "vserver-id",
- "vserver-id-116", "vserver-name", "vserver-name-116", "vserver-selflink", "vserver-selflink-116");
-
- Vertex flavor1 = graph.addVertex(T.label, "flavor", T.id, "9", "aai-node-type", "flavor", "flavor-id",
- "flavor-id-1", "flavor-name", "flavor-name-1", "flavor-selflink", "flavor-selflink-1");
- Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image", "image-id",
- "image-id-1", "image-name", "image-name-1", "image-os-distro", "image-os-distro-1", "image-os-version",
- "image-os-version-1");
-
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
- "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex logicallink1 = graph.addVertex(T.label, "logical-link", T.id, "12", "aai-node-type", "logical-link",
- "link-name", "link-name-1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "13",
- "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address",
- "l3-interface-ipv4-address-1");
- Vertex subnet1 = graph.addVertex(T.label, "subnet", T.id, "14", "aai-node-type", "subnet", "subnet-id",
- "subnet-id-1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "15", "aai-node-type", "l3-network",
- "network-id", "network-id-1", "network-name", "network-name-1");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "16",
- "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address",
- "l3-interface-ipv6-address-1");
- Vertex subnet2 = graph.addVertex(T.label, "subnet", T.id, "17", "aai-node-type", "subnet", "subnet-id",
- "subnet-id-2");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "18", "aai-node-type", "l3-network",
- "network-id", "network-id-2", "network-name", "network-name2");
-
- Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "19", "aai-node-type", "customer",
- "global-customer-id", "global-customer-id-2", "subscriber-name", "subscriber-name-2");
- Vertex servicesubscription2 = graph.addVertex(T.label, "service-subscription", T.id, "20", "aai-node-type",
- "service-subscription", "service-type", "service-type-2");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "21", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name",
- "service-instance-name-2");
- Vertex gnvf2 = graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type", "generic-vnf", "vnf-id",
- "vnf-id-2", "vnf-name", "vnf-name-2", "service-id", "service-id-2");
-
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "23", "aai-node-type", "pserver", "hostname",
- "pservername1");
- Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "24", "aai-node-type", "complex",
- "physical-location-id", "physical-location-id-2", "country", "US");
- Vertex pnfint2 = graph.addVertex(T.label, "p-interface", T.id, "25", "aai-node-type", "p-interface",
- "interface-name", "ge0/0/0");
-
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "251", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
-
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "26", "aai-node-type", "vserver", "vserver-id",
- "vserver-id-2", "vserver-name", "vserver-name-2", "vserver-selflink", "vserver-selflink-2");
- Vertex flavor2 = graph.addVertex(T.label, "flavor", T.id, "27", "aai-node-type", "flavor", "flavor-id",
- "flavor-id-2", "flavor-name", "flavor-name-2", "flavor-selflink", "flavor-selflink-2");
- Vertex image2 = graph.addVertex(T.label, "image", T.id, "28", "aai-node-type", "image", "image-id",
- "image-id-2", "image-name", "image-name-2", "image-os-distro", "image-os-distro-2", "image-os-version",
- "image-os-version-2");
-
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "29", "aai-node-type", "l-interface",
- "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
- Vertex logicallink2 = graph.addVertex(T.label, "logical-link", T.id, "30", "aai-node-type", "logical-link",
- "link-name", "link-name-2", "l-interface-name", "l-interface-name2");
- Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "31",
- "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address",
- "l3-interface-ipv4-address-2");
- Vertex subnet3 = graph.addVertex(T.label, "subnet", T.id, "32", "aai-node-type", "subnet", "subnet-id",
- "subnet-id-3");
- Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "33", "aai-node-type", "l3-network",
- "network-id", "network-id-3", "network-name", "network-name-3");
- Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "34",
- "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address",
- "l3-interface-ipv6-address-2");
- Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "35", "aai-node-type", "subnet", "subnet-id",
- "subnet-id-4");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "36", "aai-node-type", "l3-network",
- "network-id", "network-id-4", "network-name", "network-name4");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, customer1, servicesubscription1);// true
-
- rules.addTreeEdge(g, customer1, servicesubscription112);// true
-
- rules.addTreeEdge(g, servicesubscription1, serviceinstance1);// true
- rules.addTreeEdge(g, servicesubscription1, serviceinstance113);// true
-
-
- rules.addEdge(g, serviceinstance1, gnvf1);// true
- rules.addEdge(g, serviceinstance113, gnvf114);// true
-
- rules.addEdge(g, gnvf1, vserver1);// true
- rules.addEdge(g, gnvf114, vserver116);// true
-
- rules.addEdge(g, gnvf1, pserver1);// true
- rules.addEdge(g, gnvf114, pserver115);// true
-
- rules.addEdge(g, pserver1, complex1);// true
- rules.addTreeEdge(g, pserver1, pnfint1);
- rules.addEdge(g, pnfint1, plink1);
-
- rules.addEdge(g, vserver1, flavor1);// true
- rules.addEdge(g, vserver1, image1);// true
- rules.addEdge(g, vserver1, pserver1);// true
- rules.addEdge(g, linter1, logicallink1);// true
- rules.addTreeEdge(g, vserver1, linter1);// true
- rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
- rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
- rules.addEdge(g, l3inter1ipv4addresslist, subnet1);// true
- rules.addTreeEdge(g, subnet1, l3network1);// true
- rules.addEdge(g, l3inter1ipv6addresslist, subnet2);// true
- rules.addTreeEdge(g, subnet2, l3network2);// true
- // false
-
- rules.addTreeEdge(g, customer2, servicesubscription2);// true
- rules.addTreeEdge(g, servicesubscription2, serviceinstance2);// true
- rules.addEdge(g, serviceinstance2, gnvf2);// true
- rules.addEdge(g, gnvf2, pserver2);// true
- rules.addEdge(g, pserver2, complex2);// true
- rules.addTreeEdge(g, pserver2, pnfint2);// true
-
- rules.addEdge(g, gnvf2, vserver2);// true
-
- rules.addEdge(g, vserver2, flavor2);// true
- rules.addEdge(g, vserver2, image2);// true
- rules.addEdge(g, linter2, logicallink2);// true
- rules.addTreeEdge(g, vserver2, linter2);// true
- rules.addTreeEdge(g, linter2, l3inter1ipv4addresslist2);// true
- rules.addTreeEdge(g, linter2, l3inter1ipv6addresslist2);// true
- rules.addEdge(g, l3inter1ipv4addresslist2, subnet3);// true
- rules.addTreeEdge(g, subnet3, l3network3);// true
- rules.addEdge(g, l3inter1ipv6addresslist2, subnet4);// true
- rules.addTreeEdge(g, subnet4, l3network4);// true
-
- expectedResult.add(complex1);
- expectedResult.add(vserver1);
- expectedResult.add(vserver116);
- expectedResult.add(pserver1);
- expectedResult.add(flavor1);
- expectedResult.add(image1);
- expectedResult.add(linter1);
- expectedResult.add(logicallink1);
- expectedResult.add(plink1);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(subnet1);
- expectedResult.add(l3network1);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(subnet2);
- expectedResult.add(l3network2);
-
- }
-
- @Override
- protected String getQueryName() {
- return "spaas-topology-fromServiceInstance";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g
- .has("aai-node-type", "customer")
- .has("global-customer-id", "global-customer-id-1")
- .in("org.onap.relationships.inventory.BelongsTo")
- .has("aai-node-type","service-subscription")
- .has("service-type", "service-type-1")
- .in("org.onap.relationships.inventory.BelongsTo")
- .has("aai-node-type","service-instance");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- //params.put("serviceType", "service-type-1");
- //params.put("subscriberName", "subscriber-name-1");
- }
+ private static final Logger LOGGER =
+ LoggerFactory.getLogger(TopologyFromSubscriberNameAndServiceTypeTest.class);
+
+ public TopologyFromSubscriberNameAndServiceTypeTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "1", "aai-node-type",
+ "customer", "global-customer-id", "global-customer-id-1", "subscriber-name",
+ "subscriber-name-1");
+ // Customer has 2 subscriptions - we filter by subscription-type
+ Vertex servicesubscription1 = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-type", "service-type-1");
+ Vertex servicesubscription112 = graph.addVertex(T.label, "service-subscription", T.id,
+ "112", "aai-node-type", "service-subscription", "service-type", "service-type-112");
+
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "3",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex serviceinstance113 = graph.addVertex(T.label, "service-instance", T.id, "113",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-113",
+ "service-instance-name", "service-instance-name-113");
+
+ Vertex gnvf1 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1", "service-id", "service-id-1");
+ Vertex gnvf114 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "114", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-114", "vnf-name", "vnf-name-2", "service-id", "service-id-2");
+
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+ Vertex pserver115 = graph.addVertex(T.label, "pserver", T.id, "115", "aai-node-type",
+ "pserver", "hostname", "pservername115");
+
+ Vertex complex1 = graph.addVertex(T.label, "complex", T.id, "6", "aai-node-type", "complex",
+ "physical-location-id", "physical-location-id-1", "country", "US");
+
+ Vertex pnfint1 = graph.addVertex(T.label, "p-interface", T.id, "7", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "8", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1", "vserver-selflink",
+ "vserver-selflink-1");
+
+ Vertex vserver116 = graph.addVertex(T.label, "vserver", T.id, "116", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-116", "vserver-name", "vserver-name-116",
+ "vserver-selflink", "vserver-selflink-116");
+
+ Vertex flavor1 = graph.addVertex(T.label, "flavor", T.id, "9", "aai-node-type", "flavor",
+ "flavor-id", "flavor-id-1", "flavor-name", "flavor-name-1", "flavor-selflink",
+ "flavor-selflink-1");
+ Vertex image1 = graph.addVertex(T.label, "image", T.id, "10", "aai-node-type", "image",
+ "image-id", "image-id-1", "image-name", "image-name-1", "image-os-distro",
+ "image-os-distro-1", "image-os-version", "image-os-version-1");
+
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex logicallink1 = graph.addVertex(T.label, "logical-link", T.id, "12", "aai-node-type",
+ "logical-link", "link-name", "link-name-1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "13", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-1");
+ Vertex subnet1 = graph.addVertex(T.label, "subnet", T.id, "14", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-1");
+ Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "15", "aai-node-type",
+ "l3-network", "network-id", "network-id-1", "network-name", "network-name-1");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-1");
+ Vertex subnet2 = graph.addVertex(T.label, "subnet", T.id, "17", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-2");
+ Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "18", "aai-node-type",
+ "l3-network", "network-id", "network-id-2", "network-name", "network-name2");
+
+ Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "19", "aai-node-type",
+ "customer", "global-customer-id", "global-customer-id-2", "subscriber-name",
+ "subscriber-name-2");
+ Vertex servicesubscription2 = graph.addVertex(T.label, "service-subscription", T.id, "20",
+ "aai-node-type", "service-subscription", "service-type", "service-type-2");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "21",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-2");
+ Vertex gnvf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "22", "aai-node-type", "generic-vnf",
+ "vnf-id", "vnf-id-2", "vnf-name", "vnf-name-2", "service-id", "service-id-2");
+
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "23", "aai-node-type",
+ "pserver", "hostname", "pservername1");
+ Vertex complex2 = graph.addVertex(T.label, "complex", T.id, "24", "aai-node-type",
+ "complex", "physical-location-id", "physical-location-id-2", "country", "US");
+ Vertex pnfint2 = graph.addVertex(T.label, "p-interface", T.id, "25", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "251", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
+
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "26", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2",
+ "vserver-selflink", "vserver-selflink-2");
+ Vertex flavor2 = graph.addVertex(T.label, "flavor", T.id, "27", "aai-node-type", "flavor",
+ "flavor-id", "flavor-id-2", "flavor-name", "flavor-name-2", "flavor-selflink",
+ "flavor-selflink-2");
+ Vertex image2 = graph.addVertex(T.label, "image", T.id, "28", "aai-node-type", "image",
+ "image-id", "image-id-2", "image-name", "image-name-2", "image-os-distro",
+ "image-os-distro-2", "image-os-version", "image-os-version-2");
+
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "29", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+ Vertex logicallink2 = graph.addVertex(T.label, "logical-link", T.id, "30", "aai-node-type",
+ "logical-link", "link-name", "link-name-2", "l-interface-name", "l-interface-name2");
+ Vertex l3inter1ipv4addresslist2 = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "31", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "l3-interface-ipv4-address-2");
+ Vertex subnet3 = graph.addVertex(T.label, "subnet", T.id, "32", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-3");
+ Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "33", "aai-node-type",
+ "l3-network", "network-id", "network-id-3", "network-name", "network-name-3");
+ Vertex l3inter1ipv6addresslist2 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "34", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "l3-interface-ipv6-address-2");
+ Vertex subnet4 = graph.addVertex(T.label, "subnet", T.id, "35", "aai-node-type", "subnet",
+ "subnet-id", "subnet-id-4");
+ Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "36", "aai-node-type",
+ "l3-network", "network-id", "network-id-4", "network-name", "network-name4");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, customer1, servicesubscription1);// true
+
+ rules.addTreeEdge(g, customer1, servicesubscription112);// true
+
+ rules.addTreeEdge(g, servicesubscription1, serviceinstance1);// true
+ rules.addTreeEdge(g, servicesubscription1, serviceinstance113);// true
+
+ rules.addEdge(g, serviceinstance1, gnvf1);// true
+ rules.addEdge(g, serviceinstance113, gnvf114);// true
+
+ rules.addEdge(g, gnvf1, vserver1);// true
+ rules.addEdge(g, gnvf114, vserver116);// true
+
+ rules.addEdge(g, gnvf1, pserver1);// true
+ rules.addEdge(g, gnvf114, pserver115);// true
+
+ rules.addEdge(g, pserver1, complex1);// true
+ rules.addTreeEdge(g, pserver1, pnfint1);
+ rules.addEdge(g, pnfint1, plink1);
+
+ rules.addEdge(g, vserver1, flavor1);// true
+ rules.addEdge(g, vserver1, image1);// true
+ rules.addEdge(g, vserver1, pserver1);// true
+ rules.addEdge(g, linter1, logicallink1);// true
+ rules.addTreeEdge(g, vserver1, linter1);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
+ rules.addEdge(g, l3inter1ipv4addresslist, subnet1);// true
+ rules.addTreeEdge(g, subnet1, l3network1);// true
+ rules.addEdge(g, l3inter1ipv6addresslist, subnet2);// true
+ rules.addTreeEdge(g, subnet2, l3network2);// true
+ // false
+
+ rules.addTreeEdge(g, customer2, servicesubscription2);// true
+ rules.addTreeEdge(g, servicesubscription2, serviceinstance2);// true
+ rules.addEdge(g, serviceinstance2, gnvf2);// true
+ rules.addEdge(g, gnvf2, pserver2);// true
+ rules.addEdge(g, pserver2, complex2);// true
+ rules.addTreeEdge(g, pserver2, pnfint2);// true
+
+ rules.addEdge(g, gnvf2, vserver2);// true
+
+ rules.addEdge(g, vserver2, flavor2);// true
+ rules.addEdge(g, vserver2, image2);// true
+ rules.addEdge(g, linter2, logicallink2);// true
+ rules.addTreeEdge(g, vserver2, linter2);// true
+ rules.addTreeEdge(g, linter2, l3inter1ipv4addresslist2);// true
+ rules.addTreeEdge(g, linter2, l3inter1ipv6addresslist2);// true
+ rules.addEdge(g, l3inter1ipv4addresslist2, subnet3);// true
+ rules.addTreeEdge(g, subnet3, l3network3);// true
+ rules.addEdge(g, l3inter1ipv6addresslist2, subnet4);// true
+ rules.addTreeEdge(g, subnet4, l3network4);// true
+
+ expectedResult.add(complex1);
+ expectedResult.add(vserver1);
+ expectedResult.add(vserver116);
+ expectedResult.add(pserver1);
+ expectedResult.add(flavor1);
+ expectedResult.add(image1);
+ expectedResult.add(linter1);
+ expectedResult.add(logicallink1);
+ expectedResult.add(plink1);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(subnet1);
+ expectedResult.add(l3network1);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(subnet2);
+ expectedResult.add(l3network2);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "spaas-topology-fromServiceInstance";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "customer").has("global-customer-id", "global-customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .has("aai-node-type", "service-subscription").has("service-type", "service-type-1")
+ .in("org.onap.relationships.inventory.BelongsTo")
+ .has("aai-node-type", "service-instance");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ // params.put("serviceType", "service-type-1");
+ // params.put("subscriberName", "subscriber-name-1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromCloudRegionQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromCloudRegionQueryTest.java
index 0377182..2043706 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromCloudRegionQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromCloudRegionQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,13 +26,12 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-public class TopologySummaryFromCloudRegionQueryTest extends QueryTest{
+public class TopologySummaryFromCloudRegionQueryTest extends QueryTest {
- public TopologySummaryFromCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException{
+ public TopologySummaryFromCloudRegionQueryTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
@@ -43,35 +42,45 @@ public class TopologySummaryFromCloudRegionQueryTest extends QueryTest{
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex region = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1",
- "cloud-region-owner", "cloud-region-owner-1","cloud-region-version","cloud-region-version-1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant", "tenant-id", "tenant-id-1",
- "tenant-name", "tenant-name-1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1",
- "vserver-name", "vserver-name-1");
- Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id", "vnf-uuid-1",
- "vnf-name", "vnf-name=1");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "13", "aai-node-type", "vnfc", "vnfc-name", "VnfcName", "nfc-naming-code",
- "NfcNamingCode", "nfc-function", "NfcFunction", "in-maint", "false", "is-closed-loop-disabled", "false");
- Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "15", "aai-node-type", "vnfc", "vnfc-name", "VnfcName3", "nfc-naming-code",
- "NfcNamingCode3", "nfc-function", "NfcFunction3", "in-maint", "false", "is-closed-loop-disabled", "false");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "pserver-hostname-1");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver", "hostname", "pserver-hostname-2");
+ Vertex region = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner",
+ "cloud-region-owner-1", "cloud-region-version", "cloud-region-version-1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "2", "aai-node-type", "tenant",
+ "tenant-id", "tenant-id-1", "tenant-name", "tenant-name-1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-uuid-1", "vnf-name", "vnf-name=1");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "13", "aai-node-type", "vnfc",
+ "vnfc-name", "VnfcName", "nfc-naming-code", "NfcNamingCode", "nfc-function",
+ "NfcFunction", "in-maint", "false", "is-closed-loop-disabled", "false");
+ Vertex vnfc2 = graph.addVertex(T.label, "vnfc", T.id, "15", "aai-node-type", "vnfc",
+ "vnfc-name", "VnfcName3", "nfc-naming-code", "NfcNamingCode3", "nfc-function",
+ "NfcFunction3", "in-maint", "false", "is-closed-loop-disabled", "false");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pserver-hostname-1");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "6", "aai-node-type", "pserver",
+ "hostname", "pserver-hostname-2");
- Vertex region_exclude = graph.addVertex(T.label, "cloud-region", T.id, "7", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2",
- "cloud-region-owner", "cloud-region-owner-2","cloud-region-version","cloud-region-version-2");
- Vertex tenant_exclude = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type", "tenant", "tenant-id", "tenant-id-2",
- "tenant-name", "tenant-name-2");
- Vertex vserver_exclude = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-id-2",
- "vserver-name", "vserver-name-2");
- Vertex vnf_exclude = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type", "generic-vnf", "vnf-id", "vnf-uuid-2",
- "vnf-name", "vnf-name=2");
- Vertex vnfc_exclude = graph.addVertex(T.label, "vnfc", T.id, "14", "aai-node-type", "vnfc", "vnfc-name", "VnfcName2", "nfc-naming-code",
- "NfcNamingCode2", "nfc-function", "NfcFunction2", "in-maint", "false", "is-closed-loop-disabled", "false");
- Vertex vnfc_exclude2 = graph.addVertex(T.label, "vnfc", T.id, "16", "aai-node-type", "vnfc", "vnfc-name", "VnfcName4", "nfc-naming-code",
- "NfcNamingCode4", "nfc-function", "NfcFunction4", "in-maint", "false", "is-closed-loop-disabled", "false");
- Vertex pserver_exclude = graph.addVertex(T.label, "pserver", T.id, "11", "aai-node-type", "pserver", "hostname", "pserver-hostname-2");
- Vertex pserver2_exclude = graph.addVertex(T.label, "pserver", T.id, "12", "aai-node-type", "pserver", "hostname", "pserver-hostname-3");
+ Vertex region_exclude = graph.addVertex(T.label, "cloud-region", T.id, "7", "aai-node-type",
+ "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner",
+ "cloud-region-owner-2", "cloud-region-version", "cloud-region-version-2");
+ Vertex tenant_exclude = graph.addVertex(T.label, "tenant", T.id, "8", "aai-node-type",
+ "tenant", "tenant-id", "tenant-id-2", "tenant-name", "tenant-name-2");
+ Vertex vserver_exclude = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
+ Vertex vnf_exclude = graph.addVertex(T.label, "generic-vnf", T.id, "10", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-uuid-2", "vnf-name", "vnf-name=2");
+ Vertex vnfc_exclude = graph.addVertex(T.label, "vnfc", T.id, "14", "aai-node-type", "vnfc",
+ "vnfc-name", "VnfcName2", "nfc-naming-code", "NfcNamingCode2", "nfc-function",
+ "NfcFunction2", "in-maint", "false", "is-closed-loop-disabled", "false");
+ Vertex vnfc_exclude2 = graph.addVertex(T.label, "vnfc", T.id, "16", "aai-node-type", "vnfc",
+ "vnfc-name", "VnfcName4", "nfc-naming-code", "NfcNamingCode4", "nfc-function",
+ "NfcFunction4", "in-maint", "false", "is-closed-loop-disabled", "false");
+ Vertex pserver_exclude = graph.addVertex(T.label, "pserver", T.id, "11", "aai-node-type",
+ "pserver", "hostname", "pserver-hostname-2");
+ Vertex pserver2_exclude = graph.addVertex(T.label, "pserver", T.id, "12", "aai-node-type",
+ "pserver", "hostname", "pserver-hostname-3");
GraphTraversalSource g = graph.traversal();
rules.addTreeEdge(g, region, tenant);
@@ -79,7 +88,7 @@ public class TopologySummaryFromCloudRegionQueryTest extends QueryTest{
rules.addEdge(g, vserver, pserver);
rules.addEdge(g, vserver, vnf);
rules.addEdge(g, vnf, vnfc);
- rules.addEdge(g, vserver, vnfc2);
+ rules.addEdge(g, vserver, vnfc2);
rules.addEdge(g, region, pserver2);
rules.addTreeEdge(g, region_exclude, tenant_exclude);
@@ -107,7 +116,8 @@ public class TopologySummaryFromCloudRegionQueryTest extends QueryTest{
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("cloud-region-id", "cloud-region-id-1").has("cloud-region-owner", "cloud-region-owner-1");
+ g.has("cloud-region-id", "cloud-region-id-1").has("cloud-region-owner",
+ "cloud-region-owner-1");
}
@Override
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromTenantTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromTenantTest.java
index 36c7396..23a3754 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromTenantTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryFromTenantTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,63 +31,74 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class TopologySummaryFromTenantTest extends QueryTest {
- public TopologySummaryFromTenantTest() throws AAIException,NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
+ public TopologySummaryFromTenantTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex tenant = graph.addVertex(T.label, "tenant-id", T.id, "0", "aai-node-type", "tenant", "tenant-id", "TenantID", "tenant-name", "TenantName");
- Vertex cloudRegion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type", "cloud-region", "cloud-owner", "CloudOwner", "cloud-region-id", "CloudRegionId");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id", "vservId-1", "vserver-name", "vserv-name-1", "vserver-selflink", "me/self");
- Vertex genericVnf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "VnfID", "vnf-name", "VnfName", "vnf-type", "VnfType");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "pserver-id", "PserverID", "hostname", "PserverHostName");
-
- Vertex tenant2 = graph.addVertex(T.label, "tenant-id2", T.id, "5", "aai-node-type", "tenant", "tenant-id", "TenantID2", "tenant-name", "TenantName2");
- Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region2", T.id, "6", "aai-node-type", "cloud-region", "cloud-owner", "CloudOwner2", "cloud-region-id", "CloudRegionId2");
- Vertex vserver2 = graph.addVertex(T.label, "vserver2", T.id, "7", "aai-node-type", "vserver", "vserver-id", "vservId-2", "vserver-name", "vserv-name-2", "vserver-selflink", "me/self"); //false
- Vertex genericVnf2 = graph.addVertex(T.label, "generic-vnf2", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "VnfID2", "vnf-name", "VnfName2", "vnf-type", "VnfType"); //false
- Vertex pserver2 = graph.addVertex(T.label, "pserver2", T.id, "9", "aai-node-type", "pserver", "pserver-id", "PserverID2", "hostname", "PserverHostName2"); //false
+ @Test
+ public void run() {
+ super.run();
+ }
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, tenant, cloudRegion);
- rules.addTreeEdge(g, tenant, vserver);
- rules.addEdge(g, vserver, genericVnf);
- rules.addEdge(g, vserver, pserver);
-
- //tenant2
- rules.addTreeEdge(g, tenant2, cloudRegion2);//false
- rules.addTreeEdge(g, tenant2, vserver2);//false
- rules.addEdge(g, vserver2, genericVnf2); //false
- rules.addEdge(g, vserver2, pserver2); //false
-
-
- expectedResult.add(tenant);
- expectedResult.add(cloudRegion);
- expectedResult.add(vserver);
- expectedResult.add(genericVnf);
- expectedResult.add(pserver);
-
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex tenant = graph.addVertex(T.label, "tenant-id", T.id, "0", "aai-node-type", "tenant",
+ "tenant-id", "TenantID", "tenant-name", "TenantName");
+ Vertex cloudRegion = graph.addVertex(T.label, "cloud-region", T.id, "1", "aai-node-type",
+ "cloud-region", "cloud-owner", "CloudOwner", "cloud-region-id", "CloudRegionId");
+ Vertex vserver =
+ graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id",
+ "vservId-1", "vserver-name", "vserv-name-1", "vserver-selflink", "me/self");
+ Vertex genericVnf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "VnfID", "vnf-name", "VnfName", "vnf-type", "VnfType");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "pserver-id", "PserverID", "hostname", "PserverHostName");
- @Override
- protected String getQueryName() {
- return "topology-summary-fromTenant";
- }
+ Vertex tenant2 = graph.addVertex(T.label, "tenant-id2", T.id, "5", "aai-node-type",
+ "tenant", "tenant-id", "TenantID2", "tenant-name", "TenantName2");
+ Vertex cloudRegion2 = graph.addVertex(T.label, "cloud-region2", T.id, "6", "aai-node-type",
+ "cloud-region", "cloud-owner", "CloudOwner2", "cloud-region-id", "CloudRegionId2");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver2", T.id, "7", "aai-node-type",
+ "vserver", "vserver-id", "vservId-2", "vserver-name", "vserv-name-2",
+ "vserver-selflink", "me/self"); // false
+ Vertex genericVnf2 = graph.addVertex(T.label, "generic-vnf2", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "VnfID2", "vnf-name", "VnfName2", "vnf-type", "VnfType"); // false
+ Vertex pserver2 = graph.addVertex(T.label, "pserver2", T.id, "9", "aai-node-type",
+ "pserver", "pserver-id", "PserverID2", "hostname", "PserverHostName2"); // false
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "tenant").has("tenant-id","TenantID");
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, tenant, cloudRegion);
+ rules.addTreeEdge(g, tenant, vserver);
+ rules.addEdge(g, vserver, genericVnf);
+ rules.addEdge(g, vserver, pserver);
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ // tenant2
+ rules.addTreeEdge(g, tenant2, cloudRegion2);// false
+ rules.addTreeEdge(g, tenant2, vserver2);// false
+ rules.addEdge(g, vserver2, genericVnf2); // false
+ rules.addEdge(g, vserver2, pserver2); // false
+
+ expectedResult.add(tenant);
+ expectedResult.add(cloudRegion);
+ expectedResult.add(vserver);
+ expectedResult.add(genericVnf);
+ expectedResult.add(pserver);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "topology-summary-fromTenant";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "tenant").has("tenant-id", "TenantID");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryQueryTest.java
index 88af274..5e0f803 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TopologySummaryQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,91 +26,100 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class TopologySummaryQueryTest extends QueryTest {
- public TopologySummaryQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public TopologySummaryQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfuuid");
+ Vertex vnfint = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type",
+ "l-interface", "interface-name", "xe0/0/0");
+ Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "1", "aai-node-type", "vnfc");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver");
+ Vertex vserverint = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type",
+ "l-interface", "interface-name", "xe0/0/0");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "3", "aai-node-type", "tenant");
+ Vertex region =
+ graph.addVertex(T.label, "could-region", T.id, "4", "aai-node-type", "cloud-region");
+ Vertex image = graph.addVertex(T.label, "image", T.id, "5", "aai-node-type", "image");
+ Vertex flavor = graph.addVertex(T.label, "flavor", T.id, "6", "aai-node-type", "flavor");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver");
+ Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex");
+ Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "12",
+ "aai-node-type", "line-of-business");
+ Vertex platform =
+ graph.addVertex(T.label, "platform", T.id, "13", "aai-node-type", "platform");
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "14",
+ "aai-node-type", "service-instance");
+ Vertex owningentity =
+ graph.addVertex(T.label, "owning-entity", T.id, "15", "aai-node-type", "owning-entity");
+ Vertex project =
+ graph.addVertex(T.label, "project", T.id, "16", "aai-node-type", "project");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, vnf, vnfc);
+ rules.addEdge(g, vnf, vserver);
+ rules.addEdge(g, vnfc, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, region);
+ rules.addEdge(g, vserver, image);
+ rules.addEdge(g, vserver, flavor);
+ rules.addEdge(g, vserver, pserver);
+ rules.addEdge(g, pserver, complex);
+ rules.addEdge(g, region, complex);
+ rules.addTreeEdge(g, pserver, pserverint);
+ rules.addTreeEdge(g, vnf, vnfint);
+ rules.addTreeEdge(g, vserver, vserverint);
+ rules.addEdge(g, vnf, lineofbusiness);
+ rules.addEdge(g, vnf, platform);
+ rules.addEdge(g, vnf, serviceinstance);
+ rules.addEdge(g, serviceinstance, owningentity);
+ rules.addEdge(g, serviceinstance, project);
+
+ expectedResult.add(vnf);
+ expectedResult.add(vnfc);
+ expectedResult.add(vserver);
+ expectedResult.add(tenant);
+ expectedResult.add(region);
+ expectedResult.add(image);
+ expectedResult.add(flavor);
+ expectedResult.add(pserver);
+ expectedResult.add(complex);
+ expectedResult.add(lineofbusiness);
+ expectedResult.add(platform);
+ expectedResult.add(owningentity);
+ expectedResult.add(project);
+
+ }
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnfuuid");
- Vertex vnfint = graph.addVertex(T.label, "l-interface", T.id, "10", "aai-node-type", "l-interface", "interface-name", "xe0/0/0");
- Vertex vnfc = graph.addVertex(T.label, "vnfc", T.id, "1", "aai-node-type", "vnfc");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver");
- Vertex vserverint = graph.addVertex(T.label, "l-interface", T.id, "11", "aai-node-type", "l-interface", "interface-name", "xe0/0/0");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "3", "aai-node-type", "tenant");
- Vertex region = graph.addVertex(T.label, "could-region", T.id, "4", "aai-node-type", "cloud-region");
- Vertex image = graph.addVertex(T.label, "image", T.id, "5", "aai-node-type", "image");
- Vertex flavor = graph.addVertex(T.label, "flavor", T.id, "6", "aai-node-type", "flavor");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "7", "aai-node-type", "pserver");
- Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "9", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "8", "aai-node-type", "complex");
- Vertex lineofbusiness = graph.addVertex(T.label, "line-of-business", T.id, "12", "aai-node-type", "line-of-business");
- Vertex platform = graph.addVertex(T.label, "platform", T.id, "13", "aai-node-type", "platform");
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "14", "aai-node-type", "service-instance");
- Vertex owningentity = graph.addVertex(T.label, "owning-entity", T.id, "15", "aai-node-type", "owning-entity");
- Vertex project = graph.addVertex(T.label, "project", T.id, "16", "aai-node-type", "project");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, vnf, vnfc);
- rules.addEdge(g, vnf, vserver);
- rules.addEdge(g, vnfc, vserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, region);
- rules.addEdge(g, vserver, image);
- rules.addEdge(g, vserver, flavor);
- rules.addEdge(g, vserver, pserver);
- rules.addEdge(g, pserver, complex);
- rules.addEdge(g, region, complex);
- rules.addTreeEdge(g, pserver, pserverint);
- rules.addTreeEdge(g, vnf, vnfint);
- rules.addTreeEdge(g, vserver, vserverint);
- rules.addEdge(g, vnf, lineofbusiness);
- rules.addEdge(g, vnf, platform);
- rules.addEdge(g, vnf, serviceinstance);
- rules.addEdge(g, serviceinstance, owningentity);
- rules.addEdge(g, serviceinstance, project);
-
- expectedResult.add(vnf);
- expectedResult.add(vnfc);
- expectedResult.add(vserver);
- expectedResult.add(tenant);
- expectedResult.add(region);
- expectedResult.add(image);
- expectedResult.add(flavor);
- expectedResult.add(pserver);
- expectedResult.add(complex);
- expectedResult.add(lineofbusiness);
- expectedResult.add(platform);
- expectedResult.add(owningentity);
- expectedResult.add(project);
-
- }
+ @Override
+ protected String getQueryName() {
+ return "topology-summary";
+ }
- @Override
- protected String getQueryName() {
- return "topology-summary";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("vnf-id", "vnfuuid");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("vnf-id", "vnfuuid");
-
- }
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/TreeQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/TreeQueryTest.java
index 109cfc1..5912281 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/TreeQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/TreeQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,21 +19,21 @@
*/
package org.onap.aai.rest.search;
+import java.util.List;
+
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.onap.aai.exceptions.AAIException;
-import java.util.List;
-
public abstract class TreeQueryTest extends QueryTest {
- protected List<Tree> treeList;
+ protected List<Tree> treeList;
- public TreeQueryTest() throws AAIException {
- super();
- }
+ public TreeQueryTest() throws AAIException {
+ super();
+ }
- @Override
- public void run() {
- treeList = (List<Tree>)shell.executeTraversal(query, params).toList();
- }
+ @Override
+ public void run() {
+ treeList = (List<Tree>) shell.executeTraversal(query, params).toList();
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeInstanceQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeInstanceQueryTest.java
index 8e3bb5f..478e259 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeInstanceQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeInstanceQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,58 +26,63 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class UcpeInstanceQueryTest extends QueryTest {
- public UcpeInstanceQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public UcpeInstanceQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "pservername");
+ Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "11", "aai-node-type", "pnf", "pnf-name",
+ "pnfname");
+ Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfuuid");
+ Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex pnfint = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver, complex);
+ rules.addEdge(g, pnf, complex);
+ rules.addEdge(g, vnf, pserver);
+ rules.addTreeEdge(g, pserver, pserverint);
+ rules.addTreeEdge(g, pnf, pnfint);
+
+ expectedResult.add(complex);
+ expectedResult.add(pserver);
+ // expectedResult.add(pnf);
+
+ }
- @Test
- public void run() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "pservername");
- Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "11", "aai-node-type", "pnf", "pnf-name", "pnfname");
- Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf", "vnf-id", "vnfuuid");
- Vertex pserverint = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex pnfint = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type", "p-interface", "interface-name", "ge0/0/0");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver, complex);
- rules.addEdge(g, pnf, complex);
- rules.addEdge(g, vnf, pserver);
- rules.addTreeEdge(g, pserver, pserverint);
- rules.addTreeEdge(g, pnf, pnfint);
-
- expectedResult.add(complex);
- expectedResult.add(pserver);
- //expectedResult.add(pnf);
-
- }
+ @Override
+ protected String getQueryName() {
+ return "ucpe-instance";
+ }
- @Override
- protected String getQueryName() {
- return "ucpe-instance";
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("hostname", "pservername");
+ // g.has("pnf-name", "pnfname");
+ }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("hostname", "pservername");
- //g.has("pnf-name", "pnfname");
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
-
- }
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeTopologyQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeTopologyQueryTest.java
index 4503717..cf2b1c7 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeTopologyQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/UcpeTopologyQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -27,96 +27,114 @@ import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Ignore;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class UcpeTopologyQueryTest extends QueryTest {
- public UcpeTopologyQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex", "physical-location-id", "clli");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "pservername");
- Vertex pserverint1 = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex pserverint2 = graph.addVertex(T.label, "p-interface", T.id, "3", "aai-node-type", "p-interface", "interface-name", "xe0/0/0");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver", "vserver-name", "vservername");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "5", "aai-node-type", "tenant", "tenant-id", "tenantuuid", "tenant-name", "tenantname");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "6", "aai-node-type", "cloud-region", "cloud-region-id", "clouduuid", "cloud-region-owner", "cloudOwnername");
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf", "vnf-id", "vnf1uuid");
- Vertex vnf1image = graph.addVertex(T.label, "vnf-image", T.id, "8", "aai-node-type", "vnf-image", "att-uuid", "vnf1imageuuid");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type", "generic-vnf", "vnf-id", "vnf1uuid");
- Vertex vnf2image = graph.addVertex(T.label, "vnf-image", T.id, "10", "aai-node-type", "vnf-image", "att-uuid", "vnf2imageuuid");
- Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "11", "aai-node-type", "pnf", "pnf-name", "pnf1name");
- Vertex pnfint = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type", "p-interface", "interface-name", "ge0/0/0");
- Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "13", "aai-node-type", "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
- Vertex servinst1 = graph.addVertex(T.label, "service-instance", T.id, "14", "aai-node-type", "service-instance", "service-instance-id", "servinst1uuid");
- Vertex servsub1 = graph.addVertex(T.label, "service-subscription", T.id, "15", "aai-node-type", "service-subscription", "service-type", "servType1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "16", "aai-node-type", "customer", "global-customer-id", "custuuid");
- Vertex servinst2 = graph.addVertex(T.label, "service-instance", T.id, "17", "aai-node-type", "service-instance", "service-instance-id", "servinst2uuid");
- Vertex servsub2 = graph.addVertex(T.label, "service-subscription", T.id, "18", "aai-node-type", "service-subscription", "service-type", "servType2");
+ public UcpeTopologyQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex complex = graph.addVertex(T.label, "complex", T.id, "0", "aai-node-type", "complex",
+ "physical-location-id", "clli");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "pservername");
+ Vertex pserverint1 = graph.addVertex(T.label, "p-interface", T.id, "2", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex pserverint2 = graph.addVertex(T.label, "p-interface", T.id, "3", "aai-node-type",
+ "p-interface", "interface-name", "xe0/0/0");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver",
+ "vserver-name", "vservername");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "5", "aai-node-type", "tenant",
+ "tenant-id", "tenantuuid", "tenant-name", "tenantname");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "6", "aai-node-type",
+ "cloud-region", "cloud-region-id", "clouduuid", "cloud-region-owner", "cloudOwnername");
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf1uuid");
+ Vertex vnf1image = graph.addVertex(T.label, "vnf-image", T.id, "8", "aai-node-type",
+ "vnf-image", "att-uuid", "vnf1imageuuid");
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf1uuid");
+ Vertex vnf2image = graph.addVertex(T.label, "vnf-image", T.id, "10", "aai-node-type",
+ "vnf-image", "att-uuid", "vnf2imageuuid");
+ Vertex pnf = graph.addVertex(T.label, "pnf", T.id, "11", "aai-node-type", "pnf", "pnf-name",
+ "pnf1name");
+ Vertex pnfint = graph.addVertex(T.label, "p-interface", T.id, "12", "aai-node-type",
+ "p-interface", "interface-name", "ge0/0/0");
+ Vertex plink1 = graph.addVertex(T.label, "physical-link", T.id, "13", "aai-node-type",
+ "physical-link", "link-name", "ge0/0/0-to-xe0/0/0");
+ Vertex servinst1 = graph.addVertex(T.label, "service-instance", T.id, "14", "aai-node-type",
+ "service-instance", "service-instance-id", "servinst1uuid");
+ Vertex servsub1 = graph.addVertex(T.label, "service-subscription", T.id, "15",
+ "aai-node-type", "service-subscription", "service-type", "servType1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "16", "aai-node-type",
+ "customer", "global-customer-id", "custuuid");
+ Vertex servinst2 = graph.addVertex(T.label, "service-instance", T.id, "17", "aai-node-type",
+ "service-instance", "service-instance-id", "servinst2uuid");
+ Vertex servsub2 = graph.addVertex(T.label, "service-subscription", T.id, "18",
+ "aai-node-type", "service-subscription", "service-type", "servType2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver, complex);
+ rules.addTreeEdge(g, pserver, pserverint1);
+ rules.addTreeEdge(g, pserver, pserverint2);
+ rules.addEdge(g, pnf, complex);
+ rules.addTreeEdge(g, pnf, pnfint);
+ rules.addEdge(g, pserverint1, plink1);
+ rules.addEdge(g, pnfint, plink1);
+ rules.addEdge(g, vserver, pserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addEdge(g, pserver, vnf1);
+ rules.addEdge(g, vserver, vnf2);
+ rules.addEdge(g, vnf1, vnf1image);
+ rules.addEdge(g, vnf2, vnf2image);
+ rules.addEdge(g, vnf1, servinst1);
+ rules.addTreeEdge(g, servinst1, servsub1);
+ rules.addTreeEdge(g, servsub1, customer);
+ rules.addEdge(g, vnf2, servinst2);
+ rules.addTreeEdge(g, servinst2, servsub2);
+ rules.addTreeEdge(g, servsub2, customer);
+
+ expectedResult.add(pnf);
+ expectedResult.add(complex);
+ expectedResult.add(pnfint);
+ expectedResult.add(pserver);
+ expectedResult.add(pserverint1);
+ expectedResult.add(plink1);
+ expectedResult.add(vnf1);
+ expectedResult.add(vnf1image);
+ expectedResult.add(vnf2);
+ expectedResult.add(vnf2image);
+ expectedResult.add(servinst1);
+ expectedResult.add(servinst2);
+ expectedResult.add(servsub1);
+ expectedResult.add(servsub2);
+ expectedResult.add(customer);
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver, complex);
- rules.addTreeEdge(g, pserver, pserverint1);
- rules.addTreeEdge(g, pserver, pserverint2);
- rules.addEdge(g, pnf, complex);
- rules.addTreeEdge(g, pnf, pnfint);
- rules.addEdge(g, pserverint1, plink1);
- rules.addEdge(g, pnfint, plink1);
- rules.addEdge(g, vserver, pserver);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addEdge(g, pserver, vnf1);
- rules.addEdge(g, vserver, vnf2);
- rules.addEdge(g, vnf1, vnf1image);
- rules.addEdge(g, vnf2, vnf2image);
- rules.addEdge(g, vnf1, servinst1);
- rules.addTreeEdge(g, servinst1, servsub1);
- rules.addTreeEdge(g, servsub1, customer);
- rules.addEdge(g, vnf2, servinst2);
- rules.addTreeEdge(g, servinst2, servsub2);
- rules.addTreeEdge(g, servsub2, customer);
+ }
- expectedResult.add(pnf);
- expectedResult.add(complex);
- expectedResult.add(pnfint);
- expectedResult.add(pserver);
- expectedResult.add(pserverint1);
- expectedResult.add(plink1);
- expectedResult.add(vnf1);
- expectedResult.add(vnf1image);
- expectedResult.add(vnf2);
- expectedResult.add(vnf2image);
- expectedResult.add(servinst1);
- expectedResult.add(servinst2);
- expectedResult.add(servsub1);
- expectedResult.add(servsub2);
- expectedResult.add(customer);
+ @Override
+ protected String getQueryName() {
+ return "ucpe-topology";
+ }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("hostname", "pservername");
+ }
- }
- @Override
- protected String getQueryName() {
- return "ucpe-topology";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("hostname", "pservername");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VfModuleFromServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VfModuleFromServiceInstanceTest.java
index 0d2d11a..9124821 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VfModuleFromServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VfModuleFromServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
*/
package org.onap.aai.rest.search;
-
import java.util.Map;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,53 +31,58 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VfModuleFromServiceInstanceTest extends QueryTest {
- public VfModuleFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void test() {
- super.run();
- }
-
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "0", "aai-node-type", "service-instance", "service-instance-id", "s-instance-id1");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "2", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-0", "vf-module-name", "vf-module-name0");
-
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
-
-
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "10", "aai-node-type", "service-instance", "service-instance-id", "s-instance-id11");
- Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "12", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-01", "vf-module-name", "vf-module-name01");
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-01", "vnf-name", "vnf-name-01");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, serviceinstance, gnvf);
- rules.addTreeEdge(g, gnvf, vfmodule);
-
- rules.addEdge(g, serviceinstance1, gnvf1); //false
- rules.addTreeEdge(g, gnvf1, vfmodule1); //false
-
- expectedResult.add(vfmodule);
-
- }
-
- @Override
- protected String getQueryName() {
- return "vfModule-fromServiceInstance";
- }
-
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "s-instance-id1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ public VfModuleFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void test() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "0",
+ "aai-node-type", "service-instance", "service-instance-id", "s-instance-id1");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "2", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-0", "vf-module-name", "vf-module-name0");
+
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-0", "vnf-name", "vnf-name-0");
+
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "10",
+ "aai-node-type", "service-instance", "service-instance-id", "s-instance-id11");
+ Vertex vfmodule1 = graph.addVertex(T.label, "vf-module", T.id, "12", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-01", "vf-module-name", "vf-module-name01");
+
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "11", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-01", "vnf-name", "vnf-name-01");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, serviceinstance, gnvf);
+ rules.addTreeEdge(g, gnvf, vfmodule);
+
+ rules.addEdge(g, serviceinstance1, gnvf1); // false
+ rules.addTreeEdge(g, gnvf1, vfmodule1); // false
+
+ expectedResult.add(vfmodule);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vfModule-fromServiceInstance";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id", "s-instance-id1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfInstancesFromServiceInstancebyModelVersionTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfInstancesFromServiceInstancebyModelVersionTest.java
index 03b4998..cf1e39e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfInstancesFromServiceInstancebyModelVersionTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfInstancesFromServiceInstancebyModelVersionTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,54 +30,72 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfInstancesFromServiceInstancebyModelVersionTest extends QueryTest {
- public VnfInstancesFromServiceInstancebyModelVersionTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-1","service-subscription-name","service-subscription-name1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type", "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
-
- Vertex model1 = graph.addVertex(T.label, "model", T.id, "4", "aai-node-type", "model", "model-invariant-id", "modinvariant-id1", "model-type", "modtype");
- Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "5", "aai-node-type", "model-ver", "model-version-id", "modver-id1", "model-name", "modname1", "model-version", "v1.0");
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "vnfname1", "vnf-type", "vnftype1", "model-invariant-id-local", "modinvariant-id1", "model-version-id-local", "modver-id1");
-
-// Vertex model2 = graph.addVertex(T.label, "model", T.id, "7", "aai-node-type", "model", "model-invariant-id", "modinvariant-id2", "model-type", "modtype");
-// Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "8", "aai-node-type", "model-ver", "model-version-id", "modver-id2", "model-name", "modname2", "model-version", "v1.0");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2", "vnf-name", "vnfname2", "vnf-type", "vnftype2", "model-invariant-id-local", "modinvariant-id1", "model-version-id-local", "modver-id1");
+ public VnfInstancesFromServiceInstancebyModelVersionTest()
+ throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, model1, modelver1);//true
- rules.addEdge(g, vnf1, serviceinstance);//true
- rules.addEdge(g, vnf2, serviceinstance);//false
- rules.addTreeEdge(g, serviceinstance, servicesubscription);//true
- rules.addTreeEdge(g, servicesubscription, customer);//true
-
- expectedResult.add(vnf1);
+ @Test
+ public void run() {
+ super.run();
+ }
- }
- @Override
- protected String getQueryName() {
- return "vnf-instances-fromServiceInstancebyModelVersion";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("vnfType", "vnftype1");
- params.put("modelVersionId", "modver-id1");
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-subscription-id",
+ "service-subscription-id-1", "service-subscription-name", "service-subscription-name1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type",
+ "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
+
+ Vertex model1 = graph.addVertex(T.label, "model", T.id, "4", "aai-node-type", "model",
+ "model-invariant-id", "modinvariant-id1", "model-type", "modtype");
+ Vertex modelver1 = graph.addVertex(T.label, "model-ver", T.id, "5", "aai-node-type",
+ "model-ver", "model-version-id", "modver-id1", "model-name", "modname1",
+ "model-version", "v1.0");
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "vnfname1", "vnf-type", "vnftype1",
+ "model-invariant-id-local", "modinvariant-id1", "model-version-id-local", "modver-id1");
+
+ // Vertex model2 = graph.addVertex(T.label, "model", T.id, "7", "aai-node-type", "model",
+ // "model-invariant-id", "modinvariant-id2", "model-type", "modtype");
+ // Vertex modelver2 = graph.addVertex(T.label, "model-ver", T.id, "8", "aai-node-type",
+ // "model-ver", "model-version-id", "modver-id2", "model-name", "modname2", "model-version",
+ // "v1.0");
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2", "vnf-name", "vnfname2", "vnf-type", "vnftype2",
+ "model-invariant-id-local", "modinvariant-id1", "model-version-id-local", "modver-id1");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, model1, modelver1);// true
+ rules.addEdge(g, vnf1, serviceinstance);// true
+ rules.addEdge(g, vnf2, serviceinstance);// false
+ rules.addTreeEdge(g, serviceinstance, servicesubscription);// true
+ rules.addTreeEdge(g, servicesubscription, customer);// true
+
+ expectedResult.add(vnf1);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnf-instances-fromServiceInstancebyModelVersion";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("vnfType", "vnftype1");
+ params.put("modelVersionId", "modver-id1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfSummaryFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfSummaryFromVnfTest.java
index c5dcf57..7cdbe72 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfSummaryFromVnfTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfSummaryFromVnfTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,86 +26,104 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfSummaryFromVnfTest extends QueryTest {
- public VnfSummaryFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public VnfSummaryFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId1", "vnf-name", "vnf-name-1", "vnf-type", "vnfType1");
+ Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfId2", "vnf-name", "vnf-name-2", "vnf-type", "vnfType2");
+ Vertex platform = graph.addVertex(T.label, "platform", T.id, "3", "aai-node-type",
+ "platform", "platform-name", "platform-name-1");
+ Vertex platform2 = graph.addVertex(T.label, "platform", T.id, "4", "aai-node-type",
+ "platform", "platform-name", "platform-name-2");
+ Vertex lineofbus = graph.addVertex(T.label, "line-of-business", T.id, "5", "aai-node-type",
+ "line-of-business", "line-of-business-name", "line-of-business-name-1");
+ Vertex lineofbus2 = graph.addVertex(T.label, "line-of-business", T.id, "6", "aai-node-type",
+ "line-of-business", "line-of-business-name", "line-of-business-name-2");
+ Vertex serviceinst = graph.addVertex(T.label, "service-instance", T.id, "7",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
+ Vertex serviceinst2 = graph.addVertex(T.label, "service-instance", T.id, "8",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
+ Vertex owningent = graph.addVertex(T.label, "owning-entity", T.id, "9", "aai-node-type",
+ "owning-entity", "owning-entity-id", "owning-entity-id-1");
+ Vertex owningent2 = graph.addVertex(T.label, "owning-entity", T.id, "10", "aai-node-type",
+ "owning-entity", "owning-entity-id", "owning-entity-id-2");
+ Vertex project = graph.addVertex(T.label, "project", T.id, "11", "aai-node-type", "project",
+ "project-name", "project-name-1");
+ Vertex project2 = graph.addVertex(T.label, "project", T.id, "12", "aai-node-type",
+ "project", "project-name", "project-name-2");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type", "pserver",
+ "hostname", "hostname-1");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type",
+ "pserver", "hostname", "hostname-2");
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "15", "aai-node-type",
+ "pserver", "hostname", "hostname-2");
+ Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "16", "aai-node-type",
+ "pserver", "hostname", "hostname-2");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "17", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "18", "aai-node-type",
+ "vserver", "vserver-id", "vserver-id-2");
- //Set up the test graph
- Vertex genericvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfId1", "vnf-name", "vnf-name-1", "vnf-type", "vnfType1");
- Vertex genericvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnfId2", "vnf-name", "vnf-name-2", "vnf-type", "vnfType2");
- Vertex platform = graph.addVertex(T.label, "platform", T.id, "3", "aai-node-type", "platform", "platform-name", "platform-name-1");
- Vertex platform2 = graph.addVertex(T.label, "platform", T.id, "4", "aai-node-type", "platform", "platform-name", "platform-name-2");
- Vertex lineofbus = graph.addVertex(T.label, "line-of-business", T.id, "5", "aai-node-type", "line-of-business", "line-of-business-name", "line-of-business-name-1");
- Vertex lineofbus2 = graph.addVertex(T.label, "line-of-business", T.id, "6", "aai-node-type", "line-of-business", "line-of-business-name", "line-of-business-name-2");
- Vertex serviceinst = graph.addVertex(T.label, "service-instance", T.id, "7", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1");
- Vertex serviceinst2 = graph.addVertex(T.label, "service-instance", T.id, "8", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2");
- Vertex owningent = graph.addVertex(T.label, "owning-entity", T.id, "9", "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-1");
- Vertex owningent2 = graph.addVertex(T.label, "owning-entity", T.id, "10", "aai-node-type", "owning-entity", "owning-entity-id", "owning-entity-id-2");
- Vertex project = graph.addVertex(T.label, "project", T.id, "11", "aai-node-type", "project", "project-name", "project-name-1");
- Vertex project2 = graph.addVertex(T.label, "project", T.id, "12", "aai-node-type", "project", "project-name", "project-name-2");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "13", "aai-node-type", "pserver", "hostname", "hostname-1");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver", "hostname", "hostname-2");
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "15", "aai-node-type", "pserver", "hostname", "hostname-2");
- Vertex pserver4 = graph.addVertex(T.label, "pserver", T.id, "16", "aai-node-type", "pserver", "hostname", "hostname-2");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "17", "aai-node-type", "vserver", "vserver-id", "vserver-id-1");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "18", "aai-node-type", "vserver", "vserver-id", "vserver-id-2");
+ GraphTraversalSource g = graph.traversal();
- GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, genericvnf1, platform);
+ rules.addEdge(g, genericvnf1, lineofbus);
+ rules.addEdge(g, genericvnf1, serviceinst);
+ rules.addEdge(g, serviceinst, owningent);
+ rules.addEdge(g, serviceinst, project);
+ rules.addEdge(g, genericvnf1, pserver);
+ rules.addEdge(g, genericvnf1, vserver);
+ rules.addEdge(g, vserver, pserver2);
- rules.addEdge(g, genericvnf1, platform);
- rules.addEdge(g, genericvnf1, lineofbus);
- rules.addEdge(g, genericvnf1, serviceinst);
- rules.addEdge(g, serviceinst, owningent);
- rules.addEdge(g, serviceinst, project);
- rules.addEdge(g, genericvnf1, pserver);
- rules.addEdge(g, genericvnf1, vserver);
- rules.addEdge(g, vserver, pserver2);
+ rules.addEdge(g, genericvnf2, platform2);// false
+ rules.addEdge(g, genericvnf2, lineofbus2);// false
+ rules.addEdge(g, genericvnf2, serviceinst2);// false
+ rules.addEdge(g, serviceinst2, owningent2);// false
+ rules.addEdge(g, serviceinst2, project2);// false
+ rules.addEdge(g, genericvnf2, pserver3);// false
+ rules.addEdge(g, genericvnf2, vserver2);// false
+ rules.addEdge(g, vserver2, pserver4);// false
- rules.addEdge(g, genericvnf2, platform2);//false
- rules.addEdge(g, genericvnf2, lineofbus2);//false
- rules.addEdge(g, genericvnf2, serviceinst2);//false
- rules.addEdge(g, serviceinst2, owningent2);//false
- rules.addEdge(g, serviceinst2, project2);//false
- rules.addEdge(g, genericvnf2, pserver3);//false
- rules.addEdge(g, genericvnf2, vserver2);//false
- rules.addEdge(g, vserver2, pserver4);//false
+ expectedResult.add(genericvnf1);
+ expectedResult.add(platform);
+ expectedResult.add(lineofbus);
+ expectedResult.add(serviceinst);
+ expectedResult.add(owningent);
+ expectedResult.add(project);
+ expectedResult.add(pserver);
+ expectedResult.add(vserver);
+ expectedResult.add(pserver2);
- expectedResult.add(genericvnf1);
- expectedResult.add(platform);
- expectedResult.add(lineofbus);
- expectedResult.add(serviceinst);
- expectedResult.add(owningent);
- expectedResult.add(project);
- expectedResult.add(pserver);
- expectedResult.add(vserver);
- expectedResult.add(pserver2);
+ }
- }
+ @Override
+ protected String getQueryName() {
+ return "vnf-summary-fromVnf";
+ }
- @Override
- protected String getQueryName() {
- return "vnf-summary-fromVnf";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("vnf-name","vnf-name-1");
- }
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("vnf-name", "vnf-name-1");
+ }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-} \ No newline at end of file
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToEsrSystemInfoQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToEsrSystemInfoQueryTest.java
index 0e82c0b..2d33395 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToEsrSystemInfoQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToEsrSystemInfoQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,67 +30,76 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfToEsrSystemInfoQueryTest extends OnapQueryTest {
- public VnfToEsrSystemInfoQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public VnfToEsrSystemInfoQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
- Vertex esr = graph.addVertex(T.label, "esr-system-info", T.id, "6", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-1");
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-id-2","vserver-name","vserver-name-2");
- Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
- Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
- Vertex esr1 = graph.addVertex(T.label, "esr-system-info", T.id, "12", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-2");
-
-
-
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gnvf, vserver);
- rules.addTreeEdge(g, vserver,tenant);
- rules.addTreeEdge(g, tenant,cloudregion);
- rules.addTreeEdge(g, cloudregion, esr);
-
- //Not expected in result
- rules.addEdge(g, gnvf1, vserver1);
- rules.addTreeEdge(g, vserver1,tenant1);
- rules.addTreeEdge(g, tenant1,cloudregion1);
- rules.addTreeEdge(g, cloudregion1, esr1);
- //Not expected in result
-
- expectedResult.add(gnvf);
- expectedResult.add(vserver);
- expectedResult.add(tenant);
- expectedResult.add(cloudregion);
- expectedResult.add(esr);
-
-
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- @Override
- protected String getQueryName() {
- return "vnf-to-esr-system-info";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant",
+ "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+ Vertex cloudregion =
+ graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+ Vertex esr = graph.addVertex(T.label, "esr-system-info", T.id, "6", "aai-node-type",
+ "esr-system-info", "esr-system-info-id", "esr-system-info-1");
+
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-2");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
+ Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant",
+ "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+ Vertex cloudregion1 =
+ graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region",
+ "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+ Vertex esr1 = graph.addVertex(T.label, "esr-system-info", T.id, "12", "aai-node-type",
+ "esr-system-info", "esr-system-info-id", "esr-system-info-2");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gnvf, vserver);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, cloudregion, esr);
+
+ // Not expected in result
+ rules.addEdge(g, gnvf1, vserver1);
+ rules.addTreeEdge(g, vserver1, tenant1);
+ rules.addTreeEdge(g, tenant1, cloudregion1);
+ rules.addTreeEdge(g, cloudregion1, esr1);
+ // Not expected in result
+
+ expectedResult.add(gnvf);
+ expectedResult.add(vserver);
+ expectedResult.add(tenant);
+ expectedResult.add(cloudregion);
+ expectedResult.add(esr);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnf-to-esr-system-info";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-1");
+
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToServiceInstanceQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToServiceInstanceQueryTest.java
index dfd36b7..6a83c36 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToServiceInstanceQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfToServiceInstanceQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,46 +30,54 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfToServiceInstanceQueryTest extends QueryTest {
- public VnfToServiceInstanceQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name", "service-instance-name-2");
-
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "vnfname1", "vnf-type", "vnftype1");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2", "vnf-name", "vnfname2", "vnf-type", "vnftype1");
-
- GraphTraversalSource g = graph.traversal();
+ public VnfToServiceInstanceQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- rules.addEdge(g, vnf1, serviceinstance1);//true
- rules.addEdge(g, vnf2, serviceinstance1);
+ @Test
+ public void run() {
+ super.run();
+ }
- expectedResult.add(vnf1);
- expectedResult.add(serviceinstance1);
- expectedResult.add(vnf2);
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- }
- @Override
- protected String getQueryName() {
- return "vnf-to-service-instance";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnfid1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ // Set up the test graph
+ Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "2",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-2");
+
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "vnfname1", "vnf-type", "vnftype1");
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2", "vnf-name", "vnfname2", "vnf-type", "vnftype1");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, vnf1, serviceinstance1);// true
+ rules.addEdge(g, vnf2, serviceinstance1);
+
+ expectedResult.add(vnf1);
+ expectedResult.add(serviceinstance1);
+ expectedResult.add(vnf2);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnf-to-service-instance";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnfid1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromServiceInstanceTest.java
index 5d593dc..aa9cc34 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -34,8 +34,8 @@ public class VnfTopologyFromServiceInstanceTest extends QueryTest {
public VnfTopologyFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
-
- @Ignore //TODO: Fix this when verification uses correct schema
+
+ @Ignore // TODO: Fix this when verification uses correct schema
@Test
public void run() {
super.run();
@@ -43,64 +43,113 @@ public class VnfTopologyFromServiceInstanceTest extends QueryTest {
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-1","service-subscription-name","service-subscription-name1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type", "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
- Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "4", "aai-node-type", "allotted-resource", "allotted-resource-id", "allotted-resource-id-1", "allotted-resource-name", "allotted-resource-name1");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex volumegroup = graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "8", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-name1", "vservername1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "12", "aai-node-type", "tenant", "tenant-name1", "tenant-name-1","tenant-id", "tenant-id-1");
- Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "13", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1");
- Vertex range1 = graph.addVertex(T.label, "vlan-range", T.id, "26", "aai-node-type", "vlan-range", "vlan-range-id", "vlanRange1");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver", "hostname", "pservername");
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
- Vertex l3inter2ipv4addresslist = graph.addVertex(T.label, "interface-ipv6-address-list", T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-2", "l3-network-name", "l3-network-name2");
- Vertex l3inter2ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
- Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "19", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-3", "l3-network-name", "l3-network-name3");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "20", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-4", "l3-network-name", "l3-network-name4");
- Vertex l3network5 = graph.addVertex(T.label, "l3-network", T.id, "23", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-5", "l3-network-name", "l3-network-name5");
- Vertex l3network6 = graph.addVertex(T.label, "l3-network", T.id, "24", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-6", "l3-network-name", "l3-network-name6");
- Vertex configuration = graph.addVertex(T.label, "configuration", T.id, "21", "aai-node-type", "configuration", "configuration-id", "configuration-id-1", "configuration-type", "configuration-type-1");
- Vertex vlantag = graph.addVertex(T.label, "vlan-tag", T.id, "22", "aai-node-type", "vlan-tag", "vlan-tag-id", "vlan-tag-id-1");
- Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "28", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner2");
- Vertex range2 = graph.addVertex(T.label, "vlan-range", T.id, "29", "aai-node-type", "vlan-range", "vlan-range-id", "vlanRange2");
- Vertex vlantag2 = graph.addVertex(T.label, "vlan-tag", T.id, "25", "aai-node-type", "vlan-tag", "vlan-tag-id", "vlan-tag-id-2");
-
+ // Set up the test graph
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-subscription-id",
+ "service-subscription-id-1", "service-subscription-name", "service-subscription-name1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type",
+ "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
+ Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "4",
+ "aai-node-type", "allotted-resource", "allotted-resource-id", "allotted-resource-id-1",
+ "allotted-resource-name", "allotted-resource-name1");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex volumegroup =
+ graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group",
+ "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "8", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex l3network1 =
+ graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver",
+ "vserver-name1", "vservername1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "12", "aai-node-type", "tenant",
+ "tenant-name1", "tenant-name-1", "tenant-id", "tenant-id-1");
+ Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "13", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1");
+ Vertex range1 = graph.addVertex(T.label, "vlan-range", T.id, "26", "aai-node-type",
+ "vlan-range", "vlan-range-id", "vlanRange1");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver",
+ "hostname", "pservername");
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+ Vertex l3inter2ipv4addresslist = graph.addVertex(T.label, "interface-ipv6-address-list",
+ T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
+ Vertex l3network2 =
+ graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-2", "l3-network-name", "l3-network-name2");
+ Vertex l3inter2ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
+ Vertex l3network3 =
+ graph.addVertex(T.label, "l3-network", T.id, "19", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-3", "l3-network-name", "l3-network-name3");
+ Vertex l3network4 =
+ graph.addVertex(T.label, "l3-network", T.id, "20", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-4", "l3-network-name", "l3-network-name4");
+ Vertex l3network5 =
+ graph.addVertex(T.label, "l3-network", T.id, "23", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-5", "l3-network-name", "l3-network-name5");
+ Vertex l3network6 =
+ graph.addVertex(T.label, "l3-network", T.id, "24", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-6", "l3-network-name", "l3-network-name6");
+ Vertex configuration = graph.addVertex(T.label, "configuration", T.id, "21",
+ "aai-node-type", "configuration", "configuration-id", "configuration-id-1",
+ "configuration-type", "configuration-type-1");
+ Vertex vlantag = graph.addVertex(T.label, "vlan-tag", T.id, "22", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlan-tag-id-1");
+ Vertex region2 = graph.addVertex(T.label, "cloud-region", T.id, "28", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner2");
+ Vertex range2 = graph.addVertex(T.label, "vlan-range", T.id, "29", "aai-node-type",
+ "vlan-range", "vlan-range-id", "vlanRange2");
+ Vertex vlantag2 = graph.addVertex(T.label, "vlan-tag", T.id, "25", "aai-node-type",
+ "vlan-tag", "vlan-tag-id", "vlan-tag-id-2");
GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gnvf1, serviceinstance);//false
- rules.addTreeEdge(g, serviceinstance, servicesubscription);//true
- rules.addTreeEdge(g, servicesubscription, customer);//true
- rules.addTreeEdge(g, serviceinstance, allottedresource);//true
- rules.addEdge(g, serviceinstance, configuration);//true
- rules.addTreeEdge(g, gnvf1, vfmodule);//true
- rules.addEdge(g, gnvf1, volumegroup);//false
- rules.addEdge(g, gnvf1, l3network5);//true
- rules.addEdge(g, l3network5, vlantag, "org.onap.relationships.inventory.Uses");//true
- rules.addEdge(g, l3network5, l3network6);//true
- rules.addEdge(g, l3network6, vlantag2, "org.onap.relationships.inventory.Uses");//true
- rules.addTreeEdge(g, gnvf1, linter1);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);//true
- rules.addEdge(g, l3inter1ipv4addresslist, l3network1);//false
- rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);//true
- rules.addEdge(g, l3inter1ipv6addresslist, l3network2);//false
- rules.addEdge(g, gnvf1, vserver);//false
- rules.addTreeEdge(g, vserver, tenant);//true
- rules.addTreeEdge(g, tenant, region1);//true
- rules.addEdge(g, vserver, pserver);//false
- rules.addTreeEdge(g, vserver, linter2);//false
- rules.addTreeEdge(g, linter2, l3inter2ipv4addresslist);//false
- rules.addEdge(g, l3inter2ipv4addresslist, l3network3);//false
- rules.addTreeEdge(g, linter2, l3inter2ipv6addresslist);//true
- rules.addEdge(g, l3inter2ipv6addresslist, l3network4);//true
+ rules.addEdge(g, gnvf1, serviceinstance);// false
+ rules.addTreeEdge(g, serviceinstance, servicesubscription);// true
+ rules.addTreeEdge(g, servicesubscription, customer);// true
+ rules.addTreeEdge(g, serviceinstance, allottedresource);// true
+ rules.addEdge(g, serviceinstance, configuration);// true
+ rules.addTreeEdge(g, gnvf1, vfmodule);// true
+ rules.addEdge(g, gnvf1, volumegroup);// false
+ rules.addEdge(g, gnvf1, l3network5);// true
+ rules.addEdge(g, l3network5, vlantag, "org.onap.relationships.inventory.Uses");// true
+ rules.addEdge(g, l3network5, l3network6);// true
+ rules.addEdge(g, l3network6, vlantag2, "org.onap.relationships.inventory.Uses");// true
+ rules.addTreeEdge(g, gnvf1, linter1);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
+ rules.addEdge(g, l3inter1ipv4addresslist, l3network1);// false
+ rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
+ rules.addEdge(g, l3inter1ipv6addresslist, l3network2);// false
+ rules.addEdge(g, gnvf1, vserver);// false
+ rules.addTreeEdge(g, vserver, tenant);// true
+ rules.addTreeEdge(g, tenant, region1);// true
+ rules.addEdge(g, vserver, pserver);// false
+ rules.addTreeEdge(g, vserver, linter2);// false
+ rules.addTreeEdge(g, linter2, l3inter2ipv4addresslist);// false
+ rules.addEdge(g, l3inter2ipv4addresslist, l3network3);// false
+ rules.addTreeEdge(g, linter2, l3inter2ipv6addresslist);// true
+ rules.addEdge(g, l3inter2ipv6addresslist, l3network4);// true
rules.addTreeEdge(g, region1, range1);
rules.addTreeEdge(g, region2, range2);
rules.addTreeEdge(g, range1, vlantag);
@@ -134,13 +183,15 @@ public class VnfTopologyFromServiceInstanceTest extends QueryTest {
@Override
protected String getQueryName() {
- return "vnf-topology-fromServiceInstance";
+ return "vnf-topology-fromServiceInstance";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
g.has("service-instance-name", "service-instance-name-1");
}
+
@Override
protected void addParam(Map<String, Object> params) {
return;
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVfModuleTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVfModuleTest.java
index 4f1260e..54c45ca 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVfModuleTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVfModuleTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,7 +26,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
@@ -42,57 +41,93 @@ public class VnfTopologyFromVfModuleTest extends QueryTest {
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
-
-
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-1","service-subscription-name","service-subscription-name1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type", "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
- Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "4", "aai-node-type", "allotted-resource", "allotted-resource-id", "allotted-resource-id-1", "allotted-resource-name", "allotted-resource-name1");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex volumegroup = graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "8", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-name1", "vservername1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "12", "aai-node-type", "tenant", "tenant-name1", "tenant-name-1","tenant-id", "tenant-id-1");
- Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "13", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver", "hostname", "pservername");
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
- Vertex l3inter2ipv4addresslist = graph.addVertex(T.label, "interface-ipv6-address-list", T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-2", "l3-network-name", "l3-network-name2");
- Vertex l3inter2ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
- Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "19", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-3", "l3-network-name", "l3-network-name3");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "20", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-4", "l3-network-name", "l3-network-name4");
- Vertex vfmoduleStart = graph.addVertex(T.label, "vf-module", T.id, "21", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-2", "vf-module-name", "vf-module-name2");
-
-
+ // Set up the test graph
+
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-subscription-id",
+ "service-subscription-id-1", "service-subscription-name", "service-subscription-name1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type",
+ "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
+ Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "4",
+ "aai-node-type", "allotted-resource", "allotted-resource-id", "allotted-resource-id-1",
+ "allotted-resource-name", "allotted-resource-name1");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex volumegroup =
+ graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group",
+ "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "8", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex l3network1 =
+ graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver",
+ "vserver-name1", "vservername1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "12", "aai-node-type", "tenant",
+ "tenant-name1", "tenant-name-1", "tenant-id", "tenant-id-1");
+ Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "13", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver",
+ "hostname", "pservername");
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+ Vertex l3inter2ipv4addresslist = graph.addVertex(T.label, "interface-ipv6-address-list",
+ T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
+ Vertex l3network2 =
+ graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-2", "l3-network-name", "l3-network-name2");
+ Vertex l3inter2ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
+ Vertex l3network3 =
+ graph.addVertex(T.label, "l3-network", T.id, "19", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-3", "l3-network-name", "l3-network-name3");
+ Vertex l3network4 =
+ graph.addVertex(T.label, "l3-network", T.id, "20", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-4", "l3-network-name", "l3-network-name4");
+ Vertex vfmoduleStart = graph.addVertex(T.label, "vf-module", T.id, "21", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-2", "vf-module-name", "vf-module-name2");
GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, gnvf1, vfmoduleStart);//true
- rules.addEdge(g, gnvf1, serviceinstance);//false
- rules.addTreeEdge(g, serviceinstance, servicesubscription);//true
- rules.addTreeEdge(g, servicesubscription, customer);//true
- rules.addTreeEdge(g, serviceinstance, allottedresource);//true
- rules.addTreeEdge(g, gnvf1, vfmodule);//true
- rules.addEdge(g, gnvf1, volumegroup);//false
- rules.addTreeEdge(g, gnvf1, linter1);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);//true
- rules.addEdge(g, l3inter1ipv4addresslist, l3network1);//false
- rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);//true
- rules.addEdge(g, l3inter1ipv6addresslist, l3network2);//false
- rules.addEdge(g, gnvf1, vserver);//false
- rules.addTreeEdge(g, vserver, tenant);//true
- rules.addTreeEdge(g, tenant, region1);//true
- rules.addEdge(g, vserver, pserver);//false
- rules.addTreeEdge(g, vserver, linter2);//false
- rules.addTreeEdge(g, linter2, l3inter2ipv4addresslist);//false
- rules.addEdge(g, l3inter2ipv4addresslist, l3network3);//false
- rules.addTreeEdge(g, linter2, l3inter2ipv6addresslist);//true
- rules.addEdge(g, l3inter2ipv6addresslist, l3network4);//true
-
+ rules.addTreeEdge(g, gnvf1, vfmoduleStart);// true
+ rules.addEdge(g, gnvf1, serviceinstance);// false
+ rules.addTreeEdge(g, serviceinstance, servicesubscription);// true
+ rules.addTreeEdge(g, servicesubscription, customer);// true
+ rules.addTreeEdge(g, serviceinstance, allottedresource);// true
+ rules.addTreeEdge(g, gnvf1, vfmodule);// true
+ rules.addEdge(g, gnvf1, volumegroup);// false
+ rules.addTreeEdge(g, gnvf1, linter1);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
+ rules.addEdge(g, l3inter1ipv4addresslist, l3network1);// false
+ rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
+ rules.addEdge(g, l3inter1ipv6addresslist, l3network2);// false
+ rules.addEdge(g, gnvf1, vserver);// false
+ rules.addTreeEdge(g, vserver, tenant);// true
+ rules.addTreeEdge(g, tenant, region1);// true
+ rules.addEdge(g, vserver, pserver);// false
+ rules.addTreeEdge(g, vserver, linter2);// false
+ rules.addTreeEdge(g, linter2, l3inter2ipv4addresslist);// false
+ rules.addEdge(g, l3inter2ipv4addresslist, l3network3);// false
+ rules.addTreeEdge(g, linter2, l3inter2ipv6addresslist);// true
+ rules.addEdge(g, l3inter2ipv6addresslist, l3network4);// true
expectedResult.add(gnvf1);
expectedResult.add(serviceinstance);
@@ -118,13 +153,15 @@ public class VnfTopologyFromVfModuleTest extends QueryTest {
@Override
protected String getQueryName() {
- return "vnf-topology-fromVfModule";
+ return "vnf-topology-fromVfModule";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
g.has("vf-module-name", "vf-module-name2");
}
+
@Override
protected void addParam(Map<String, Object> params) {
return;
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVnfTest.java
index 4441d3f..6a5f2da 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVnfTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfTopologyFromVnfTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,105 +26,142 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfTopologyFromVnfTest extends QueryTest {
- public VnfTopologyFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public VnfTopologyFromVnfTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-1","service-subscription-name","service-subscription-name1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type", "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
- Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "4", "aai-node-type", "allotted-resource", "allotted-resource-id", "allotted-resource-id-1", "allotted-resource-name", "allotted-resource-name1");
- Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type", "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
- Vertex volumegroup = graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group", "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
- Vertex linter1 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
- Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list", T.id, "8", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex l3network1 = graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
- Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver", "vserver-name1", "vservername1");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "12", "aai-node-type", "tenant", "tenant-name1", "tenant-name-1","tenant-id", "tenant-id-1");
- Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "13", "aai-node-type", "cloud-region", "cloud-owner", "cloudOwner1");
- Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver", "hostname", "pservername");
- Vertex linter2 = graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
- Vertex l3inter2ipv4addresslist = graph.addVertex(T.label, "interface-ipv6-address-list", T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
- Vertex l3network2 = graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-2", "l3-network-name", "l3-network-name2");
- Vertex l3inter2ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list", T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2", "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
- Vertex l3network3 = graph.addVertex(T.label, "l3-network", T.id, "19", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-3", "l3-network-name", "l3-network-name3");
- Vertex l3network4 = graph.addVertex(T.label, "l3-network", T.id, "20", "aai-node-type", "l3-network", "ll3-network-id", "l3-network-id-4", "l3-network-name", "l3-network-name4");
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "0", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnf-id-1", "vnf-name", "vnf-name-1");
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-subscription-id",
+ "service-subscription-id-1", "service-subscription-name", "service-subscription-name1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type",
+ "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
+ Vertex allottedresource = graph.addVertex(T.label, "allotted-resource", T.id, "4",
+ "aai-node-type", "allotted-resource", "allotted-resource-id", "allotted-resource-id-1",
+ "allotted-resource-name", "allotted-resource-name1");
+ Vertex vfmodule = graph.addVertex(T.label, "vf-module", T.id, "5", "aai-node-type",
+ "vf-module", "vf-module-id", "vf-module-id-1", "vf-module-name", "vf-module-name1");
+ Vertex volumegroup =
+ graph.addVertex(T.label, "volume-group", T.id, "6", "aai-node-type", "volume-group",
+ "volume-group-id", "volume-group-id-1", "volume-group-name", "volume-group-name1");
+ Vertex linter1 =
+ graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-1", "l-interface-name", "l-interface-name1");
+ Vertex l3inter1ipv4addresslist = graph.addVertex(T.label, "interface-ipv4-address-list",
+ T.id, "8", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex l3network1 =
+ graph.addVertex(T.label, "l3-network", T.id, "9", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-1", "l3-network-name", "l3-network-name1");
+ Vertex l3inter1ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "10", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-1",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name1");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver",
+ "vserver-name1", "vservername1");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "12", "aai-node-type", "tenant",
+ "tenant-name1", "tenant-name-1", "tenant-id", "tenant-id-1");
+ Vertex region1 = graph.addVertex(T.label, "cloud-region", T.id, "13", "aai-node-type",
+ "cloud-region", "cloud-owner", "cloudOwner1");
+ Vertex pserver = graph.addVertex(T.label, "pserver", T.id, "14", "aai-node-type", "pserver",
+ "hostname", "pservername");
+ Vertex linter2 =
+ graph.addVertex(T.label, "l-interface", T.id, "15", "aai-node-type", "l-interface",
+ "l-interface-id", "l-interface-id-2", "l-interface-name", "l-interface-name2");
+ Vertex l3inter2ipv4addresslist = graph.addVertex(T.label, "interface-ipv6-address-list",
+ T.id, "16", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
+ Vertex l3network2 =
+ graph.addVertex(T.label, "l3-network", T.id, "17", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-2", "l3-network-name", "l3-network-name2");
+ Vertex l3inter2ipv6addresslist = graph.addVertex(T.label, "l3-interface-ipv6-address-list",
+ T.id, "18", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-list-id-2",
+ "l3-interface-ipv6-address-list-name", "l3-interface-ipv6-address-list-name2");
+ Vertex l3network3 =
+ graph.addVertex(T.label, "l3-network", T.id, "19", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-3", "l3-network-name", "l3-network-name3");
+ Vertex l3network4 =
+ graph.addVertex(T.label, "l3-network", T.id, "20", "aai-node-type", "l3-network",
+ "ll3-network-id", "l3-network-id-4", "l3-network-name", "l3-network-name4");
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gnvf1, serviceinstance);// false
+ rules.addTreeEdge(g, serviceinstance, servicesubscription);// true
+ rules.addTreeEdge(g, servicesubscription, customer);// true
+ rules.addTreeEdge(g, serviceinstance, allottedresource);// true
+ rules.addTreeEdge(g, gnvf1, vfmodule);// true
+ rules.addEdge(g, gnvf1, volumegroup);// false
+ rules.addTreeEdge(g, gnvf1, linter1);// true
+ rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);// true
+ rules.addEdge(g, l3inter1ipv4addresslist, l3network1);// false
+ rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);// true
+ rules.addEdge(g, l3inter1ipv6addresslist, l3network2);// false
+ rules.addEdge(g, gnvf1, vserver);// false
+ rules.addTreeEdge(g, vserver, tenant);// true
+ rules.addTreeEdge(g, tenant, region1);// true
+ rules.addEdge(g, vserver, pserver);// false
+ rules.addTreeEdge(g, vserver, linter2);// false
+ rules.addTreeEdge(g, linter2, l3inter2ipv4addresslist);// false
+ rules.addEdge(g, l3inter2ipv4addresslist, l3network3);// false
+ rules.addTreeEdge(g, linter2, l3inter2ipv6addresslist);// true
+ rules.addEdge(g, l3inter2ipv6addresslist, l3network4);// true
+ expectedResult.add(gnvf1);
+ expectedResult.add(serviceinstance);
+ expectedResult.add(servicesubscription);
+ expectedResult.add(customer);
+ expectedResult.add(allottedresource);
+ expectedResult.add(vfmodule);
+ expectedResult.add(volumegroup);
+ expectedResult.add(linter1);
+ expectedResult.add(l3inter1ipv4addresslist);
+ expectedResult.add(l3network1);
+ expectedResult.add(l3inter1ipv6addresslist);
+ expectedResult.add(l3network2);
+ expectedResult.add(vserver);
+ expectedResult.add(tenant);
+ expectedResult.add(region1);
+ expectedResult.add(pserver);
+ expectedResult.add(linter2);
+ expectedResult.add(l3inter2ipv4addresslist);
+ expectedResult.add(l3network3);
+ expectedResult.add(l3inter2ipv6addresslist);
+ expectedResult.add(l3network4);
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gnvf1, serviceinstance);//false
- rules.addTreeEdge(g, serviceinstance, servicesubscription);//true
- rules.addTreeEdge(g, servicesubscription, customer);//true
- rules.addTreeEdge(g, serviceinstance, allottedresource);//true
- rules.addTreeEdge(g, gnvf1, vfmodule);//true
- rules.addEdge(g, gnvf1, volumegroup);//false
- rules.addTreeEdge(g, gnvf1, linter1);//true
- rules.addTreeEdge(g, linter1, l3inter1ipv4addresslist);//true
- rules.addEdge(g, l3inter1ipv4addresslist, l3network1);//false
- rules.addTreeEdge(g, linter1, l3inter1ipv6addresslist);//true
- rules.addEdge(g, l3inter1ipv6addresslist, l3network2);//false
- rules.addEdge(g, gnvf1, vserver);//false
- rules.addTreeEdge(g, vserver, tenant);//true
- rules.addTreeEdge(g, tenant, region1);//true
- rules.addEdge(g, vserver, pserver);//false
- rules.addTreeEdge(g, vserver, linter2);//false
- rules.addTreeEdge(g, linter2, l3inter2ipv4addresslist);//false
- rules.addEdge(g, l3inter2ipv4addresslist, l3network3);//false
- rules.addTreeEdge(g, linter2, l3inter2ipv6addresslist);//true
- rules.addEdge(g, l3inter2ipv6addresslist, l3network4);//true
+ }
+ @Override
+ protected String getQueryName() {
+ return "vnf-topology-fromVnf";
+ }
- expectedResult.add(gnvf1);
- expectedResult.add(serviceinstance);
- expectedResult.add(servicesubscription);
- expectedResult.add(customer);
- expectedResult.add(allottedresource);
- expectedResult.add(vfmodule);
- expectedResult.add(volumegroup);
- expectedResult.add(linter1);
- expectedResult.add(l3inter1ipv4addresslist);
- expectedResult.add(l3network1);
- expectedResult.add(l3inter1ipv6addresslist);
- expectedResult.add(l3network2);
- expectedResult.add(vserver);
- expectedResult.add(tenant);
- expectedResult.add(region1);
- expectedResult.add(pserver);
- expectedResult.add(linter2);
- expectedResult.add(l3inter2ipv4addresslist);
- expectedResult.add(l3network3);
- expectedResult.add(l3inter2ipv6addresslist);
- expectedResult.add(l3network4);
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("vnf-name", "vnf-name-1");
- }
+ }
- @Override
- protected String getQueryName() {
- return "vnf-topology-fromVnf";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("vnf-name", "vnf-name-1");
-
- }
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfVserverFromCustomerTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfVserverFromCustomerTest.java
index 5d70867..971ac4f 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfVserverFromCustomerTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfVserverFromCustomerTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,60 +26,71 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfVserverFromCustomerTest extends QueryTest {
- public VnfVserverFromCustomerTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "0", "aai-node-type", "customer", "global-customer-id", "customer1","subscriber-type","INFRA");
- Vertex service1 = graph.addVertex(T.label, "service-subscription", T.id, "1", "aai-node-type", "service-subscription", "service-type", "service1");
- Vertex instance = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type", "service-instance");
- Vertex vnf = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver");
-
- Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "5", "aai-node-type", "customer", "global-customer-id", "customer2","subscriber-type","INFRA2");
- Vertex service2 = graph.addVertex(T.label, "service-subscription", T.id, "6", "aai-node-type", "service-subscription", "service-type", "service2");
- Vertex instance2 = graph.addVertex(T.label, "service-instance", T.id, "7", "aai-node-type", "service-instance");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver");
-
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, customer1, service1);
- rules.addTreeEdge(g, service1, instance);
- rules.addEdge(g, vnf, instance);
- rules.addEdge(g, vnf, vserver);
-
- rules.addTreeEdge(g, customer2, service2); //false
- rules.addTreeEdge(g, service2, instance2); //false
- rules.addEdge(g, vnf2, instance2); //false
- rules.addEdge(g, vnf2, vserver2);//false
-
- expectedResult.add(vnf);
- expectedResult.add(vserver);
+ public VnfVserverFromCustomerTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex customer1 = graph.addVertex(T.label, "customer", T.id, "0", "aai-node-type",
+ "customer", "global-customer-id", "customer1", "subscriber-type", "INFRA");
+ Vertex service1 = graph.addVertex(T.label, "service-subscription", T.id, "1",
+ "aai-node-type", "service-subscription", "service-type", "service1");
+ Vertex instance = graph.addVertex(T.label, "service-instance", T.id, "2", "aai-node-type",
+ "service-instance");
+ Vertex vnf =
+ graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver");
+
+ Vertex customer2 = graph.addVertex(T.label, "customer", T.id, "5", "aai-node-type",
+ "customer", "global-customer-id", "customer2", "subscriber-type", "INFRA2");
+ Vertex service2 = graph.addVertex(T.label, "service-subscription", T.id, "6",
+ "aai-node-type", "service-subscription", "service-type", "service2");
+ Vertex instance2 = graph.addVertex(T.label, "service-instance", T.id, "7", "aai-node-type",
+ "service-instance");
+ Vertex vnf2 =
+ graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf");
+ Vertex vserver2 =
+ graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver");
+
+ GraphTraversalSource g = graph.traversal();
+ rules.addTreeEdge(g, customer1, service1);
+ rules.addTreeEdge(g, service1, instance);
+ rules.addEdge(g, vnf, instance);
+ rules.addEdge(g, vnf, vserver);
+
+ rules.addTreeEdge(g, customer2, service2); // false
+ rules.addTreeEdge(g, service2, instance2); // false
+ rules.addEdge(g, vnf2, instance2); // false
+ rules.addEdge(g, vnf2, vserver2);// false
+
+ expectedResult.add(vnf);
+ expectedResult.add(vserver);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnf-vserver-fromCustomer";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "customer").has("subscriber-type", "INFRA");
+ }
- }
- @Override
- protected String getQueryName() {
- return "vnf-vserver-fromCustomer";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "customer").has("subscriber-type", "INFRA");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromPserverQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromPserverQueryTest.java
index 16b9499..bb07697 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromPserverQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromPserverQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,64 +26,75 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.junit.Test;
-
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfsFromPserverQueryTest extends QueryTest {
- public VnfsFromPserverQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
-
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "sample");
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver", "hostname", "pservername1");
-
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2");
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver", "hostname", "pservername2");
-
- Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "pservername3");
- Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver", "vserver-name", "vservername");
- Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "7", "aai-node-type", "tenant", "tenant-id", "tenantuuid", "tenant-name", "tenantname");
- Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "8", "aai-node-type", "cloud-region", "cloud-region-id", "clouduuid", "cloud-region-owner", "cloudOwnername");
-
- Vertex vnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type", "generic-vnf", "vnf-id", "vnfid3", "vnf-name", "sample");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, pserver1, vnf1);
- rules.addEdge(g, pserver1, vnf2);
- rules.addEdge(g, pserver1, vnf3);
-
- rules.addTreeEdge(g, tenant, cloudregion);
- rules.addTreeEdge(g, vserver, tenant);
- rules.addEdge(g, vserver, pserver3);
- rules.addEdge(g, vserver, vnf2);
-
- //expectedResult.add(vnf2);
- expectedResult.add(vnf1);
- //expectedResult.add(vnf3);
-
- }
- @Override
- protected String getQueryName() {
- return "vnfs-fromPserver";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- //g.has("vnf-id", "vnfid2");
- g.has("aai-node-type","generic-vnf").has("vnf-id", "vnfid1").has("vnf-name", "sample");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("hostname", "pservername1");
- }
+ public VnfsFromPserverQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
+
+ @Test
+ public void run() {
+ super.run();
+ }
+
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "1", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "sample");
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "2", "aai-node-type", "pserver",
+ "hostname", "pservername1");
+
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "3", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2");
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "4", "aai-node-type", "pserver",
+ "hostname", "pservername2");
+
+ Vertex pserver3 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "pservername3");
+ Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver",
+ "vserver-name", "vservername");
+ Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "7", "aai-node-type", "tenant",
+ "tenant-id", "tenantuuid", "tenant-name", "tenantname");
+ Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "8", "aai-node-type",
+ "cloud-region", "cloud-region-id", "clouduuid", "cloud-region-owner", "cloudOwnername");
+
+ Vertex vnf3 = graph.addVertex(T.label, "generic-vnf", T.id, "9", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid3", "vnf-name", "sample");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, pserver1, vnf1);
+ rules.addEdge(g, pserver1, vnf2);
+ rules.addEdge(g, pserver1, vnf3);
+
+ rules.addTreeEdge(g, tenant, cloudregion);
+ rules.addTreeEdge(g, vserver, tenant);
+ rules.addEdge(g, vserver, pserver3);
+ rules.addEdge(g, vserver, vnf2);
+
+ // expectedResult.add(vnf2);
+ expectedResult.add(vnf1);
+ // expectedResult.add(vnf3);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnfs-fromPserver";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ // g.has("vnf-id", "vnfid2");
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnfid1").has("vnf-name", "sample");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("hostname", "pservername1");
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromServiceInstanceTest.java
index 09fd515..708286d 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsFromServiceInstanceTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -30,49 +30,61 @@ import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VnfsFromServiceInstanceTest extends QueryTest {
- public VnfsFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-subscription-id", "service-subscription-id-1","service-subscription-name","service-subscription-name1");
- Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type", "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
- Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type", "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "vnfname1", "vnf-type", "vnftype1");
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "5", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name", "service-instance-name-2");
- Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type", "generic-vnf", "vnf-id", "vnfid2", "vnf-name", "vnfname2", "vnf-type", "vnftype1");
-
- GraphTraversalSource g = graph.traversal();
+ public VnfsFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- rules.addEdge(g, vnf1, serviceinstance);//true
- rules.addEdge(g, vnf2, serviceinstance2);
+ @Test
+ public void run() {
+ super.run();
+ }
- rules.addTreeEdge(g, serviceinstance, servicesubscription);//true
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+
+ // Set up the test graph
+ Vertex serviceinstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex servicesubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-subscription-id",
+ "service-subscription-id-1", "service-subscription-name", "service-subscription-name1");
+ Vertex customer = graph.addVertex(T.label, "customer", T.id, "3", "aai-node-type",
+ "customer", "customer-id", "customer-id-1", "customer-name", "customer-name1");
+ Vertex vnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "4", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid1", "vnf-name", "vnfname1", "vnf-type", "vnftype1");
+ Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "5",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-2",
+ "service-instance-name", "service-instance-name-2");
+ Vertex vnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "6", "aai-node-type",
+ "generic-vnf", "vnf-id", "vnfid2", "vnf-name", "vnfname2", "vnf-type", "vnftype1");
+
+ GraphTraversalSource g = graph.traversal();
+
+ rules.addEdge(g, vnf1, serviceinstance);// true
+ rules.addEdge(g, vnf2, serviceinstance2);
+
+ rules.addTreeEdge(g, serviceinstance, servicesubscription);// true
rules.addTreeEdge(g, serviceinstance2, servicesubscription);
- rules.addTreeEdge(g, servicesubscription, customer);//true
-
- expectedResult.add(vnf1);
+ rules.addTreeEdge(g, servicesubscription, customer);// true
+
+ expectedResult.add(vnf1);
+
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vnfs-fromServiceInstance";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
+ }
- }
- @Override
- protected String getQueryName() {
- return "vnfs-fromServiceInstance";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsVlansFromServiceInstanceTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsVlansFromServiceInstanceTest.java
index f7c517e..936c361 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsVlansFromServiceInstanceTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VnfsVlansFromServiceInstanceTest.java
@@ -1,103 +1,123 @@
package org.onap.aai.rest.search; /**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the
+ * License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software
+ * distributed under the License is distributed on an "AS IS"
+ * BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ * See the License for the specific language governing permissions
+ * and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
/*
-package org.onap.aai.rest.search;
-
-import java.util.Map;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.structure.T;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.Test;
-import org.onap.aai.exceptions.AAIException;
-import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-
-public class VnfsVlansFromServiceInstanceTest extends QueryTest {
- public VnfsVlansFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
-
- @Test
- public void run() {
- super.run();
- }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
-
-
- //Set up the test graph
- Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "0", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name",
- "service-instance-name-1");
-
- Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "1", "aai-node-type", "configuration", "configuration-id", "configuration1");
-
- Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
-
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0","network-name","networkName0");
-
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan", "vlan-interface", "vlan-interface1");
-
-
- Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "5", "aai-node-type",
- "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name",
- "service-instance-name-1");
-
- Vertex config2 = graph.addVertex(T.label, "configuration", T.id, "6", "aai-node-type", "configuration", "configuration-id", "configuration2");
-
- Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf",
- "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
-
- Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "8", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id2", "l-interface-name", "l-interface-name2","network-name","networkName1");
-
- Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "9", "aai-node-type", "vlan", "vlan-interface", "vlan-interface2");
-
- GraphTraversalSource g = graph.traversal();
-
- rules.addEdge(g, serviceinstance1, config1); // True
- rules.addEdge(g, config1, gvnf1); // True
- rules.addEdge(g, config1, linterface1); // True
- rules.addTreeEdge(g, linterface1, vlan1); // True
-
- rules.addEdge(g, serviceinstance2, config2); // False
- rules.addEdge(g, config2, gvnf2); // False
- rules.addEdge(g, config2, linterface2);// False
- rules.addTreeEdge(g, linterface2, vlan2); // False
-
- expectedResult.add(gvnf1);
- expectedResult.add(vlan1);
-
- }
- @Override
- protected String getQueryName() {
- return "vnfs-vlans-fromServiceInstance";
- }
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
- }
-
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
-}*/ \ No newline at end of file
+ * package org.onap.aai.rest.search;
+ *
+ * import java.util.Map;
+ *
+ * import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+ * import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+ * import org.apache.tinkerpop.gremlin.structure.T;
+ * import org.apache.tinkerpop.gremlin.structure.Vertex;
+ * import org.junit.Test;
+ * import org.onap.aai.exceptions.AAIException;
+ * import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
+ *
+ * public class VnfsVlansFromServiceInstanceTest extends QueryTest {
+ * public VnfsVlansFromServiceInstanceTest() throws AAIException, NoEdgeRuleFoundException {
+ * super();
+ * }
+ *
+ * @Test
+ * public void run() {
+ * super.run();
+ * }
+ *
+ * @Override
+ * protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ *
+ *
+ * //Set up the test graph
+ * Vertex serviceinstance1 = graph.addVertex(T.label, "service-instance", T.id, "0",
+ * "aai-node-type",
+ * "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name",
+ * "service-instance-name-1");
+ *
+ * Vertex config1 = graph.addVertex(T.label, "configuration", T.id, "1", "aai-node-type",
+ * "configuration", "configuration-id", "configuration1");
+ *
+ * Vertex gvnf1 = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf",
+ * "vnf-id", "gvnf1", "vnf-name", "genvnfname1", "nf-type", "sample-nf-type");
+ *
+ * Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type",
+ * "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name",
+ * "l-interface-name0","network-name","networkName0");
+ *
+ * Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan",
+ * "vlan-interface", "vlan-interface1");
+ *
+ *
+ * Vertex serviceinstance2 = graph.addVertex(T.label, "service-instance", T.id, "5",
+ * "aai-node-type",
+ * "service-instance", "service-instance-id", "service-instance-id-2", "service-instance-name",
+ * "service-instance-name-1");
+ *
+ * Vertex config2 = graph.addVertex(T.label, "configuration", T.id, "6", "aai-node-type",
+ * "configuration", "configuration-id", "configuration2");
+ *
+ * Vertex gvnf2 = graph.addVertex(T.label, "generic-vnf", T.id, "7", "aai-node-type", "generic-vnf",
+ * "vnf-id", "gvnf2", "vnf-name", "genvnfname2", "nf-type", "sample-nf-type");
+ *
+ * Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "8", "aai-node-type",
+ * "l-interface", "l-interface-id", "l-interface-id2", "l-interface-name",
+ * "l-interface-name2","network-name","networkName1");
+ *
+ * Vertex vlan2 = graph.addVertex(T.label, "vlan", T.id, "9", "aai-node-type", "vlan",
+ * "vlan-interface", "vlan-interface2");
+ *
+ * GraphTraversalSource g = graph.traversal();
+ *
+ * rules.addEdge(g, serviceinstance1, config1); // True
+ * rules.addEdge(g, config1, gvnf1); // True
+ * rules.addEdge(g, config1, linterface1); // True
+ * rules.addTreeEdge(g, linterface1, vlan1); // True
+ *
+ * rules.addEdge(g, serviceinstance2, config2); // False
+ * rules.addEdge(g, config2, gvnf2); // False
+ * rules.addEdge(g, config2, linterface2);// False
+ * rules.addTreeEdge(g, linterface2, vlan2); // False
+ *
+ * expectedResult.add(gvnf1);
+ * expectedResult.add(vlan1);
+ *
+ * }
+ *
+ * @Override
+ * protected String getQueryName() {
+ * return "vnfs-vlans-fromServiceInstance";
+ * }
+ *
+ * @Override
+ * protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ * g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
+ * }
+ *
+ * @Override
+ * protected void addParam(Map<String, Object> params) {
+ * return;
+ * }
+ * }
+ */
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromPserverTreeTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromPserverTreeTest.java
index 79d070a..6b9ea12 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromPserverTreeTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromPserverTreeTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,11 @@
*/
package org.onap.aai.rest.search;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -27,11 +32,6 @@ import org.junit.Test;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
public class VserverFromPserverTreeTest extends TreeQueryTest {
public VserverFromPserverTreeTest() throws AAIException, NoEdgeRuleFoundException {
@@ -40,11 +40,19 @@ public class VserverFromPserverTreeTest extends TreeQueryTest {
@Override
protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex p1 = graph.addVertex(T.label, "pserver", T.id, "0", "aai-node-type", "pserver", "hostname", "pserver-name-1");
- Vertex p2 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "pserver-name-2");
- Vertex v1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id", "vservId-1", "vserver-name", "vserv-name-1", "vserver-selflink", "me/self");
- Vertex v2 = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vservId-2", "vserver-name", "vserv-name-2", "vserver-selflink", "me/self");
- Vertex v3 = graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver", "vserver-id", "vservId-3", "vserver-name", "vserv-name-3", "vserver-selflink", "me/self");
+ Vertex p1 = graph.addVertex(T.label, "pserver", T.id, "0", "aai-node-type", "pserver",
+ "hostname", "pserver-name-1");
+ Vertex p2 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "pserver-name-2");
+ Vertex v1 =
+ graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id",
+ "vservId-1", "vserver-name", "vserv-name-1", "vserver-selflink", "me/self");
+ Vertex v2 =
+ graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id",
+ "vservId-2", "vserver-name", "vserv-name-2", "vserver-selflink", "me/self");
+ Vertex v3 =
+ graph.addVertex(T.label, "vserver", T.id, "4", "aai-node-type", "vserver", "vserver-id",
+ "vservId-3", "vserver-name", "vserv-name-3", "vserver-selflink", "me/self");
rules.addEdge(gts, p1, v1);
rules.addEdge(gts, p1, v2);
@@ -56,11 +64,16 @@ public class VserverFromPserverTreeTest extends TreeQueryTest {
super.run();
Tree tree = treeList.get(0);
- Vertex p1 = graph.traversal().V().has("aai-node-type","pserver").has("hostname","pserver-name-1").next();
- Vertex p2 = graph.traversal().V().has("aai-node-type","pserver").has("hostname","pserver-name-2").next();
- Vertex v1 = graph.traversal().V().has("aai-node-type", "vserver").has("vserver-id","vservId-1").next();
- Vertex v2 = graph.traversal().V().has("aai-node-type", "vserver").has("vserver-id","vservId-2").next();
- Vertex v3 = graph.traversal().V().has("aai-node-type", "vserver").has("vserver-id","vservId-3").next();
+ Vertex p1 = graph.traversal().V().has("aai-node-type", "pserver")
+ .has("hostname", "pserver-name-1").next();
+ Vertex p2 = graph.traversal().V().has("aai-node-type", "pserver")
+ .has("hostname", "pserver-name-2").next();
+ Vertex v1 = graph.traversal().V().has("aai-node-type", "vserver")
+ .has("vserver-id", "vservId-1").next();
+ Vertex v2 = graph.traversal().V().has("aai-node-type", "vserver")
+ .has("vserver-id", "vservId-2").next();
+ Vertex v3 = graph.traversal().V().has("aai-node-type", "vserver")
+ .has("vserver-id", "vservId-3").next();
assertTrue(tree.containsKey(p1));
assertTrue(((Tree) tree.get(p1)).containsKey(v1));
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromVnfQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromVnfQueryTest.java
index 3dd7b25..26972ba 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromVnfQueryTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverFromVnfQueryTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -31,70 +31,76 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VserverFromVnfQueryTest extends QueryTest {
- public VserverFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public VserverFromVnfQueryTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex gv = graph.addVertex(T.id, "00", "aai-node-type", "generic-vnf", "vnf-id", "gvId", "vnf-name", "gvName", "vnf-type", "some-type");
- Vertex vnfc = graph.addVertex(T.id, "10", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function");
- Vertex vserv = graph.addVertex(T.id, "20", "aai-node-type", "vserver",
- "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
- Vertex lint = graph.addVertex(T.id, "30", "aai-node-type", "l-interface", "interface-name", "lintName");
- Vertex ipv4 = graph.addVertex(T.id, "40", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "0.0.0.0");
- Vertex ipv6 = graph.addVertex(T.id, "50", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "0.0.0.0");
-
-
- Vertex gv1 = graph.addVertex(T.id, "60", "aai-node-type", "generic-vnf", "vnf-id", "gvId1", "vnf-name", "gvName1", "vnf-type", "some-type1");
- Vertex vnfc1 = graph.addVertex(T.id, "70", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName11", "nfc-naming-code", "blue1", "nfc-function", "correct-function1");
- Vertex vserv1 = graph.addVertex(T.id, "80", "aai-node-type", "vserver",
- "vserver-id", "vservId1", "vserver-name", "vservName1", "vserver-selflink", "me/self1");
- Vertex lint1 = graph.addVertex(T.id, "90", "aai-node-type", "l-interface", "interface-name", "lintName1");
- Vertex ipv41 = graph.addVertex(T.id, "1", "aai-node-type", "l3-interface-ipv4-address-list", "l3-interface-ipv4-address", "0.0.0.0.1");
- Vertex ipv61 = graph.addVertex(T.id, "2", "aai-node-type", "l3-interface-ipv6-address-list", "l3-interface-ipv6-address", "0.0.0.0.1");
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex gv = graph.addVertex(T.id, "00", "aai-node-type", "generic-vnf", "vnf-id", "gvId",
+ "vnf-name", "gvName", "vnf-type", "some-type");
+ Vertex vnfc = graph.addVertex(T.id, "10", "aai-node-type", "vnfc", "vnfc-name", "vnfcName1",
+ "nfc-naming-code", "blue", "nfc-function", "correct-function");
+ Vertex vserv = graph.addVertex(T.id, "20", "aai-node-type", "vserver", "vserver-id",
+ "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
+ Vertex lint = graph.addVertex(T.id, "30", "aai-node-type", "l-interface", "interface-name",
+ "lintName");
+ Vertex ipv4 = graph.addVertex(T.id, "40", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "0.0.0.0");
+ Vertex ipv6 = graph.addVertex(T.id, "50", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "0.0.0.0");
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, gv, vnfc);
- rules.addEdge(g, vserv, vnfc);
- rules.addTreeEdge(g, vserv, lint);
- rules.addTreeEdge(g, lint, ipv4);
- rules.addTreeEdge(g, lint, ipv6);
-
- rules.addEdge(g, gv1, vnfc1);//false
- rules.addEdge(g, vserv1, vnfc1);//false
- rules.addTreeEdge(g, vserv1, lint1);//false
- rules.addTreeEdge(g, lint1, ipv41);//false
- rules.addTreeEdge(g, lint1, ipv61);//false
-
- expectedResult.add(vserv);
- expectedResult.add(lint);
- expectedResult.add(ipv4);
- expectedResult.add(ipv6);
- expectedResult.add(vnfc);
- }
+ Vertex gv1 = graph.addVertex(T.id, "60", "aai-node-type", "generic-vnf", "vnf-id", "gvId1",
+ "vnf-name", "gvName1", "vnf-type", "some-type1");
+ Vertex vnfc1 = graph.addVertex(T.id, "70", "aai-node-type", "vnfc", "vnfc-name",
+ "vnfcName11", "nfc-naming-code", "blue1", "nfc-function", "correct-function1");
+ Vertex vserv1 = graph.addVertex(T.id, "80", "aai-node-type", "vserver", "vserver-id",
+ "vservId1", "vserver-name", "vservName1", "vserver-selflink", "me/self1");
+ Vertex lint1 = graph.addVertex(T.id, "90", "aai-node-type", "l-interface", "interface-name",
+ "lintName1");
+ Vertex ipv41 = graph.addVertex(T.id, "1", "aai-node-type", "l3-interface-ipv4-address-list",
+ "l3-interface-ipv4-address", "0.0.0.0.1");
+ Vertex ipv61 = graph.addVertex(T.id, "2", "aai-node-type", "l3-interface-ipv6-address-list",
+ "l3-interface-ipv6-address", "0.0.0.0.1");
- @Override
- protected String getQueryName() {
- return "vserver-fromVnf";
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, gv, vnfc);
+ rules.addEdge(g, vserv, vnfc);
+ rules.addTreeEdge(g, vserv, lint);
+ rules.addTreeEdge(g, lint, ipv4);
+ rules.addTreeEdge(g, lint, ipv6);
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvId");
- }
+ rules.addEdge(g, gv1, vnfc1);// false
+ rules.addEdge(g, vserv1, vnfc1);// false
+ rules.addTreeEdge(g, vserv1, lint1);// false
+ rules.addTreeEdge(g, lint1, ipv41);// false
+ rules.addTreeEdge(g, lint1, ipv61);// false
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("nfcNamingCode", "blue");
- }
+ expectedResult.add(vserv);
+ expectedResult.add(lint);
+ expectedResult.add(ipv4);
+ expectedResult.add(ipv6);
+ expectedResult.add(vnfc);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vserver-fromVnf";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "generic-vnf").has("vnf-id", "gvId");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("nfcNamingCode", "blue");
+ }
-
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLinterfacesFromVnfcTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLinterfacesFromVnfcTest.java
index 2c1a0ea..d272273 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLinterfacesFromVnfcTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLinterfacesFromVnfcTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -33,66 +33,76 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VserverLinterfacesFromVnfcTest extends QueryTest {
- public VserverLinterfacesFromVnfcTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public VserverLinterfacesFromVnfcTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void run() {
- super.run();
- }
+ @Test
+ public void run() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- Vertex vnfc = graph.addVertex(T.label, "vnfc",T.id, "0", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function");
- Vertex vserv = graph.addVertex(T.label, "vserver",T.id, "1", "aai-node-type", "vserver",
- "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
- Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name", "l-interface-name0","network-name","networkName0");
- Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id1", "l-interface-name", "l-interface-name1","network-name","networkName1");
- Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan", "vlan-interface", "vlan-interface0");
-
-
- Vertex vnfc1 = graph.addVertex(T.label, "vnfc",T.id, "10", "aai-node-type", "vnfc",
- "vnfc-name", "vnfcName2", "nfc-naming-code", "blue-1", "nfc-function", "correct-function-1");
- Vertex vserv1 = graph.addVertex(T.label, "vserver",T.id, "11", "aai-node-type", "vserver",
- "vserver-id", "vservId1", "vserver-name", "vservName1", "vserver-selflink", "me/self-1");
- Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id2", "l-interface-name", "l-interface-name2","network-name","networkName2");
- Vertex linterface21 = graph.addVertex(T.label, "l-interface", T.id, "13", "aai-node-type", "l-interface", "l-interface-id", "l-interface-id21", "l-interface-name", "l-interface-name21","network-name","networkName21");
- Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "14", "aai-node-type", "vlan", "vlan-interface", "vlan-interface1");
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ Vertex vnfc =
+ graph.addVertex(T.label, "vnfc", T.id, "0", "aai-node-type", "vnfc", "vnfc-name",
+ "vnfcName1", "nfc-naming-code", "blue", "nfc-function", "correct-function");
+ Vertex vserv = graph.addVertex(T.label, "vserver", T.id, "1", "aai-node-type", "vserver",
+ "vserver-id", "vservId", "vserver-name", "vservName", "vserver-selflink", "me/self");
+ Vertex linterface = graph.addVertex(T.label, "l-interface", T.id, "2", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id0", "l-interface-name",
+ "l-interface-name0", "network-name", "networkName0");
+ Vertex linterface1 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id1", "l-interface-name",
+ "l-interface-name1", "network-name", "networkName1");
+ Vertex vlan = graph.addVertex(T.label, "vlan", T.id, "4", "aai-node-type", "vlan",
+ "vlan-interface", "vlan-interface0");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, vnfc,vserv);
- rules.addTreeEdge(g, vserv, linterface);
- rules.addTreeEdge(g, linterface, linterface1);
- rules.addTreeEdge(g, linterface1, vlan);
-
- rules.addEdge(g, vnfc1,vserv1);//false
- rules.addTreeEdge(g, vserv1, linterface2);//false
- rules.addTreeEdge(g, linterface2, linterface21);//false
- rules.addTreeEdge(g, linterface21, vlan1);//false
-
- expectedResult.add(vserv);
- expectedResult.add(linterface);
- expectedResult.add(linterface1);
- expectedResult.add(vlan);
- }
+ Vertex vnfc1 =
+ graph.addVertex(T.label, "vnfc", T.id, "10", "aai-node-type", "vnfc", "vnfc-name",
+ "vnfcName2", "nfc-naming-code", "blue-1", "nfc-function", "correct-function-1");
+ Vertex vserv1 = graph.addVertex(T.label, "vserver", T.id, "11", "aai-node-type", "vserver",
+ "vserver-id", "vservId1", "vserver-name", "vservName1", "vserver-selflink",
+ "me/self-1");
+ Vertex linterface2 = graph.addVertex(T.label, "l-interface", T.id, "12", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id2", "l-interface-name",
+ "l-interface-name2", "network-name", "networkName2");
+ Vertex linterface21 = graph.addVertex(T.label, "l-interface", T.id, "13", "aai-node-type",
+ "l-interface", "l-interface-id", "l-interface-id21", "l-interface-name",
+ "l-interface-name21", "network-name", "networkName21");
+ Vertex vlan1 = graph.addVertex(T.label, "vlan", T.id, "14", "aai-node-type", "vlan",
+ "vlan-interface", "vlan-interface1");
- @Override
- protected String getQueryName() {
- return "vserver-l-interfaces-fromVnfc";
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, vnfc, vserv);
+ rules.addTreeEdge(g, vserv, linterface);
+ rules.addTreeEdge(g, linterface, linterface1);
+ rules.addTreeEdge(g, linterface1, vlan);
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "vnfc").has("vnfc-name", "vnfcName1");
- }
+ rules.addEdge(g, vnfc1, vserv1);// false
+ rules.addTreeEdge(g, vserv1, linterface2);// false
+ rules.addTreeEdge(g, linterface2, linterface21);// false
+ rules.addTreeEdge(g, linterface21, vlan1);// false
- @Override
- protected void addParam(Map<String, Object> params) {
- params.put("networkName", "networkName0");
- }
+ expectedResult.add(vserv);
+ expectedResult.add(linterface);
+ expectedResult.add(linterface1);
+ expectedResult.add(vlan);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vserver-l-interfaces-fromVnfc";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("aai-node-type", "vnfc").has("vnfc-name", "vnfcName1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ params.put("networkName", "networkName0");
+ }
-
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLogicallinkFromPServerTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLogicallinkFromPServerTest.java
index 03a7757..aa3a9d1 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLogicallinkFromPServerTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/VserverLogicallinkFromPServerTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -33,54 +33,62 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
public class VserverLogicallinkFromPServerTest extends QueryTest {
- public VserverLogicallinkFromPServerTest() throws AAIException, NoEdgeRuleFoundException {
- super();
- }
+ public VserverLogicallinkFromPServerTest() throws AAIException, NoEdgeRuleFoundException {
+ super();
+ }
- @Test
- public void test() {
- super.run();
- }
+ @Test
+ public void test() {
+ super.run();
+ }
- @Override
- protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
- //Set up the test graph
- Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver", "hostname", "hostname-1");
- Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver", "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
- Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type", "l-interface", "interface-name", "interface-name-1");
- Vertex logicalLink1 = graph.addVertex(T.label, "l", T.id, "4", "aai-node-type", "logical-link", "link-name", "link-name-1");
-
- Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver", "hostname", "hostname-2");
- Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver", "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
- Vertex lInterface2 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type", "l-interface", "interface-name", "interface-name-2");
- Vertex logicalLink2 = graph.addVertex(T.label, "l", T.id, "8", "aai-node-type", "logical-link", "link-name", "link-name-2");
-
- GraphTraversalSource g = graph.traversal();
- rules.addEdge(g, pserver1, vserver1);
- rules.addTreeEdge(g, vserver1, lInterface1);
- rules.addEdge(g, lInterface1, logicalLink1);
-
- rules.addEdge(g, pserver2, vserver2);
- rules.addTreeEdge(g, vserver2, lInterface2);
- rules.addEdge(g, lInterface2, logicalLink2);
-
- expectedResult.add(vserver1);
- expectedResult.add(logicalLink1);
- }
+ @Override
+ protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+ // Set up the test graph
+ Vertex pserver1 = graph.addVertex(T.label, "pserver", T.id, "1", "aai-node-type", "pserver",
+ "hostname", "hostname-1");
+ Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "2", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-1", "vserver-name", "vserver-name-1");
+ Vertex lInterface1 = graph.addVertex(T.label, "l-interface", T.id, "3", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-1");
+ Vertex logicalLink1 = graph.addVertex(T.label, "l", T.id, "4", "aai-node-type",
+ "logical-link", "link-name", "link-name-1");
- @Override
- protected String getQueryName() {
- return "vserverlogicallink-frompServer";
- }
+ Vertex pserver2 = graph.addVertex(T.label, "pserver", T.id, "5", "aai-node-type", "pserver",
+ "hostname", "hostname-2");
+ Vertex vserver2 = graph.addVertex(T.label, "vserver", T.id, "6", "aai-node-type", "vserver",
+ "vserver-id", "vserver-id-2", "vserver-name", "vserver-name-2");
+ Vertex lInterface2 = graph.addVertex(T.label, "l-interface", T.id, "7", "aai-node-type",
+ "l-interface", "interface-name", "interface-name-2");
+ Vertex logicalLink2 = graph.addVertex(T.label, "l", T.id, "8", "aai-node-type",
+ "logical-link", "link-name", "link-name-2");
- @Override
- protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("hostname", "hostname-1");
- }
+ GraphTraversalSource g = graph.traversal();
+ rules.addEdge(g, pserver1, vserver1);
+ rules.addTreeEdge(g, vserver1, lInterface1);
+ rules.addEdge(g, lInterface1, logicalLink1);
- @Override
- protected void addParam(Map<String, Object> params) {
- return;
- }
+ rules.addEdge(g, pserver2, vserver2);
+ rules.addTreeEdge(g, vserver2, lInterface2);
+ rules.addEdge(g, lInterface2, logicalLink2);
+
+ expectedResult.add(vserver1);
+ expectedResult.add(logicalLink1);
+ }
+
+ @Override
+ protected String getQueryName() {
+ return "vserverlogicallink-frompServer";
+ }
+
+ @Override
+ protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+ g.has("hostname", "hostname-1");
+ }
+
+ @Override
+ protected void addParam(Map<String, Object> params) {
+ return;
+ }
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/getSvcSubscriberModelInfoTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/getSvcSubscriberModelInfoTest.java
index c854f43..2414d5a 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/search/getSvcSubscriberModelInfoTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/getSvcSubscriberModelInfoTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
*/
package org.onap.aai.rest.search;
+import java.util.Map;
+
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.apache.tinkerpop.gremlin.structure.T;
@@ -29,30 +31,32 @@ import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
-import java.util.Map;
-
public class getSvcSubscriberModelInfoTest extends QueryTest {
public getSvcSubscriberModelInfoTest() throws AAIException, NoEdgeRuleFoundException {
super();
}
+
@Test
public void run() {
super.run();
}
-
-
@Override
- protected void createGraph() throws AAIException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+ protected void createGraph()
+ throws AAIException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
- Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1", "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1", "service-instance-name", "service-instance-name-1");
- Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "2", "aai-node-type", "service-subscription", "service-type", "service-subcription-1");
- Vertex modelver = graph.addVertex(T.label, "model-ver", T.id, "3", "aai-node-type", "model-ver");
+ Vertex serviceInstance = graph.addVertex(T.label, "service-instance", T.id, "1",
+ "aai-node-type", "service-instance", "service-instance-id", "service-instance-id-1",
+ "service-instance-name", "service-instance-name-1");
+ Vertex serviceSubscription = graph.addVertex(T.label, "service-subscription", T.id, "2",
+ "aai-node-type", "service-subscription", "service-type", "service-subcription-1");
+ Vertex modelver =
+ graph.addVertex(T.label, "model-ver", T.id, "3", "aai-node-type", "model-ver");
GraphTraversalSource g = graph.traversal();
rules.addTreeEdge(g, serviceInstance, serviceSubscription);
- rules.addPrivateEdge(g, serviceInstance, modelver,null);
+ rules.addPrivateEdge(g, serviceInstance, modelver, null);
expectedResult.add(serviceInstance);
expectedResult.add(serviceSubscription);
@@ -60,15 +64,17 @@ public class getSvcSubscriberModelInfoTest extends QueryTest {
}
-
@Override
protected String getQueryName() {
- return "getSvcSubscriberModelInfo";
+ return "getSvcSubscriberModelInfo";
}
+
@Override
protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
- g.has("aai-node-type", "service-instance").has("service-instance-id", "service-instance-id-1");
+ g.has("aai-node-type", "service-instance").has("service-instance-id",
+ "service-instance-id-1");
}
+
@Override
protected void addParam(Map<String, Object> params) {
return;
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/util/ConvertQueryPropertiesToJsonTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/util/ConvertQueryPropertiesToJsonTest.java
index d15545f..c7e550e 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/util/ConvertQueryPropertiesToJsonTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/util/ConvertQueryPropertiesToJsonTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -27,23 +27,27 @@ import org.junit.Test;
public class ConvertQueryPropertiesToJsonTest {
@Test
- public void testRqdProperty(){
+ public void testRqdProperty() {
ConvertQueryPropertiesToJson convert = new ConvertQueryPropertiesToJson();
Properties props = new Properties();
- props.setProperty("queryName1", "builder.getVerticesByProperty('rqdProp', rqdPropId).getVerticesByProperty('rqdProp2', rqdPropId2).createEdgeTraversal(EdgeType.TREE, 'node1', 'child-node1')");
- props.setProperty("lastQueryName", "builder.getVerticesByProperty('notRqdProp', \"OUT\").createEdgeTraversal(EdgeType.TREE, 'node2', 'child-node2')");
+ props.setProperty("queryName1",
+ "builder.getVerticesByProperty('rqdProp', rqdPropId).getVerticesByProperty('rqdProp2', rqdPropId2).createEdgeTraversal(EdgeType.TREE, 'node1', 'child-node1')");
+ props.setProperty("lastQueryName",
+ "builder.getVerticesByProperty('notRqdProp', \"OUT\").createEdgeTraversal(EdgeType.TREE, 'node2', 'child-node2')");
String json = convert.convertProperties(props);
assertNotNull(json);
}
-
+
@Test
- public void testLastQueryRqdProperty(){
+ public void testLastQueryRqdProperty() {
ConvertQueryPropertiesToJson convert = new ConvertQueryPropertiesToJson();
Properties props = new Properties();
- props.setProperty("queryName1", "builder.createEdgeTraversal(EdgeType.TREE, 'node1', 'child-node1')");
- props.setProperty("lastQueryName", "builder.getVerticesByProperty('rqdProp', rqdPropId).createEdgeTraversal(EdgeType.TREE, 'node2', 'child-node2')");
+ props.setProperty("queryName1",
+ "builder.createEdgeTraversal(EdgeType.TREE, 'node1', 'child-node1')");
+ props.setProperty("lastQueryName",
+ "builder.getVerticesByProperty('rqdProp', rqdPropId).createEdgeTraversal(EdgeType.TREE, 'node2', 'child-node2')");
String json = convert.convertProperties(props);
assertNotNull(json);
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/util/EchoResponseTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/util/EchoResponseTest.java
index a07dfa6..46ff650 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/util/EchoResponseTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/util/EchoResponseTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,22 +19,24 @@
*/
package org.onap.aai.rest.util;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.att.eelf.configuration.EELFManager;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import javax.ws.rs.core.*;
-import java.util.*;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import com.att.eelf.configuration.EELFManager;
+
+import java.util.*;
+
+import javax.ws.rs.core.*;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
public class EchoResponseTest {
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
@@ -63,15 +65,15 @@ public class EchoResponseTest {
private static final Logger logger = LoggerFactory.getLogger(EchoResponseTest.class.getName());
@Before
- public void setup(){
+ public void setup() {
logger.info("Starting the setup for the integration tests of Rest Endpoints");
- echoResponse = new EchoResponse();
- httpHeaders = mock(HttpHeaders.class);
- uriInfo = mock(UriInfo.class);
+ echoResponse = new EchoResponse();
+ httpHeaders = mock(HttpHeaders.class);
+ uriInfo = mock(UriInfo.class);
- headersMultiMap = new MultivaluedHashMap<>();
- queryParameters = Mockito.spy(new MultivaluedHashMap<>());
+ headersMultiMap = new MultivaluedHashMap<>();
+ queryParameters = Mockito.spy(new MultivaluedHashMap<>());
headersMultiMap.add("X-FromAppId", "JUNIT");
headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString());
@@ -92,11 +94,11 @@ public class EchoResponseTest {
when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList);
-
when(uriInfo.getQueryParameters()).thenReturn(queryParameters);
when(uriInfo.getQueryParameters(false)).thenReturn(queryParameters);
- // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable
+ // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very
+ // unreasonable
Mockito.doReturn(null).when(queryParameters).remove(anyObject());
when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON);
@@ -125,11 +127,11 @@ public class EchoResponseTest {
public void testEchoResultWhenValidHeadersButMediaTypeWrong() throws Exception {
when(httpHeaders.getAcceptableMediaTypes()).thenThrow(new IllegalStateException())
- .thenReturn(outputMediaTypes);
+ .thenReturn(outputMediaTypes);
Response response = echoResponse.echoResult(httpHeaders, null, "");
assertNotNull(response);
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
}
-} \ No newline at end of file
+}
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java
index f17257b..44b72a5 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,14 +19,14 @@
*/
package org.onap.aai.rest.util;
-import org.junit.Test;
-
import static org.junit.Assert.assertNotNull;
+import org.junit.Test;
+
public class LogFormatToolsTest {
@Test
- public void testLogFormatTools(){
+ public void testLogFormatTools() {
String dateTime = new LogFormatTools().getCurrentDateTime();
assertNotNull(dateTime);
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/util/ValidateEncodingTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/util/ValidateEncodingTest.java
index bf7612b..d627072 100644
--- a/aai-traversal/src/test/java/org/onap/aai/rest/util/ValidateEncodingTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/rest/util/ValidateEncodingTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -32,82 +32,83 @@ import org.mockito.Mockito;
public class ValidateEncodingTest {
-
- @Test
- public void badPath() throws UnsupportedEncodingException {
- String badPath = "/aai/v6/network/vces/vce/blahh::blach/others/other/jklfea{}";
- UriInfo mockUriInfo = getMockUriInfo(badPath, new MultivaluedHashMap<String, String>());
- ValidateEncoding validator = ValidateEncoding.getInstance();
-
- assertEquals(false, validator.validate(mockUriInfo));
- }
-
- @Test
- public void goodPath() throws UnsupportedEncodingException {
- String goodPath = "/aai/v6/network/vces/vce/blahh%3A%3Ablach/others/other/jklfea%7B%7D";
- UriInfo mockUriInfo = getMockUriInfo(goodPath, new MultivaluedHashMap<String, String>());
- ValidateEncoding validator = ValidateEncoding.getInstance();
-
- assertEquals(true, validator.validate(mockUriInfo));
- }
-
- @Test
- public void badQueryParamsKey() throws UnsupportedEncodingException {
- MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
- map.putSingle("blahblah", "test");
- map.putSingle("blahblah", "test2");
- map.putSingle("bad::bad", "test3");
- UriInfo mockUriInfo = getMockUriInfo("", map);
-
- ValidateEncoding validator = ValidateEncoding.getInstance();
-
- assertEquals(false, validator.validate(mockUriInfo));
-
- }
- @Test
- public void badQueryParamsValue() throws UnsupportedEncodingException {
- MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
- map.putSingle("blahblah", "test");
- map.putSingle("blahblah", "test//:2");
- map.putSingle("badbad", "test3");
- UriInfo mockUriInfo = getMockUriInfo("", map);
-
- ValidateEncoding validator = ValidateEncoding.getInstance();
-
- assertEquals(false, validator.validate(mockUriInfo));
- }
-
- @Test
- public void goodQueryParams() throws UnsupportedEncodingException {
- MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
- map.putSingle("blahblah", "test");
- map.putSingle("blahblah", "test2");
- map.putSingle("badbad", "~test%2F%2F%3A3");
- UriInfo mockUriInfo = getMockUriInfo("", map);
-
- ValidateEncoding validator = ValidateEncoding.getInstance();
-
- assertEquals(true, validator.validate(mockUriInfo));
- }
-
- @Test
- public void testWhenQueryParameterHasPlusSignItShouldPass() throws UnsupportedEncodingException {
-
- MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
- map.putSingle("some-key", "test+one+two+three");
- UriInfo mockUriInfo = getMockUriInfo("", map);
-
- ValidateEncoding validator = ValidateEncoding.getInstance();
-
- assertEquals(true, validator.validate(mockUriInfo));
- }
-
- private UriInfo getMockUriInfo(String path, MultivaluedMap<String, String> map) {
- UriInfo mockUriInfo = Mockito.mock(UriInfo.class);
- Mockito.when(mockUriInfo.getPath(false)).thenReturn(path);
- Mockito.when(mockUriInfo.getQueryParameters(false)).thenReturn(map);
-
- return mockUriInfo;
- }
-
+ @Test
+ public void badPath() throws UnsupportedEncodingException {
+ String badPath = "/aai/v6/network/vces/vce/blahh::blach/others/other/jklfea{}";
+ UriInfo mockUriInfo = getMockUriInfo(badPath, new MultivaluedHashMap<String, String>());
+ ValidateEncoding validator = ValidateEncoding.getInstance();
+
+ assertEquals(false, validator.validate(mockUriInfo));
+ }
+
+ @Test
+ public void goodPath() throws UnsupportedEncodingException {
+ String goodPath = "/aai/v6/network/vces/vce/blahh%3A%3Ablach/others/other/jklfea%7B%7D";
+ UriInfo mockUriInfo = getMockUriInfo(goodPath, new MultivaluedHashMap<String, String>());
+ ValidateEncoding validator = ValidateEncoding.getInstance();
+
+ assertEquals(true, validator.validate(mockUriInfo));
+ }
+
+ @Test
+ public void badQueryParamsKey() throws UnsupportedEncodingException {
+ MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
+ map.putSingle("blahblah", "test");
+ map.putSingle("blahblah", "test2");
+ map.putSingle("bad::bad", "test3");
+ UriInfo mockUriInfo = getMockUriInfo("", map);
+
+ ValidateEncoding validator = ValidateEncoding.getInstance();
+
+ assertEquals(false, validator.validate(mockUriInfo));
+
+ }
+
+ @Test
+ public void badQueryParamsValue() throws UnsupportedEncodingException {
+ MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
+ map.putSingle("blahblah", "test");
+ map.putSingle("blahblah", "test//:2");
+ map.putSingle("badbad", "test3");
+ UriInfo mockUriInfo = getMockUriInfo("", map);
+
+ ValidateEncoding validator = ValidateEncoding.getInstance();
+
+ assertEquals(false, validator.validate(mockUriInfo));
+ }
+
+ @Test
+ public void goodQueryParams() throws UnsupportedEncodingException {
+ MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
+ map.putSingle("blahblah", "test");
+ map.putSingle("blahblah", "test2");
+ map.putSingle("badbad", "~test%2F%2F%3A3");
+ UriInfo mockUriInfo = getMockUriInfo("", map);
+
+ ValidateEncoding validator = ValidateEncoding.getInstance();
+
+ assertEquals(true, validator.validate(mockUriInfo));
+ }
+
+ @Test
+ public void testWhenQueryParameterHasPlusSignItShouldPass()
+ throws UnsupportedEncodingException {
+
+ MultivaluedHashMap<String, String> map = new MultivaluedHashMap<String, String>();
+ map.putSingle("some-key", "test+one+two+three");
+ UriInfo mockUriInfo = getMockUriInfo("", map);
+
+ ValidateEncoding validator = ValidateEncoding.getInstance();
+
+ assertEquals(true, validator.validate(mockUriInfo));
+ }
+
+ private UriInfo getMockUriInfo(String path, MultivaluedMap<String, String> map) {
+ UriInfo mockUriInfo = Mockito.mock(UriInfo.class);
+ Mockito.when(mockUriInfo.getPath(false)).thenReturn(path);
+ Mockito.when(mockUriInfo.getQueryParameters(false)).thenReturn(map);
+
+ return mockUriInfo;
+ }
+
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/transforms/JoltTestUtil.java b/aai-traversal/src/test/java/org/onap/aai/transforms/JoltTestUtil.java
index 78f7471..d07fd97 100644
--- a/aai-traversal/src/test/java/org/onap/aai/transforms/JoltTestUtil.java
+++ b/aai-traversal/src/test/java/org/onap/aai/transforms/JoltTestUtil.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,42 +19,45 @@
*/
package org.onap.aai.transforms;
+import com.bazaarvoice.jolt.ArrayOrderObliviousDiffy;
+import com.bazaarvoice.jolt.Diffy;
+import com.bazaarvoice.jolt.JsonUtils;
import java.io.IOException;
import org.junit.Assert;
-import com.bazaarvoice.jolt.ArrayOrderObliviousDiffy;
-import com.bazaarvoice.jolt.Diffy;
-import com.bazaarvoice.jolt.JsonUtils;
-
public class JoltTestUtil {
private static final Diffy diffy = new Diffy();
private static final Diffy arrayOrderObliviousDiffy = new ArrayOrderObliviousDiffy();
- public static void runDiffy( String failureMessage, Object expected, Object actual ) throws IOException {
- runDiffy( diffy, failureMessage, expected, actual );
+ public static void runDiffy(String failureMessage, Object expected, Object actual)
+ throws IOException {
+ runDiffy(diffy, failureMessage, expected, actual);
}
- public static void runDiffy( Object expected, Object actual ) throws IOException {
- runDiffy( diffy, "Failed", expected, actual );
+ public static void runDiffy(Object expected, Object actual) throws IOException {
+ runDiffy(diffy, "Failed", expected, actual);
}
- public static void runArrayOrderObliviousDiffy( String failureMessage, Object expected, Object actual ) throws IOException {
- runDiffy( arrayOrderObliviousDiffy, failureMessage, expected, actual );
+ public static void runArrayOrderObliviousDiffy(String failureMessage, Object expected,
+ Object actual) throws IOException {
+ runDiffy(arrayOrderObliviousDiffy, failureMessage, expected, actual);
}
- public static void runArrayOrderObliviousDiffy( Object expected, Object actual ) throws IOException {
- runDiffy( arrayOrderObliviousDiffy, "Failed", expected, actual );
+ public static void runArrayOrderObliviousDiffy(Object expected, Object actual)
+ throws IOException {
+ runDiffy(arrayOrderObliviousDiffy, "Failed", expected, actual);
}
-
- private static void runDiffy( Diffy diffy, String failureMessage, Object expected, Object actual ) {
- String actualObject = JsonUtils.toPrettyJsonString( actual );
- Diffy.Result result = diffy.diff( expected, actual );
+ private static void runDiffy(Diffy diffy, String failureMessage, Object expected,
+ Object actual) {
+ String actualObject = JsonUtils.toPrettyJsonString(actual);
+ Diffy.Result result = diffy.diff(expected, actual);
if (!result.isEmpty()) {
- Assert.fail( "\nActual object\n" + actualObject + "\n" + failureMessage + "\nDiffy output\n" + result.toString());
+ Assert.fail("\nActual object\n" + actualObject + "\n" + failureMessage
+ + "\nDiffy output\n" + result.toString());
}
}
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/transforms/LowerHyphenToLowerCamelConverterTest.java b/aai-traversal/src/test/java/org/onap/aai/transforms/LowerHyphenToLowerCamelConverterTest.java
index 2f7d336..f8b4613 100644
--- a/aai-traversal/src/test/java/org/onap/aai/transforms/LowerHyphenToLowerCamelConverterTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/transforms/LowerHyphenToLowerCamelConverterTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,15 +19,15 @@
*/
package org.onap.aai.transforms;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
-import static org.junit.Assert.*;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class LowerHyphenToLowerCamelConverterTest {
@@ -37,35 +37,32 @@ public class LowerHyphenToLowerCamelConverterTest {
private String input;
private String expected;
- public LowerHyphenToLowerCamelConverterTest(String input, String expected){
- this.input = input;
+ public LowerHyphenToLowerCamelConverterTest(String input, String expected) {
+ this.input = input;
this.expected = expected;
}
/**
* Data Provider for the Lower Hyphen to Camel Converter Tests
* Make sure the capitalization is not lost during the conversion
+ *
* @return
*/
@Parameters
- public static Collection<Object[]> data(){
+ public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {null, null},
- {"test-name", "testName"},
- {"test---name", "testName"}, // Case multiple
- {"testName", "testName"}, // Case where upper case word shouldn't be lowercased
- {"test-name-cool", "testNameCool"},
- {"test-name-Cool", "testNameCool"},
- {"test-name-Cool-Name-wow----Rest", "testNameCoolNameWowRest"},
- {"test-name#fast#", "testName#fast#"},
- {"test-name---", "testName"},
- {"----test-name", "TestName"},
- });
+ return Arrays.asList(
+ new Object[][] {{null, null}, {"test-name", "testName"}, {"test---name", "testName"}, // Case
+ // multiple
+ {"testName", "testName"}, // Case where upper case word shouldn't be lowercased
+ {"test-name-cool", "testNameCool"}, {"test-name-Cool", "testNameCool"},
+ {"test-name-Cool-Name-wow----Rest", "testNameCoolNameWowRest"},
+ {"test-name#fast#", "testName#fast#"}, {"test-name---", "testName"},
+ {"----test-name", "TestName"},});
}
@Test
- public void testIfInputSuccessfullyModified(){
+ public void testIfInputSuccessfullyModified() {
String actual = converter.convert(input);
assertEquals(expected, actual);
}
diff --git a/aai-traversal/src/test/java/org/onap/aai/transforms/MapTraverserTest.java b/aai-traversal/src/test/java/org/onap/aai/transforms/MapTraverserTest.java
index bfaeb8f..5ae5603 100644
--- a/aai-traversal/src/test/java/org/onap/aai/transforms/MapTraverserTest.java
+++ b/aai-traversal/src/test/java/org/onap/aai/transforms/MapTraverserTest.java
@@ -8,7 +8,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,23 +19,24 @@
*/
package org.onap.aai.transforms;
-import org.onap.aai.transforms.LowerCamelToLowerHyphenConverter;
-import org.onap.aai.transforms.MapTraverser;
import com.bazaarvoice.jolt.JsonUtils;
-import org.junit.Test;
import java.io.IOException;
import java.util.Map;
+import org.junit.Test;
+import org.onap.aai.transforms.LowerCamelToLowerHyphenConverter;
+import org.onap.aai.transforms.MapTraverser;
+
public class MapTraverserTest {
private final String testResources = "src/test/resources/maputils/testcases/";
- private String[] testCases = { "TestCase1.json", "TestCase2.json" };
+ private String[] testCases = {"TestCase1.json", "TestCase2.json"};
private MapTraverser traverser = new MapTraverser(new LowerCamelToLowerHyphenConverter());
@Test(expected = NullPointerException.class)
- public void testIfMapIsNullThrowNullPointerException(){
+ public void testIfMapIsNullThrowNullPointerException() {
Map<String, Object> map = null;
traverser.convertKeys(map);
}
@@ -43,13 +44,13 @@ public class MapTraverserTest {
@Test
public void runTestCases() throws IOException {
- for(String testCase : testCases){
+ for (String testCase : testCases) {
Map<String, Object> values = JsonUtils.filepathToMap(testResources + testCase);
Object input = values.get("input");
- Object actual = traverser.convertKeys((Map<String, Object>)input);
+ Object actual = traverser.convertKeys((Map<String, Object>) input);
Object output = values.get("output");
- JoltTestUtil.runArrayOrderObliviousDiffy( "failed case " + testCase, output, actual );
+ JoltTestUtil.runArrayOrderObliviousDiffy("failed case " + testCase, output, actual);
}
}
}