summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--pom.xml1074
-rw-r--r--src/main/java/org/onap/nbi/Application.java21
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/ServiceOrderResource.java46
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java44
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java15
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java48
-rw-r--r--src/main/java/org/onap/nbi/configuration/RestConfiguration.java1
-rw-r--r--src/main/resources/application-test.properties72
-rw-r--r--src/main/resources/application.properties104
-rw-r--r--src/test/java/joe.jpage10
-rw-r--r--src/test/java/karate-config.js8
-rw-r--r--src/test/java/org/onap/nbi/apis/ApiTest.java1332
-rw-r--r--src/test/java/org/onap/nbi/apis/StatusResourceTest.java64
-rw-r--r--src/test/java/org/onap/nbi/apis/assertions/HubAssertions.java58
-rw-r--r--src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java158
-rw-r--r--src/test/java/org/onap/nbi/apis/assertions/ServiceInventoryAssertions.java122
-rw-r--r--src/test/java/org/onap/nbi/apis/assertions/ServiceOrderExecutionTaskAssertions.java (renamed from src/test/java/org/onap/nbi/apis/assertions/ServiceOrderAssertions.java)2
-rw-r--r--src/test/java/org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java273
-rw-r--r--src/test/java/org/onap/nbi/test/ApiTestWithoutOnap.java (renamed from src/test/java/org/onap/nbi/apis/ApiTestWithoutOnap.java)16
-rw-r--r--src/test/java/org/onap/nbi/test/Context.java98
-rw-r--r--src/test/java/org/onap/nbi/test/ExecutionTaskTest.java548
-rw-r--r--src/test/java/org/onap/nbi/test/KarateApiTest.java30
-rw-r--r--src/test/java/org/onap/nbi/test/ServiceOrderRepositoryTest.java (renamed from src/test/java/org/onap/nbi/apis/ServiceOrderRepositoryTest.java)8
-rw-r--r--src/test/resources/application.properties76
-rw-r--r--src/test/resources/karatetest/data/serviceOrder.json1026
-rw-r--r--src/test/resources/karatetest/data/subscriber.json17
-rw-r--r--src/test/resources/karatetest/features/00--ServiceCatalog.feature38
-rw-r--r--src/test/resources/karatetest/features/01--ServiceInventory.feature90
-rw-r--r--src/test/resources/karatetest/features/02--ServiceOrder.feature398
-rw-r--r--src/test/resources/karatetest/features/03--Subscriber.feature66
-rw-r--r--src/test/resources/karatetest/features/04--StatusRessourceTest.feature17
-rw-r--r--src/test/resources/toscafile/service-Sdwanvpninfraservice-csar.csarbin33640 -> 0 bytes
-rw-r--r--src/test/resources/toscafile/service-Sotnvpninfraservice-csar.csarbin34394 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]src/test/resources/toscafile/service-TestNetwork-template.yml0
-rw-r--r--src/test/resources/toscafile/service-VfwService2vfBased-template.yml974
36 files changed, 3669 insertions, 3188 deletions
diff --git a/.gitignore b/.gitignore
index 9f87b08..8cb38f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,9 @@ Icon
.Spotlight-V100
.Trashes
+# vscode
+ .vscode
+
### Windows related ###
# Windows image file caches
Thumbs.db
diff --git a/pom.xml b/pom.xml
index adb269d..a733f32 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,530 +1,558 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2018 Orange
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.onap.externalapi-nbi</groupId>
- <artifactId>nbi-rest-services</artifactId>
- <version>3.0.1</version>
- <packaging>jar</packaging>
-
- <name>externalapi-nbi</name>
-
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.5.12.RELEASE</version>
- <relativePath /> <!-- lookup parent from repository -->
- </parent>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <nexusproxy>https://nexus.onap.org</nexusproxy>
- <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
- <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
- <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
- <java.version>1.8</java.version>
- <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
- <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
- <timestamp>${maven.build.timestamp}</timestamp>
- <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
- <!--docker -->
- <docker.tag>${project.version}-${timestamp}</docker.tag>
- <docker.latest.tag>${project.version}-latest</docker.latest.tag>
- <!--sonar -->
- <sonar.language>java</sonar.language>
- <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
- <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
- <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
- <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
- <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
- <sonar.projectVersion>${project.version}</sonar.projectVersion>
- <sonar.coverage.exclusions>**/model/**/*</sonar.coverage.exclusions>
- </properties>
-
- <repositories>
- <repository>
- <id>maven2-repository.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </repository>
- <repository>
- <id>ecomp-snapshots</id>
- <name>Snapshot Repository</name>
- <url>https://nexus.onap.org/content/repositories/releases/</url>
- </repository>
- <repository>
- <id>ecomp-staging</id>
- <name>Staging Repository</name>
- <url>https://nexus.onap.org/content/repositories/staging/</url>
- </repository>
- </repositories>
-
- <distributionManagement>
- <repository>
- <id>ecomp-releases</id>
- <name>Release Repository</name>
- <url>${nexusproxy}/${releaseNexusPath}</url>
- </repository>
- <snapshotRepository>
- <id>ecomp-snapshots</id>
- <name>Snapshot Repository</name>
- <url>${nexusproxy}/${snapshotNexusPath}</url>
- </snapshotRepository>
- </distributionManagement>
-
- <licenses>
- <license>
- <name>Apache2</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- </license>
- </licenses>
-
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <exclusions>
- <exclusion>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.8.11.2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-core</artifactId>
- <version>8.5.32</version>
- </dependency>
-
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.2.3</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
+<!-- Copyright (c) 2018 Orange 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. -->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.onap.externalapi-nbi</groupId>
+ <artifactId>nbi-rest-services</artifactId>
+ <version>3.0.1</version>
+ <packaging>jar</packaging>
+
+ <name>externalapi-nbi</name>
+
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>1.5.12.RELEASE</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
+ <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
+ <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
+ <java.version>1.8</java.version>
+ <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
+ <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
+ <timestamp>${maven.build.timestamp}</timestamp>
+ <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+ <!--docker -->
+ <docker.tag>${project.version}-${timestamp}</docker.tag>
+ <docker.latest.tag>${project.version}-latest</docker.latest.tag>
+ <!--sonar -->
+ <sonar.language>java</sonar.language>
+ <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
+ <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
+ </sonar.surefire.reportsPath>
+ <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec
+ </sonar.jacoco.reportPath>
+ <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec
+ </sonar.jacoco.itReportPath>
+ <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
+ <sonar.projectVersion>${project.version}</sonar.projectVersion>
+ <sonar.coverage.exclusions>**/model/**/*</sonar.coverage.exclusions>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>maven2-repository.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>ecomp-snapshots</id>
+ <name>Snapshot Repository</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ <repository>
+ <id>ecomp-staging</id>
+ <name>Staging Repository</name>
+ <url>https://nexus.onap.org/content/repositories/staging/</url>
+ </repository>
+ </repositories>
+
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>Release Repository</name>
+ <url>${nexusproxy}/${releaseNexusPath}</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>Snapshot Repository</name>
+ <url>${nexusproxy}/${snapshotNexusPath}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <licenses>
+ <license>
+ <name>Apache2</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
- <groupId>org.springframework.data</groupId>
- <artifactId>spring-data-commons</artifactId>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.tomcat.embed</groupId>
+ <artifactId>tomcat-embed-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.8.11.2</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tomcat.embed</groupId>
+ <artifactId>tomcat-embed-core</artifactId>
+ <version>8.5.32</version>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.2.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.data</groupId>
+ <artifactId>spring-data-commons</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.data</groupId>
+ <artifactId>spring-data-commons</artifactId>
+ <version>1.13.14.RELEASE</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-aop</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.2</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.9.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>2.0.1.Final</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.4</version>
+ </dependency>
+
+ <!-- mongo -->
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-mongodb</artifactId>
+ </dependency>
+
+ <!-- mysql -->
+
+ <dependency>
+ <groupId>org.mariadb.jdbc</groupId>
+ <artifactId>mariadb-java-client</artifactId>
+ <version>1.1.7</version>
+ </dependency>
+
+ <!-- swagger -->
+
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-annotations</artifactId>
+ <version>1.5.18</version>
+ </dependency>
+
+ <!-- jackson -->
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-yaml</artifactId>
+ <version>2.9.6</version>
+ </dependency>
+
+ <!-- sdc tosca parser -->
+
+ <dependency>
+ <groupId>org.onap.sdc.sdc-tosca</groupId>
+ <artifactId>sdc-tosca</artifactId>
+ <version>1.4.6</version>
+ </dependency>
+
+ <!-- jolt -->
+
+ <dependency>
+ <groupId>com.bazaarvoice.jolt</groupId>
+ <artifactId>jolt-core</artifactId>
+ <version>0.1.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>com.bazaarvoice.jolt</groupId>
+ <artifactId>json-utils</artifactId>
+ <version>0.1.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- test -->
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- test h2 -->
+
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>de.flapdoodle.embed</groupId>
+ <artifactId>de.flapdoodle.embed.mongo</artifactId>
+ <version>${embedded-mongo.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- test wiremock -->
+
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-contract-wiremock</artifactId>
+ <version>1.2.6.RELEASE</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- runtime dev -->
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-devtools</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
+ <!-- MSB SDK -->
+ <dependency>
+ <groupId>org.onap.msb.java-sdk</groupId>
+ <artifactId>msb-java-sdk</artifactId>
+ <version>1.1.1</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.data</groupId>
- <artifactId>spring-data-commons</artifactId>
- <version>1.13.14.RELEASE</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-aop</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.3.2</version>
- </dependency>
-
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.9.3</version>
- </dependency>
-
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>2.0.1.Final</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.4</version>
- </dependency>
-
- <!-- mongo -->
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-mongodb</artifactId>
- </dependency>
-
- <!-- mysql -->
-
- <dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <version>1.1.7</version>
- </dependency>
-
- <!-- swagger -->
-
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>1.5.18</version>
- </dependency>
-
- <!-- jackson -->
-
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-yaml</artifactId>
- <version>2.9.6</version>
- </dependency>
-
- <!-- sdc tosca parser -->
-
- <dependency>
- <groupId>org.onap.sdc.sdc-tosca</groupId>
- <artifactId>sdc-tosca</artifactId>
- <version>1.4.6</version>
- </dependency>
-
- <!-- jolt -->
-
- <dependency>
- <groupId>com.bazaarvoice.jolt</groupId>
- <artifactId>jolt-core</artifactId>
- <version>0.1.0</version>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>com.bazaarvoice.jolt</groupId>
- <artifactId>json-utils</artifactId>
- <version>0.1.0</version>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- test -->
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
-
- <!-- test h2 -->
-
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>de.flapdoodle.embed</groupId>
- <artifactId>de.flapdoodle.embed.mongo</artifactId>
- <version>${embedded-mongo.version}</version>
- <scope>test</scope>
- </dependency>
-
- <!-- test wiremock -->
-
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-contract-wiremock</artifactId>
- <version>1.0.0.RELEASE</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>9.4.7.RC0</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
- <scope>test</scope>
- </dependency>
-
- <!-- runtime dev -->
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-devtools</artifactId>
- <scope>runtime</scope>
- </dependency>
-
- <!-- MSB SDK-->
- <dependency>
- <groupId>org.onap.msb.java-sdk</groupId>
- <artifactId>msb-java-sdk</artifactId>
- <version>1.1.1</version>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <extensions>true</extensions>
- <configuration>
- <nexusUrl>${nexusproxy}</nexusUrl>
- <stagingProfileId>176c31dfe190a</stagingProfileId>
- <serverId>ecomp-staging</serverId>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.6</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-webdav-jackrabbit</artifactId>
- <version>2.10</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>com.mycila</groupId>
- <artifactId>license-maven-plugin</artifactId>
- <version>3.0</version>
- <configuration>
- <header>LICENSE.TXT</header>
- <includes>
- <include>restclient/**</include>
- <include>src/**</include>
- <include>./**/*.xml</include>
- <include>./**/*.xml</include>
- <include>./**/*.yml</include>
- <include>./**/*.yaml</include>
- </includes>
- <skipExistingHeaders>true</skipExistingHeaders>
- <skip>false</skip>
- <mapping>
- <http>SCRIPT_STYLE</http>
- </mapping>
- </configuration>
- <executions>
- <execution>
- <goals>
- <!-- Set goal to "format" to auto update license headers -->
- <goal>check</goal>
- </goals>
- <phase>process-sources</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>sonar-maven-plugin</artifactId>
- <version>3.2</version>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.8.1</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
- <includes>
- <include>org.onap.nbi.*</include>
- </includes>
- <excludes>
- <exclude>**/model/**/*</exclude>
- </excludes>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>deploy</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-
-
- <profiles>
- <profile>
- <id>docker</id>
- <build>
- <plugins>
- <plugin>
- <groupId>io.fabric8</groupId>
- <artifactId>docker-maven-plugin</artifactId>
- <version>0.26.1</version>
- <configuration>
- <verbose>true</verbose>
- <apiVersion>1.23</apiVersion>
- <pullRegistry>${docker.pull.registry}</pullRegistry>
- <pushRegistry>${docker.push.registry}</pushRegistry>
- <images>
- <image>
- <name>onap/externalapi/nbi:${docker.tag}</name>
- <build>
- <cleanup>true</cleanup>
- <tags>
- <tag>latest</tag>
- <tag>${docker.latest.tag}</tag>
- </tags>
- <dockerFileDir>${project.basedir}</dockerFileDir>
- <args>
- <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
- </args>
- </build>
- </image>
- </images>
- </configuration>
- <executions>
- <execution>
- <id>clean-images</id>
- <phase>pre-clean</phase>
- <goals>
- <goal>remove</goal>
- </goals>
- <configuration>
- <removeMode>all</removeMode>
- </configuration>
- </execution>
- <execution>
- <id>generate-images</id>
- <phase>package</phase>
- <goals>
- <goal>build</goal>
- </goals>
- </execution>
- <execution>
- <id>push-images</id>
- <phase>deploy</phase>
- <goals>
- <goal>push</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+ </dependency>
+
+ <!-- karate -->
+
+ <dependency>
+ <groupId>com.intuit.karate</groupId>
+ <artifactId>karate-junit4</artifactId>
+ <version>0.9.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.intuit.karate</groupId>
+ <artifactId>karate-apache</artifactId>
+ <version>0.9.0</version>
+ <scope>test</scope>
+ </dependency>
+
+
+ </dependencies>
+
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>org/onap/nbi/test/KarateApiTest.java</include>
+ <include>org/onap/nbi/test/ExecutionTaskTest.java</include>
+ <include>org/onap/nbi/test/ServiceOrderRepositoryTest.java</include>
+ <!--<include>org/onap/nbi/test/ApiTestWithoutOnap.java</include>-->
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.7</version>
+ <extensions>true</extensions>
+ <configuration>
+ <nexusUrl>${nexusproxy}</nexusUrl>
+ <stagingProfileId>176c31dfe190a</stagingProfileId>
+ <serverId>ecomp-staging</serverId>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.6</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>2.10</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>com.mycila</groupId>
+ <artifactId>license-maven-plugin</artifactId>
+ <version>3.0</version>
+ <configuration>
+ <header>LICENSE.TXT</header>
+ <includes>
+ <include>restclient/**</include>
+ <include>src/**</include>
+ <include>./**/*.xml</include>
+ <include>./**/*.xml</include>
+ <include>./**/*.yml</include>
+ <include>./**/*.yaml</include>
+ </includes>
+ <excludes>
+ <!-- karate-config.js doesn't support comment, and is mandatory by
+ karate -->
+ <exclude>src/test/java/karate-config.js</exclude>
+ </excludes>
+ <skipExistingHeaders>true</skipExistingHeaders>
+ <skip>false</skip>
+ <mapping>
+ <http>SCRIPT_STYLE</http>
+ </mapping>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <!-- Set goal to "format" to auto update license headers -->
+ <goal>check</goal>
+ </goals>
+ <phase>process-sources</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>sonar-maven-plugin</artifactId>
+ <version>3.2</version>
+ </plugin>
+<!-- <plugin> -->
+<!-- <groupId>org.jacoco</groupId> -->
+<!-- <artifactId>jacoco-maven-plugin</artifactId> -->
+<!-- <version>0.8.1</version> -->
+<!-- <configuration> -->
+<!-- <dumpOnExit>true</dumpOnExit> -->
+<!-- <includes> -->
+<!-- <include>org.onap.nbi.*</include> -->
+<!-- </includes> -->
+<!-- <excludes> -->
+<!-- <exclude>**/model/**/*</exclude> -->
+<!-- </excludes> -->
+<!-- </configuration> -->
+<!-- <executions> -->
+<!-- <execution> -->
+<!-- <id>pre-unit-test</id> -->
+<!-- <goals> -->
+<!-- <goal>prepare-agent</goal> -->
+<!-- </goals> -->
+<!-- <configuration> -->
+<!-- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> -->
+<!-- <append>true</append> -->
+<!-- </configuration> -->
+<!-- </execution> -->
+<!-- <execution> -->
+<!-- <id>pre-integration-test</id> -->
+<!-- <phase>pre-integration-test</phase> -->
+<!-- <goals> -->
+<!-- <goal>prepare-agent</goal> -->
+<!-- </goals> -->
+<!-- <configuration> -->
+<!-- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile> -->
+<!-- <append>true</append> -->
+<!-- </configuration> -->
+<!-- </execution> -->
+<!-- <execution> -->
+<!-- <goals> -->
+<!-- <goal>merge</goal> -->
+<!-- </goals> -->
+<!-- <phase>post-integration-test</phase> -->
+<!-- <configuration> -->
+<!-- <fileSets> -->
+<!-- <fileSet -->
+<!-- implementation="org.apache.maven.shared.model.fileset.FileSet"> -->
+<!-- <directory>${project.build.directory}/coverage-reports</directory> -->
+<!-- <includes> -->
+<!-- <include>*.exec</include> -->
+<!-- </includes> -->
+<!-- </fileSet> -->
+<!-- </fileSets> -->
+<!-- <destFile>${project.build.directory}/jacoco-dev.exec</destFile> -->
+<!-- </configuration> -->
+<!-- </execution> -->
+<!-- </executions> -->
+<!-- </plugin> -->
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>0.26.1</version>
+ <configuration>
+ <verbose>true</verbose>
+ <apiVersion>1.23</apiVersion>
+ <pullRegistry>${docker.pull.registry}</pullRegistry>
+ <pushRegistry>${docker.push.registry}</pushRegistry>
+ <images>
+ <image>
+ <name>onap/externalapi/nbi:${docker.tag}</name>
+ <build>
+ <cleanup>true</cleanup>
+ <tags>
+ <tag>latest</tag>
+ <tag>${docker.latest.tag}</tag>
+ </tags>
+ <dockerFileDir>${project.basedir}</dockerFileDir>
+ <args>
+ <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
+ </args>
+ </build>
+ </image>
+ </images>
+ </configuration>
+ <executions>
+ <execution>
+ <id>clean-images</id>
+ <phase>pre-clean</phase>
+ <goals>
+ <goal>remove</goal>
+ </goals>
+ <configuration>
+ <removeMode>all</removeMode>
+ </configuration>
+ </execution>
+ <execution>
+ <id>generate-images</id>
+ <phase>package</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>push-images</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/src/main/java/org/onap/nbi/Application.java b/src/main/java/org/onap/nbi/Application.java
index 05588b4..9f77ffe 100644
--- a/src/main/java/org/onap/nbi/Application.java
+++ b/src/main/java/org/onap/nbi/Application.java
@@ -1,22 +1,21 @@
/**
* Copyright (c) 2018 Orange
* <p>
- * 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
+ * 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
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
- * 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.
+ * 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.
*/
package org.onap.nbi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@@ -24,7 +23,11 @@ import org.springframework.scheduling.annotation.EnableAsync;
public class Application {
public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
+ run(args);
+ }
+
+ public static ConfigurableApplicationContext run(String[] args) {
+ return SpringApplication.run(Application.class, args);
}
}
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/ServiceOrderResource.java b/src/main/java/org/onap/nbi/apis/serviceorder/ServiceOrderResource.java
index e3f4442..2cd1c9a 100644
--- a/src/main/java/org/onap/nbi/apis/serviceorder/ServiceOrderResource.java
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/ServiceOrderResource.java
@@ -33,8 +33,6 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.util.MultiValueMap;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.*;
@@ -44,11 +42,8 @@ import java.util.List;
@RestController
@RequestMapping("/serviceOrder")
-@EnableScheduling
public class ServiceOrderResource extends ResourceManagement {
-
-
@Autowired
ServiceOrderService serviceOrderService;
@@ -71,6 +66,8 @@ public class ServiceOrderResource extends ResourceManagement {
MultiCriteriaRequestBuilder multiCriteriaRequestBuilder;
+
+
@GetMapping(value = "/{serviceOrderId}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> getServiceOrder(@PathVariable String serviceOrderId,
@RequestParam MultiValueMap<String, String> params) {
@@ -123,26 +120,33 @@ public class ServiceOrderResource extends ResourceManagement {
}
- @Scheduled(fixedDelay = 5000)
- public void scheduleCheckServiceOrders() {
- List<ServiceOrder> acknowledgedOrders = serviceOrderService.findServiceOrdersByState(StateType.ACKNOWLEDGED);
- for (ServiceOrder serviceOrder : acknowledgedOrders) {
- ServiceOrderInfo serviceOrderInfo = checkOrderConsistenceManager.checkServiceOrder(serviceOrder);
- if (serviceOrderInfo.isServiceOrderRejected()) {
- serviceOrderService.updateOrderState(serviceOrder, StateType.REJECTED);
- } else if (serviceOrderInfo.isAllItemsCompleted()) {
- serviceOrderService.updateOrderState(serviceOrder, StateType.COMPLETED);
- } else {
- createAAICustomer.createAAICustomer(serviceOrder,serviceOrderInfo);
+
+ @PutMapping(value = "/test/{serviceOrderId}",consumes = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity<Object> checkServiceOrderRessource(@PathVariable String serviceOrderId,@RequestParam MultiValueMap<String, String> params){
+ ServiceOrder serviceOrder = serviceOrderService.findServiceOrderById(serviceOrderId);
+ serviceOrder = checkServiceOrder(serviceOrder);
+ JsonRepresentation filter = new JsonRepresentation(params);
+ return this.createResponse(serviceOrder,filter);
+ }
+
+
+ public ServiceOrder checkServiceOrder(ServiceOrder serviceOrder) {
+ ServiceOrderInfo serviceOrderInfo = checkOrderConsistenceManager.checkServiceOrder(serviceOrder);
+ if (serviceOrderInfo.isServiceOrderRejected()) {
+ serviceOrderService.updateOrderState(serviceOrder, StateType.REJECTED);
+ } else if (serviceOrderInfo.isAllItemsCompleted()) {
+ serviceOrderService.updateOrderState(serviceOrder, StateType.COMPLETED);
+ } else {
+ createAAICustomer.createAAICustomer(serviceOrder,serviceOrderInfo);
+ if(StateType.ACKNOWLEDGED==serviceOrder.getState()) {
+ createAAIServiceType.createAAIServiceType(serviceOrder, serviceOrderInfo);
if(StateType.ACKNOWLEDGED==serviceOrder.getState()) {
- createAAIServiceType.createAAIServiceType(serviceOrder, serviceOrderInfo);
- if(StateType.ACKNOWLEDGED==serviceOrder.getState()) {
- serviceOrchestratorManager.registerServiceOrder(serviceOrder, serviceOrderInfo);
- }
+ serviceOrchestratorManager.registerServiceOrder(serviceOrder, serviceOrderInfo);
}
-
}
+
}
+ return serviceOrder;
}
}
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java
new file mode 100644
index 0000000..ee72515
--- /dev/null
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ExecutionTaskProcessorScheduler.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2018 Orange
+ *
+ * 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.
+ */
+package org.onap.nbi.apis.serviceorder.workflow;
+
+import java.util.List;
+import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
+import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Profile;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+@Profile("default")
+@Service
+@EnableScheduling
+public class ExecutionTaskProcessorScheduler {
+
+ @Autowired
+ ExecutionTaskRepository executionTaskRepository;
+
+ @Autowired
+ SOTaskProcessor soTaskProcessor;
+
+ // Using fixedDelay to mitigate against Scheduler queue backlog with fixedRate
+ @Scheduled(fixedDelayString = "${executionTask.schedule}", initialDelayString = "${executionTask.initial}")
+ private void processExecutionPlan() throws InterruptedException {
+ List<ExecutionTask> taskToExecute = executionTaskRepository.findByReliedTasksIsEmpty();
+ for (ExecutionTask executionTask : taskToExecute) {
+ soTaskProcessor.processOrderItem(executionTask);
+ }
+ }
+}
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java
index be8bdc0..26569f6 100644
--- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskManager.java
@@ -12,8 +12,6 @@
*/
package org.onap.nbi.apis.serviceorder.workflow;
-import java.util.*;
-import java.util.Map.Entry;
import org.onap.nbi.apis.serviceorder.model.OrderItemRelationship;
import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
@@ -25,9 +23,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
+import java.util.*;
+import java.util.Map.Entry;
+
@Service
@EnableScheduling
public class SOTaskManager {
@@ -94,12 +94,5 @@ public class SOTaskManager {
registerOrderItemExecutionPlan(serviceOrder.getOrderItem(), serviceOrderInfoJson);
}
- // Using fixedDelay to mitigate against Scheduler queue backlog with fixedRate
- @Scheduled(fixedDelay = 2000)
- private void processExecutionPlan() throws InterruptedException {
- List<ExecutionTask> taskToExecute = executionTaskRepository.findByReliedTasksIsEmpty();
- for (ExecutionTask executionTask : taskToExecute) {
- soTaskProcessor.processOrderItem(executionTask);
- }
- }
+
}
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java
new file mode 100644
index 0000000..0d9f050
--- /dev/null
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/ServiceOrderCheckScheduler.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2018 Orange
+ *
+ * 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.
+ */
+package org.onap.nbi.apis.serviceorder.workflow;
+
+import java.util.List;
+import org.onap.nbi.apis.serviceorder.ServiceOrderResource;
+import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
+import org.onap.nbi.apis.serviceorder.model.StateType;
+import org.onap.nbi.apis.serviceorder.service.ServiceOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Profile;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+@Profile("default")
+@Service
+@EnableScheduling
+public class ServiceOrderCheckScheduler {
+
+ @Autowired
+ ServiceOrderService serviceOrderService;
+
+ @Autowired
+ ServiceOrderResource serviceOrderResource;
+
+
+ @Scheduled(fixedDelayString = "${serviceOrder.schedule}", initialDelayString = "${serviceOrder.initial}")
+ public void scheduleCheckServiceOrders() {
+ List<ServiceOrder> acknowledgedOrders = serviceOrderService
+ .findServiceOrdersByState(StateType.ACKNOWLEDGED);
+ for (ServiceOrder serviceOrder : acknowledgedOrders) {
+ serviceOrderResource.checkServiceOrder(serviceOrder);
+ }
+ }
+
+}
diff --git a/src/main/java/org/onap/nbi/configuration/RestConfiguration.java b/src/main/java/org/onap/nbi/configuration/RestConfiguration.java
index 835ce24..92108a4 100644
--- a/src/main/java/org/onap/nbi/configuration/RestConfiguration.java
+++ b/src/main/java/org/onap/nbi/configuration/RestConfiguration.java
@@ -21,6 +21,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
+
@Configuration
public class RestConfiguration {
diff --git a/src/main/resources/application-test.properties b/src/main/resources/application-test.properties
new file mode 100644
index 0000000..b890216
--- /dev/null
+++ b/src/main/resources/application-test.properties
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2018 Orange
+#
+# 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.
+#
+
+nbi.version = v3
+
+# SERVER
+server.contextPath = /nbi/api/${nbi.version}
+server.port = 8080
+
+# LOGGING
+logging.level. = ERROR
+
+# ONAP
+onap.lcpCloudRegionId = RegionOne
+onap.tenantId = 31047205ce114b60833b23e400d6a535
+onap.cloudOwner = CloudOwner
+
+# NBI
+nbi.url = http://localhost:${server.port}${server.contextPath}
+nbi.callForVNF = false
+
+# SCHEDULER
+scheduler.pollingDurationInMins = 0.1
+serviceOrder.schedule = 5000
+serviceOrder.initial = 1
+executionTask.schedule = 2000
+executionTask.initial = 1
+
+
+
+# SDC
+sdc.host = http://127.0.0.1:8091
+sdc.header.ecompInstanceId = Rene
+sdc.header.authorization = Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
+
+# AAI
+aai.host = http://127.0.0.1:8091
+aai.header.authorization = Basic QUFJOkFBSQ==
+aai.api.id = AAI
+aai.header.transaction.id = 808b54e3-e563-4144-a1b9-e24e2ed93d4f
+
+# SO
+so.host = http://127.0.0.1:8091
+so.header.authorization =
+so.api.id = SO
+so.owning.entity.id = 6b5b6b70-4e9a-4f6f-8b7b-cbd7cf990c6e
+so.owning.entity.name = OE-generic
+so.project.name = Project-generic
+
+# MSB
+msb.enabled = false
+
+# H2
+spring.datasource.url = jdbc:h2:mem:~/db;DB_CLOSE_ON_EXIT=false
+spring.datasource.username = sa
+spring.datasource.password =
+spring.datasource.driver-class-name = org.h2.Driver
+spring.h2.console.enabled = true
+spring.h2.console.path = /h2-console \ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index a6184f0..6a66737 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -14,71 +14,81 @@
# limitations under the License.
#
-nbi.version=v3
+
+# PROFILE
+# used for scheduling
+spring.profiles.active = default
+
+# VERSION
+nbi.version = v3
# SERVER
-server.contextPath=/nbi/api/${nbi.version}
-server.port=8080
+server.contextPath = /nbi/api/${nbi.version}
+server.port = 8080
# LOGGING
-logging.level.=INFO
+logging.level. = INFO
# ONAP
-onap.lcpCloudRegionId=RegionOne
-onap.tenantId=6e97a2bd51d74f6db5671d8dc1517d82
-onap.cloudOwner=CloudOwner
+onap.lcpCloudRegionId = RegionOne
+onap.tenantId = 6e97a2bd51d74f6db5671d8dc1517d82
+onap.cloudOwner = CloudOwner
# NBI
-nbi.url=http://localhost:${server.port}${server.contextPath}
-nbi.callForVNF=false
+nbi.url = http://localhost:${server.port}${server.contextPath}
+nbi.callForVNF = false
# SCHEDULER
-scheduler.pollingDurationInMins=360
+scheduler.pollingDurationInMins = 360
+serviceOrder.schedule = 5000
+serviceOrder.initial = 1
+executionTask.schedule = 2000
+executionTask.initial = 1
# SDC
-sdc.host=http://10.0.3.1:8080
-sdc.header.ecompInstanceId=demo
-sdc.header.authorization=Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
-
+sdc.host = http://10.0.3.1:8080
+sdc.header.ecompInstanceId = demo
+sdc.header.authorization = Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
# AAI
-aai.host=https://10.0.1.1:8443
-aai.header.authorization=Basic QUFJOkFBSQ==
-aai.api.id=NBI
-aai.header.transaction.id=808b54e3-e563-4144-a1b9-e24e2ed93d4f
+aai.host = https://10.0.1.1:8443
+aai.header.authorization = Basic QUFJOkFBSQ==
+aai.api.id = NBI
+aai.header.transaction.id = 808b54e3-e563-4144-a1b9-e24e2ed93d4f
# SO
-so.host=http://10.0.5.1:8080
-so.header.authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==
-so.api.id=SO
-so.owning.entity.id=6b5b6b70-4e9a-4f6f-8b7b-cbd7cf990c6e
-so.owning.entity.name=OE-generic
-so.project.name=Project-generic
+
+so.host = http://10.0.5.1:8080
+so.header.authorization = Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==
+so.api.id = SO
+so.owning.entity.id = 6b5b6b70-4e9a-4f6f-8b7b-cbd7cf990c6e
+so.owning.entity.name = OE-generic
+so.project.name = Project-generic
# MSB
-msb.enabled=true
-msb.discovery.host=msb_discovery
-msb.discovery.port=10081
-msb.discovery.retry=5
-msb.discovery.retry_interval=5000
-msb.service.host=
-msb.service.name=nbi
-msb.service.custom_path=
-msb.service.protocol=REST
-msb.service.visual_range=1
-msb.service.enable_ssl=false
+msb.enabled = true
+msb.discovery.host = msb_discovery
+msb.discovery.port = 10081
+msb.discovery.retry = 1
+msb.discovery.retry_interval = 5000
+msb.service.host =
+msb.service.name = nbi
+msb.service.custom_path =
+msb.service.protocol = REST
+msb.service.visual_range = 1
+msb.service.enable_ssl = false
# MONGO
-spring.data.mongodb.host=localhost
-spring.data.mongodb.port=27017
-spring.data.mongodb.database=ServiceOrderDB
+spring.data.mongodb.host = localhost
+spring.data.mongodb.port = 27017
+spring.data.mongodb.database = ServiceOrderDB
# MYSQL
-spring.datasource.url=jdbc:mariadb://localhost:3306/nbi
-spring.datasource.username=root
-spring.datasource.password=secret
-spring.datasource.testWhileIdle=true
-spring.datasource.validationQuery=SELECT 1
-spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
-spring.jpa.show-sql=false
-spring.jpa.hibernate.ddl-auto=update
-spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy \ No newline at end of file
+spring.datasource.url = jdbc:mariadb://localhost:3306/nbi
+spring.datasource.username = root
+spring.datasource.password = secret
+spring.datasource.testWhileIdle = true
+spring.datasource.validationQuery = SELECT 1
+spring.datasource.driver-class-name = org.mariadb.jdbc.Driver
+spring.jpa.show-sql = false
+spring.jpa.hibernate.ddl-auto = update
+spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy \ No newline at end of file
diff --git a/src/test/java/joe.jpage b/src/test/java/joe.jpage
new file mode 100644
index 0000000..0e28672
--- /dev/null
+++ b/src/test/java/joe.jpage
@@ -0,0 +1,10 @@
+java.io.File file = new java.io.File("/home/user/Source/starck-xsl/spec.json");
+String jsonStr = org.apache.commons.io.FileUtils.readFileToString(file);
+
+System.out.println(jsonStr);
+
+org.json.JSONObject json = new org.json.JSONObject(jsonStr);
+String xml = org.json.XML.toString(json);
+
+System.out.println(xml);
+
diff --git a/src/test/java/karate-config.js b/src/test/java/karate-config.js
new file mode 100644
index 0000000..f67e555
--- /dev/null
+++ b/src/test/java/karate-config.js
@@ -0,0 +1,8 @@
+function() {
+ var config = {
+ nbiBaseUrl: 'http://localhost:8080/nbi/api/v3'
+ };
+ karate.configure('connectTimeout', 5000);
+ karate.configure('readTimeout', 5000);
+ return config;
+}
diff --git a/src/test/java/org/onap/nbi/apis/ApiTest.java b/src/test/java/org/onap/nbi/apis/ApiTest.java
deleted file mode 100644
index 696aa57..0000000
--- a/src/test/java/org/onap/nbi/apis/ApiTest.java
+++ /dev/null
@@ -1,1332 +0,0 @@
-/**
- * Copyright (c) 2018 Orange
- *
- * 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.
- */
-package org.onap.nbi.apis;
-
-
-import com.github.tomakehurst.wiremock.WireMockServer;
-import com.github.tomakehurst.wiremock.http.ResponseDefinition;
-import com.github.tomakehurst.wiremock.stubbing.ListStubMappingsResult;
-import com.github.tomakehurst.wiremock.stubbing.StubMapping;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Set;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-
-import org.junit.*;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.onap.nbi.apis.assertions.HubAssertions;
-import org.onap.nbi.apis.assertions.ServiceCatalogAssertions;
-import org.onap.nbi.apis.assertions.ServiceInventoryAssertions;
-import org.onap.nbi.apis.assertions.ServiceOrderAssertions;
-import org.onap.nbi.apis.hub.HubResource;
-import org.onap.nbi.apis.hub.model.Subscriber;
-import org.onap.nbi.apis.hub.model.Subscription;
-import org.onap.nbi.apis.hub.service.SubscriptionService;
-import org.onap.nbi.apis.servicecatalog.ServiceSpecificationResource;
-import org.onap.nbi.apis.serviceinventory.ServiceInventoryResource;
-import org.onap.nbi.apis.serviceorder.ServiceOrderResource;
-import org.onap.nbi.apis.serviceorder.model.*;
-import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
-import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
-import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
-import org.onap.nbi.apis.serviceorder.workflow.SOTaskProcessor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.embedded.LocalServerPort;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.ResponseEntity;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.context.request.RequestAttributes;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
-public class ApiTest {
-
- @LocalServerPort
- int randomServerPort;
-
- String realServerPort;
-
- static public WireMockServer wireMockServer = new WireMockServer(8091);
-
- @Autowired
- ServiceSpecificationResource serviceSpecificationResource;
-
- @Autowired
- ServiceInventoryResource serviceInventoryResource;
-
- @Autowired
- ServiceOrderResource serviceOrderResource;
-
- @Autowired
- HubResource hubResource;
-
- @Autowired
- SubscriptionService subscriptionService;
-
- @Autowired
- ServiceOrderRepository serviceOrderRepository;
-
- @Autowired
- ExecutionTaskRepository executionTaskRepository;
-
- @Autowired
- SOTaskProcessor SoTaskProcessor;
-
- @Mock
- private RequestAttributes attrs;
-
- static Validator validator;
-
- @Value("${scheduler.pollingDurationInMins}")
- private float pollingDurationInMins;
-
- @Before
- public void before() {
- MockHttpServletRequest request = new MockHttpServletRequest();
- RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
- }
-
- @BeforeClass
- public static void setUp() throws Exception {
- wireMockServer.start();
- ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
- validator = factory.getValidator();
- }
-
- @AfterClass
- public static void tearsDown() throws Exception {
- wireMockServer.stop();
-
- }
-
- @After
- public void tearsDownUpPort() throws Exception {
- executionTaskRepository.deleteAll();
- serviceOrderRepository.deleteAll();
- subscriptionService.deleteAll();
- wireMockServer.resetToDefaultMappings();
-
- }
-
-
- public ExecutionTask getExecutionTask(String orderItemId) {
- for (ExecutionTask executionTask : executionTaskRepository.findAll()) {
- if (executionTask.getOrderItemId().equalsIgnoreCase(orderItemId)) {
- return executionTask;
- }
-
- }
- return null;
- }
-
- private void removeWireMockMapping(String s) {
- ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
- StubMapping mappingToDelete = null;
- List<StubMapping> mappings = listStubMappingsResult.getMappings();
- for (StubMapping mapping : mappings) {
- if (mapping.getRequest().getUrl().equals(s)) {
- mappingToDelete = mapping;
- }
-
-
- }
-
- wireMockServer.removeStubMapping(mappingToDelete);
- }
-
- private void changeWireMockResponse(String s,int statusCode, String bodyContent) {
- ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
- ResponseDefinition responseDefinition = new ResponseDefinition(statusCode,bodyContent);
- List<StubMapping> mappings = listStubMappingsResult.getMappings();
- for (StubMapping mapping : mappings) {
- if (mapping.getRequest().getUrl().equals(s)) {
- mapping.setResponse(responseDefinition);
- }
- }
- }
-
-
-
-
- // serviceCatalog
-
-
- @Test
- @Ignore
- public void testServiceResourceGetCatalog() throws Exception {
-
- ResponseEntity<Object> resource =
- serviceSpecificationResource.getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null);
- ServiceCatalogAssertions.assertGetServiceCatalog(resource);
-
- }
-
- @Test
- public void testServiceCatalogGetResourceWithoutTosca() throws Exception {
-
- ResponseEntity<Object> resource = serviceSpecificationResource
- .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca", null);
- ServiceCatalogAssertions.assertGetServiceCatalogWithoutTosca(resource);
-
- }
-
- @Test
- public void testServiceCatalogFind() throws Exception {
-
- ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(null);
- ServiceCatalogAssertions.assertFindServiceCatalog(resource);
-
- }
-
-
- @Test
- public void testServiceCatalogFindWithFilter() throws Exception {
-
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("fields", "name");
- ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(params);
- ServiceCatalogAssertions.assertFindServiceCatalogWIthFilter(resource);
-
- }
-
- // serviceInventory
-
- @Test
- public void testServiceResourceGetInventory() throws Exception {
-
- String serviceName = "vFW";
- String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("serviceSpecification.name", serviceName);
- params.add("relatedParty.id", "6490");
- ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
- ServiceInventoryAssertions.assertServiceInventoryGet(resource);
-
- }
-
- @Test
- public void testServiceResourceGetInventoryWithStatus() throws Exception {
-
- String serviceName = "AnsibleService";
- String serviceId = "405c8c00-44b9-4303-9f27-6797d22ca096";
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("serviceSpecification.name", serviceName);
- params.add("relatedParty.id", "6490");
- ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
- LinkedHashMap service = (LinkedHashMap) resource.getBody();
- assertThat(service.get("state")).isEqualTo("Active");
-
-
- }
-
- @Test
- public void testServiceResourceGetInventoryWithoutRelationShipList() throws Exception {
-
- String serviceName = "vFW";
- String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList";
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("serviceSpecification.name", serviceName);
- params.add("relatedParty.id", "6490");
- ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
- ServiceInventoryAssertions.assertServiceInventoryGetWithoutList(resource);
-
- }
-
-
- @Test
- public void testServiceResourceGetInventoryWithServiceSpecId() throws Exception {
-
- String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
- params.add("relatedParty.id", "6490");
- ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
- ServiceInventoryAssertions.assertServiceInventoryGet(resource);
-
- }
-
-
- @Test
- public void testServiceInventoryFind() throws Exception {
-
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- String serviceName = "vFW";
- params.add("serviceSpecification.name", serviceName);
- params.add("relatedParty.id", "6490");
-
- ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
- ServiceInventoryAssertions.assertServiceInventoryFind(resource);
-
- }
-
-
- @Test
- public void testServiceInventoryFindWithServiceSpecId() throws Exception {
-
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
- params.add("relatedParty.id", "6490");
-
- ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
- ServiceInventoryAssertions.assertServiceInventoryFind(resource);
-
- }
-
-
- @Test
- public void testServiceInventoryFindWithoutParameter() throws Exception {
-
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("relatedParty.id", "6490");
-
- ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
- ServiceInventoryAssertions.assertServiceInventoryFindWithoutParameter(resource);
-
- }
-
- @Test
- public void testCreateServiceOrderResource() throws Exception {
-
- ResponseEntity<Object> serviceOrder = serviceOrderResource
- .createServiceOrder(ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD), null, null);
- assertThat(serviceOrder.getStatusCodeValue()).isEqualTo(201);
- ServiceOrder body = (ServiceOrder) serviceOrder.getBody();
- assertThat(body.getId()).isNotNull();
- assertThat(body.getState()).isEqualTo(StateType.ACKNOWLEDGED);
-
-
- }
-
- @Test
- public void testCheckServiceOrder() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
-
- }
-
-
- @Test
- public void testCheckServiceOrderWithUnknownSverviceSpecId() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.getService().getServiceSpecification().setId("toto");
- }
-
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
- }
- }
-
- @Test
- public void testCheckServiceOrderWithGenericCustomer() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- testServiceOrder.setRelatedParty(new ArrayList<>());
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
-
- }
-
-
- @Test
- public void testCheckServiceOrderWithoutRelatedParty() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- testServiceOrder.setRelatedParty(null);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
-
-
- }
-
- @Test
- public void testCheckServiceOrderWithUnKnownCustomer() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- List<RelatedParty> customers = new ArrayList<>();
- RelatedParty customer = new RelatedParty();
- customer.setId("new");
- customer.setRole("ONAPcustomer");
- customer.setName("romain");
- customers.add(customer);
- testServiceOrder.setRelatedParty(customers);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
-
- }
-
- @Test
- public void testCheckServiceOrderInDeleteWithNoServiceId() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.getService().setId(null);
- }
-
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("101");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
- }
- }
-
-
- @Test
- public void testCheckServiceOrderInModifyWithNoServiceId() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.MODIFY);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.getService().setId(null);
- }
-
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("101");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
- }
- }
-
- @Test
- public void testCheckServiceOrderInAddWithServiceId() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.getService().setId("toto");
- }
-
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("103");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
- }
- }
-
- @Test
- public void testCheckServiceOrderWithUnKnownCustomerInChange() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- List<RelatedParty> customers = new ArrayList<>();
- RelatedParty customer = new RelatedParty();
- customer.setId("new");
- customer.setRole("ONAPcustomer");
- customer.setName("romain");
- customers.add(customer);
- testServiceOrder.setRelatedParty(customers);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- assertThat(serviceOrderChecked.getOrderMessage().size()).isGreaterThan(0);
- assertThat(serviceOrderChecked.getOrderMessage().get(0).getCode()).isEqualTo("104");
- assertThat(serviceOrderChecked.getOrderMessage().get(0).getField()).isEqualTo("relatedParty.id");
- }
-
-
-
- @Test
- public void testCheckServiceOrderWithCustomerAAINotResponding() throws Exception {
-
- removeWireMockMapping("/aai/v11/business/customers/customer/new");
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- List<RelatedParty> customers = new ArrayList<>();
- RelatedParty customer = new RelatedParty();
- customer.setId("new");
- customer.setRole("ONAPcustomer");
- customer.setName("romain");
- customers.add(customer);
- testServiceOrder.setRelatedParty(customers);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
-
- assertThat(serviceOrderChecked.getOrderMessage().size()).isGreaterThan(0);
- assertThat(serviceOrderChecked.getOrderMessage().get(0).getCode()).isEqualTo("501");
- assertThat(serviceOrderChecked.getOrderMessage().get(0).getMessageInformation()).isEqualTo("Problem with AAI API");
- }
-
-
- @Test
- public void testCheckServiceOrderWithSDCNotResponding() throws Exception {
-
- removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- List<RelatedParty> customers = new ArrayList<>();
- RelatedParty customer = new RelatedParty();
- customer.setId("new");
- customer.setRole("ONAPcustomer");
- customer.setName("romain");
- customers.add(customer);
- testServiceOrder.setRelatedParty(customers);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
- }
- }
-
-
-
-
- @Test
- public void testCheckServiceOrderWithPutServiceAAINotResponding() throws Exception {
-
- removeWireMockMapping("/aai/v11/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- List<RelatedParty> customers = new ArrayList<>();
- RelatedParty customer = new RelatedParty();
- customer.setId("new");
- customer.setRole("ONAPcustomer");
- customer.setName("romain");
- customers.add(customer);
- testServiceOrder.setRelatedParty(customers);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- }
-
-
- @Test
- public void testCheckServiceOrderDelete() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.setState(StateType.ACKNOWLEDGED);
- }
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
-
- }
-
- @Test
- public void testCheckServiceOrderDeleteRejected() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.getService().setId("no_response");
-
- }
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("106");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
- }
- }
-
- @Test
- public void testCheckServiceOrderNoChange() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.setAction(ActionType.NOCHANGE);
- }
-
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- }
-
- }
-
-
-
- @Test
- public void testCheckServiceOrderNoChangeAndDelete() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- serviceOrderItem.setAction(ActionType.NOCHANGE);
- }
- serviceOrderItem.setState(StateType.ACKNOWLEDGED);
- }
-
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A"))
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- }
- }
-
-
- @Test
- public void testCheckServiceOrderDeleteWithKoServiceSpecId() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.getService().getServiceSpecification().setId("undefined");
- }
-
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A"))
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.REJECTED);
- }
- }
-
-
-
-
- @Test
- public void testCheckServiceOrderRejected() throws Exception {
-
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrderRejected();
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
- serviceOrderResource.scheduleCheckServiceOrders();
-
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if(serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
- }
- }
- }
-
- @Test
- public void validateServiceOrderBeanWithAnnotation() {
- ServiceOrder serviceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- Set violations = validator.validate(serviceOrder);
- assertThat(violations).isEmpty();
-
- ServiceOrderItem item = new ServiceOrderItem();
- item.setAction(ActionType.DELETE);
- item.setService(new Service());
- serviceOrder.addOrderItemItem(item);
-
- violations = validator.validate(serviceOrder);
- assertThat(violations).isNotEmpty();
-
- ServiceOrder serviceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- serviceOrder2.getOrderItem().get(0).getService().getServiceSpecification().setId("");
- serviceOrder2.getOrderItem().get(1).getService().getServiceSpecification().setId(" ");
-
- violations = validator.validate(serviceOrder2);
- assertThat(violations).isNotEmpty();
- assertThat(violations.size()).isEqualTo(2);
-
- }
-
-
-
- @Test
- public void testFindAndGetServiceOrder() throws Exception {
-
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
- serviceOrderItem.setState(StateType.ACKNOWLEDGED);
- }
- testServiceOrder.setExternalId("extid1");
- testServiceOrder.setOrderDate(new Date());
- testServiceOrder.setState(StateType.ACKNOWLEDGED);
- testServiceOrder.setDescription("toto");
- testServiceOrder.setId("test");
- serviceOrderRepository.save(testServiceOrder);
-
-
- ServiceOrder testServiceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
- testServiceOrder2.setState(StateType.ACKNOWLEDGED);
- testServiceOrder2.setDescription("toto");
- testServiceOrder2.setId("test2");
- testServiceOrder2.setExternalId("extid2");
- testServiceOrder2.setOrderDate(new Date());
-
- serviceOrderRepository.save(testServiceOrder2);
-
-
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("fields", "id");
-
- ResponseEntity<Object> serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
- ArrayList serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
- assertThat(serviceOrders.size()).isEqualTo(2);
-
- params.add("externalId", "extid1");
- params.add("state", "acknowledged");
-
- serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
- serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
- assertThat(serviceOrders.size()).isEqualTo(1);
-
- MultiValueMap<String, String> paramsDate = new LinkedMultiValueMap<>();
- paramsDate.add("orderDate.gt", "2017-01-01T00:00:00.000Z");
- paramsDate.add("orderDate.lt", "2030-01-01T00:00:00.000Z");
- paramsDate.add("offset", "0");
- paramsDate.add("limit", "2");
-
- serviceOrdersResponse = serviceOrderResource.findServiceOrder(paramsDate);
- serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
- assertThat(serviceOrders.size()).isEqualTo(2);
-
-
- ResponseEntity<Object> serviceOrderResponse =
- serviceOrderResource.getServiceOrder("test2", new LinkedMultiValueMap<>());
- ServiceOrder serviceOrder = (ServiceOrder) serviceOrderResponse.getBody();
- assertThat(serviceOrder).isNotNull();
- }
-
-
-
- @Test
- public void testExecutionTaskSuccess() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
- ExecutionTask executionTaskB;
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
-
- executionTaskB = getExecutionTask("B");
- assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA).isNull();
-
- SoTaskProcessor.processOrderItem(executionTaskB);
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
-
- }
-
- @Test
- public void testE2EExecutionTaskSuccess() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
- ExecutionTask executionTaskB;
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
-
- executionTaskB = getExecutionTask("B");
- assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA).isNull();
-
- SoTaskProcessor.processOrderItem(executionTaskB);
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
-
- }
-
- @Test
- public void testExecutionTaskDeleteSuccess() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.DELETE);
- ExecutionTask executionTaskB;
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
-
- executionTaskB = getExecutionTask("B");
- assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA).isNull();
-
- SoTaskProcessor.processOrderItem(executionTaskB);
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
-
- }
-
- @Test
- public void testE2EExecutionTaskDeleteSuccess() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.DELETE);
- ExecutionTask executionTaskB;
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
-
- executionTaskB = getExecutionTask("B");
- assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA).isNull();
-
- SoTaskProcessor.processOrderItem(executionTaskB);
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
-
- }
-
-
- @Test
- public void testExecutionTaskFailed() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
-
- removeWireMockMapping("/onap/so/infra/orchestrationRequests/v7/requestId");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
- executionTaskA = getExecutionTask("A");
- Date createDate = executionTaskA.getCreateDate();
- assertThat(executionTaskA.getLastAttemptDate().getTime()> createDate.getTime()).isTrue();
-
- changeCreationDate(executionTaskA);
- SoTaskProcessor.processOrderItem(executionTaskA);
-
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
- }
-
- private void changeCreationDate(ExecutionTask executionTaskA) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(executionTaskA.getCreateDate());
- cal.add(Calendar.SECOND, -30);
- executionTaskA.setCreateDate(cal.getTime());
- }
-
-
- @Test
- public void testE2EExecutionTaskFailed() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
-
- removeWireMockMapping("/onap/so/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
- changeCreationDate(executionTaskA);
- SoTaskProcessor.processOrderItem(executionTaskA);
-
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
- }
-
- @Test
- public void testExecutionTaskFailedNoSoResponse() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
-
- removeWireMockMapping("/onap/so/infra/serviceInstantiation/v7/serviceInstances/");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
-
-
- }
-
- @Test
- public void testExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
-
- removeWireMockMapping("/onap/so/infra/serviceInstantiation/v7/serviceInstances/");
- removeWireMockMapping("/onap/so/infra/orchestrationRequests/v7/requestId");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
- }
-
- @Test
- public void testE2EExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
-
- removeWireMockMapping("/onap/so/infra/e2eServiceInstances/v3");
- removeWireMockMapping("/onap/so/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
- }
-
-
- @Test
- public void testExecutionTaskFailedBadRequestSo() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.ADD);
-
-
- changeWireMockResponse("/onap/so/infra/serviceInstantiation/v7/serviceInstances/",400,"\"serviceException\": {\n"
- + " \"messageId\": \"SVC0002\",\n"
- + " \"text\": \"Error parsing request. org.openecomp.mso.apihandler.common.ValidationException: serviceInstance already existsd\"\n"
- + " }");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if(serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("105");
- assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.name");
- }
- }
-
- }
-
-
- @Test
- public void testExecutionTaskModifySuccess() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.MODIFY);
- ExecutionTask executionTaskB;
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
- SoTaskProcessor.processOrderItem(executionTaskA);
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
-
- executionTaskB = getExecutionTask("B");
- assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA).isNull();
-
- SoTaskProcessor.processOrderItem(executionTaskB);
- SoTaskProcessor.processOrderItem(executionTaskB);
-
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
- }
-
-
-
-
- @Test
- public void testExecutionTaskModifyFailed() throws Exception {
-
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
- executionTaskRepository, ActionType.MODIFY);
- ExecutionTask executionTaskB;
- removeWireMockMapping("/onap/so/infra/orchestrationRequests/v7/requestId");
-
-
- SoTaskProcessor.processOrderItem(executionTaskA);
- ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- if (serviceOrderItem.getId().equals("A")) {
- //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_REQUEST_DELETE_SEND);
- } else {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
- }
- }
- executionTaskA = getExecutionTask("A");
- assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
- changeCreationDate(executionTaskA);
- SoTaskProcessor.processOrderItem(executionTaskA);
-
- serviceOrderChecked = serviceOrderRepository.findOne("test");
- assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
- for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
- assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
-
- }
-
- assertThat(executionTaskRepository.count()).isEqualTo(0);
-
- }
-
- // hub
-
- @Test
- public void testFindWhenNoSubscriber() throws Exception {
- ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
- assertThat(findResponseEntity.getStatusCodeValue()).isEqualTo(200);
- ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
- assertThat(subscribers.size()).isEqualTo(0);
- }
-
- @Test
- public void testSubscriberCreation() throws Exception {
- ResponseEntity<Subscriber> firstCreationResponseEntity = hubResource
- .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
- assertThat(firstCreationResponseEntity.getStatusCodeValue()).isEqualTo(201);
- assertThat(firstCreationResponseEntity.getHeaders().getLocation()).isNotNull();
- assertThat(subscriptionService.countSubscription()).isEqualTo(1);
- }
-
- @Test
- public void testCreationAndFindSubscriber() throws Exception {
- ResponseEntity<Subscriber> firstCreationResponseEntity = hubResource
- .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
- ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
- ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
- assertThat(subscribers.size()).isEqualTo(1);
- }
-
- @Test
- public void testCreationAndGetByIdSubscriber() throws Exception {
- ResponseEntity<Subscriber> createResponseEntity = hubResource
- .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
- String resourceId = createResponseEntity.getHeaders().getLocation().getPath().substring(1);
- ResponseEntity<Subscription> getResponseEntity = hubResource.getSubscription(resourceId);
- assertThat(getResponseEntity.getStatusCodeValue()).isEqualTo(200);
- assertThat(getResponseEntity.getBody()).isInstanceOf(Subscription.class);
- }
-
- @Test
- public void testMultiCreationAndFindSubscriber() throws Exception {
- hubResource.createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
- hubResource.createEventSubscription(HubAssertions.createServiceOrderStateChangeSubscription());
- hubResource.createEventSubscription(HubAssertions.createServiceOrderItemStateChangeSubscription());
-
- ResponseEntity<Object> findAllResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
- ArrayList subscribers = (ArrayList) findAllResponseEntity.getBody();
- assertThat(subscribers.size()).isEqualTo(3);
- }
-
- @Test
- public void testMultiCreationAndFindWithFilteringSubscriber() throws Exception {
- hubResource.createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
- hubResource.createEventSubscription(HubAssertions.createServiceOrderStateChangeSubscription());
- hubResource.createEventSubscription(HubAssertions.createServiceOrderItemStateChangeSubscription());
-
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("query.eventType", "ServiceOrderCreationNotification");
- ResponseEntity<Object> findWithFilterResponseEntity = hubResource.findSubscribers(params);
- ArrayList subscribers = (ArrayList) findWithFilterResponseEntity.getBody();
- assertThat(subscribers.size()).isEqualTo(1);
- }
-
- @Test
- public void testSubscriberDeletion() throws Exception {
- ResponseEntity<Subscriber> createResponseEntity = hubResource
- .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
- String resourceId = createResponseEntity.getHeaders().getLocation().getPath().substring(1);
-
- ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
- ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
- assertThat(subscribers.size()).isEqualTo(1);
-
- hubResource.deleteSubscription(resourceId);
-
- findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
- subscribers = (ArrayList) findResponseEntity.getBody();
- assertThat(subscribers).isEmpty();
- }
-}
diff --git a/src/test/java/org/onap/nbi/apis/StatusResourceTest.java b/src/test/java/org/onap/nbi/apis/StatusResourceTest.java
deleted file mode 100644
index 9b80745..0000000
--- a/src/test/java/org/onap/nbi/apis/StatusResourceTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Copyright (c) 2018 Orange
- *
- * 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.
- */
-package org.onap.nbi.apis;
-
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.onap.nbi.apis.status.StatusResource;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.test.context.junit4.SpringRunner;
-import static org.assertj.core.api.Assertions.assertThat;
-
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-public class StatusResourceTest {
-
- @Autowired
- StatusResource statusResource;
-
- @Value("${server.contextPath}")
- String contextPath;
-
- @Value("${nbi.version}")
- String version;
-
- private MockHttpServletRequest request;
-
- @Before
- public void setup() {
- request = new MockHttpServletRequest();
- request.setRequestURI(contextPath);
- }
-
- @Test
- public void testHealthCheck() {
- ResponseEntity<Object> response = statusResource.status(request);
- assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
- ObjectNode status = (ObjectNode) response.getBody();
- assertThat(status.get("name").textValue()).isEqualTo("nbi");
- assertThat(status.get("status").toString()).isEqualTo("OK");
- assertThat(status.get("version").textValue()).isEqualTo(version);
- }
-}
diff --git a/src/test/java/org/onap/nbi/apis/assertions/HubAssertions.java b/src/test/java/org/onap/nbi/apis/assertions/HubAssertions.java
deleted file mode 100644
index f2b72f8..0000000
--- a/src/test/java/org/onap/nbi/apis/assertions/HubAssertions.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2018 Orange
- *
- * 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.
- */
-package org.onap.nbi.apis.assertions;
-
-import org.onap.nbi.apis.hub.model.Event;
-import org.onap.nbi.apis.hub.model.EventType;
-import org.onap.nbi.apis.hub.model.Subscription;
-
-import java.util.Date;
-import java.util.UUID;
-
-public class HubAssertions {
-
- public static Subscription createServiceOrderCreationSubscription(){
- Subscription subscription = new Subscription();
- subscription.setId("id");
- subscription.setCallback("http://localhost:8080/test");
- subscription.setQuery("eventType = ServiceOrderCreationNotification");
- return subscription;
- }
-
- public static Subscription createServiceOrderStateChangeSubscription(){
- Subscription subscription = new Subscription();
- subscription.setId("id");
- subscription.setCallback("http://localhost/test");
- subscription.setQuery("eventType = ServiceOrderStateChangeNotification");
- return subscription;
- }
-
- public static Subscription createServiceOrderItemStateChangeSubscription(){
- Subscription subscription = new Subscription();
- subscription.setId("id");
- subscription.setCallback("http://localhost/test");
- subscription.setQuery("eventType = ServiceOrderItemStateChangeNotification");
- return subscription;
- }
-
- public static Event createFakeEvent() {
- Event event = new Event();
- event.setEventId(UUID.randomUUID().toString());
- event.setEventDate(new Date());
- event.setEventType(EventType.SERVICE_ORDER_CREATION.value());
- return event;
- }
-}
diff --git a/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java b/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java
deleted file mode 100644
index 3789c8f..0000000
--- a/src/test/java/org/onap/nbi/apis/assertions/ServiceCatalogAssertions.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- * Copyright (c) 2018 Orange
- *
- * 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.
- */
-package org.onap.nbi.apis.assertions;
-
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import static org.assertj.core.api.Assertions.assertThat;
-
-
-public class ServiceCatalogAssertions {
-
-
- public static void assertGetServiceCatalog(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- LinkedHashMap service = (LinkedHashMap) resource.getBody();
- assertThat(service.get("id")).isEqualTo("1e3feeb0-8e36-46c6-862c-236d9c626439");
- assertThat(service.get("name")).isEqualTo("vFW");
- assertThat(service.get("invariantUUID")).isEqualTo("b58a118e-eeb9-4f6e-bdca-e292f84d17df");
- assertThat(service.get("toscaModelURL"))
- .isEqualTo("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/toscaModel");
- assertThat(service.get("distributionStatus")).isEqualTo("DISTRIBUTED");
- assertThat(service.get("version")).isEqualTo("2.0");
- assertThat(service.get("lifecycleStatus")).isEqualTo("CERTIFIED");
- assertThat(service.get("@type")).isEqualTo("ONAPservice");
- assertThat(((ArrayList) service.get("attachment")).size()).isEqualTo(5);
- LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty");
- assertThat(relatedParty.get("name")).isEqualTo("Joni Mitchell");
- assertThat(relatedParty.get("role")).isEqualTo("lastUpdater");
-
-
- assertThat(((ArrayList) service.get("resourceSpecification")).size()).isEqualTo(2);
- LinkedHashMap resource1 = (LinkedHashMap) ((ArrayList) service.get("resourceSpecification")).get(0);
- assertThat(resource1.get("name")).isEqualTo("vFW-vSINK");
- assertThat(resource1.get("resourceInstanceName")).isEqualTo("vFW-vSINK 0");
- assertThat(resource1.get("resourceType")).isEqualTo("VF");
- assertThat(resource1.get("resourceInvariantUUID")).isEqualTo("18b90934-aa82-456f-938e-e74a07a426f3");
- assertThat(resource1.get("@type")).isEqualTo("ONAPresource");
- assertThat(resource1.get("modelCustomizationName")).isEqualTo("vFW-vSINK 0");
-
- assertThat(((ArrayList) service.get("serviceSpecCharacteristic")).size()).isEqualTo(4);
- ArrayList serviceSPecCharacteristics = (ArrayList) service.get("serviceSpecCharacteristic");
- for (Object serviceSPecCharacteristic : serviceSPecCharacteristics) {
- LinkedHashMap serviceSPecCharacteristicMap = (LinkedHashMap) serviceSPecCharacteristic;
- if (serviceSPecCharacteristicMap.get("name").toString().equals("cpus")) {
- assertThat(serviceSPecCharacteristicMap.get("valueType")).isEqualTo("integer");
- assertThat(serviceSPecCharacteristicMap.get("@type")).isEqualTo("ONAPserviceCharacteristic");
- ArrayList serviceSpecCharacteristicValues =
- (ArrayList) serviceSPecCharacteristicMap.get("serviceSpecCharacteristicValue");
- for (Object serviceSpecCharacteristicValue : serviceSpecCharacteristicValues) {
- LinkedHashMap serviceSpecCharacteristicValueMap = (LinkedHashMap) serviceSpecCharacteristicValue;
- if (serviceSpecCharacteristicValueMap.get("value").toString().equals("2")) {
- assertThat(serviceSpecCharacteristicValueMap.get("isDefault")).isEqualTo(true);
- assertThat(serviceSpecCharacteristicValueMap.get("valueType")).isEqualTo("integer");
- } else {
- assertThat(serviceSpecCharacteristicValueMap.get("isDefault")).isEqualTo(false);
- assertThat(serviceSpecCharacteristicValueMap.get("valueType")).isEqualTo("integer");
- }
- }
- }
- }
-
- }
-
-
-
-
- public static void assertGetServiceCatalogWithoutTosca(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.PARTIAL_CONTENT);
- LinkedHashMap service = (LinkedHashMap) resource.getBody();
- assertThat(service.get("id")).isEqualTo("1e3feeb0-8e36-46c6-862c-236d9c626439");
- assertThat(service.get("name")).isEqualTo("vFW");
- assertThat(service.get("invariantUUID")).isEqualTo("b58a118e-eeb9-4f6e-bdca-e292f84d17df");
- assertThat(service.get("toscaModelURL"))
- .isEqualTo("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439toto/toscaModel");
- assertThat(service.get("distributionStatus")).isEqualTo("DISTRIBUTED");
- assertThat(service.get("version")).isEqualTo("2.0");
- assertThat(service.get("lifecycleStatus")).isEqualTo("CERTIFIED");
- assertThat(service.get("@type")).isEqualTo("ONAPservice");
- assertThat(((ArrayList) service.get("attachment")).size()).isEqualTo(5);
- LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty");
- assertThat(relatedParty.get("name")).isEqualTo("Joni Mitchell");
- assertThat(relatedParty.get("role")).isEqualTo("lastUpdater");
-
-
- assertThat(((ArrayList) service.get("resourceSpecification")).size()).isEqualTo(2);
- LinkedHashMap resource1 = (LinkedHashMap) ((ArrayList) service.get("resourceSpecification")).get(0);
- assertThat(resource1.get("name")).isEqualTo("vFW-vSINK");
- assertThat(resource1.get("resourceInstanceName")).isEqualTo("vFW-vSINK 0");
- assertThat(resource1.get("resourceType")).isEqualTo("VF");
- assertThat(resource1.get("resourceInvariantUUID")).isEqualTo("18b90934-aa82-456f-938e-e74a07a426f3");
- assertThat(resource1.get("@type")).isEqualTo("ONAPresource");
- assertThat(resource1.get("modelCustomizationName")).isEqualTo("vFW-vSINK 0");
- assertThat(service.get("serviceSpecCharacteristic")).isNull();
- }
-
-
-
-
-
-
-
-
-
-
- public static void assertFindServiceCatalog(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- ArrayList body = (ArrayList) resource.getBody();
- assertThat(body.size()).isEqualTo(21);
- LinkedHashMap service1 = (LinkedHashMap) body.get(0);
- assertThat(service1.get("id")).isEqualTo("446afaf6-79b5-420e-aff8-7551b00bb510");
- assertThat(service1.get("name")).isEqualTo("FreeRadius-service");
- assertThat(service1.get("invariantUUID")).isEqualTo("7e4781e8-6c6e-41c5-b889-6a321d5f2490");
- assertThat(service1.get("category")).isEqualTo("Network L4+");
- assertThat(service1.get("distributionStatus")).isEqualTo("DISTRIBUTED");
- assertThat(service1.get("version")).isEqualTo("1.0");
- assertThat(service1.get("lifecycleStatus")).isEqualTo("CERTIFIED");
- LinkedHashMap relatedParty = (LinkedHashMap) service1.get("relatedParty");
- assertThat(relatedParty.get("role")).isEqualTo("lastUpdater");
- }
-
-
-
- public static void assertFindServiceCatalogWIthFilter(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- ArrayList body = (ArrayList) resource.getBody();
- assertThat(body.size()).isEqualTo(21);
-
-
- ObjectNode service1 = (ObjectNode) body.get(0);
- assertThat(service1.get("id")).isNull();
- assertThat(service1.get("name").asText()).isEqualTo("FreeRadius-service");
- assertThat(service1.get("invariantUUID")).isNull();
- assertThat(service1.get("category")).isNull();
- assertThat(service1.get("distributionStatus")).isNull();
- assertThat(service1.get("version")).isNull();
- assertThat(service1.get("lifecycleStatus")).isNull();
- assertThat(service1.get("relatedParty")).isNull();
- }
-
-}
-
diff --git a/src/test/java/org/onap/nbi/apis/assertions/ServiceInventoryAssertions.java b/src/test/java/org/onap/nbi/apis/assertions/ServiceInventoryAssertions.java
deleted file mode 100644
index f68b82f..0000000
--- a/src/test/java/org/onap/nbi/apis/assertions/ServiceInventoryAssertions.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * Copyright (c) 2018 Orange
- *
- * 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.
- */
-package org.onap.nbi.apis.assertions;
-
-
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class ServiceInventoryAssertions {
-
-
-
- public static void assertServiceInventoryGet(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- LinkedHashMap service = (LinkedHashMap) resource.getBody();
- assertThat(service.get("id")).isEqualTo("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
- assertThat(service.get("name")).isEqualTo("NewFreeRadius-service-instance-01");
- assertThat(service.get("hasStarted")).isEqualTo("yes");
- assertThat(service.get("type")).isEqualTo("service-instance");
- assertThat(service.get("@type")).isEqualTo("serviceONAP");
- LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty");
- assertThat(relatedParty.get("role")).isEqualTo("ONAPcustomer");
- assertThat(relatedParty.get("id")).isEqualTo("6490");
- LinkedHashMap serviceSpecification = (LinkedHashMap) service.get("serviceSpecification");
- assertThat(serviceSpecification.get("id")).isEqualTo("98d95267-5e0f-4531-abf8-f14b90031dc5");
- assertThat(serviceSpecification.get("invariantUUID")).isEqualTo("709d157b-52fb-4250-976e-7133dff5c347");
- assertThat(serviceSpecification.get("@type")).isEqualTo("ONAPservice");
-
-
- assertThat(((ArrayList) service.get("supportingResource")).size()).isEqualTo(2);
- LinkedHashMap resource1 = (LinkedHashMap) ((ArrayList) service.get("supportingResource")).get(0);
- assertThat(resource1.get("id")).isEqualTo("cb80fbb6-9aa7-4ac5-9541-e14f45de533e");
- assertThat(resource1.get("name")).isEqualTo("NewFreeRadius-VNF-instance-01");
- assertThat(resource1.get("status")).isEqualTo("PREPROV");
- assertThat(resource1.get("modelInvariantId")).isEqualTo("f5993703-977f-4346-a1c9-c1884f8cfd8d");
- assertThat(resource1.get("modelVersionId")).isEqualTo("902438f7-1e4c-492d-b7cc-8650e13b8aeb");
- assertThat(resource1.get("@referredType")).isEqualTo("ONAP resource");
- }
-
-
- public static void assertServiceInventoryGetWithoutList(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- LinkedHashMap service = (LinkedHashMap) resource.getBody();
- assertThat(service.get("id")).isEqualTo("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
- assertThat(service.get("name")).isEqualTo("NewFreeRadius-service-instance-01");
- assertThat(service.get("hasStarted")).isEqualTo("yes");
- assertThat(service.get("type")).isEqualTo("service-instance");
- assertThat(service.get("@type")).isEqualTo("serviceONAP");
- LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty");
- assertThat(relatedParty.get("role")).isEqualTo("ONAPcustomer");
- assertThat(relatedParty.get("id")).isEqualTo("6490");
- LinkedHashMap serviceSpecification = (LinkedHashMap) service.get("serviceSpecification");
- assertThat(serviceSpecification.get("id")).isEqualTo("98d95267-5e0f-4531-abf8-f14b90031dc5");
- assertThat(serviceSpecification.get("invariantUUID")).isEqualTo("709d157b-52fb-4250-976e-7133dff5c347");
- assertThat(serviceSpecification.get("@type")).isEqualTo("ONAPservice");
-
- assertThat(((ArrayList) service.get("supportingResource")).size()).isEqualTo(0);
-
- }
-
-
-
- public static void assertServiceInventoryFind(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- ArrayList body = (ArrayList) resource.getBody();
- assertThat(body.size()).isEqualTo(1);
- LinkedHashMap service1 = (LinkedHashMap) body.get(0);
- assertThat(service1.get("id")).isEqualTo("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
- assertThat(service1.get("name")).isEqualTo("NewFreeRadius-service-instance-01");
- LinkedHashMap relatedParty = (LinkedHashMap) service1.get("relatedParty");
- assertThat(relatedParty.get("role")).isEqualTo("ONAPcustomer");
- assertThat(relatedParty.get("id")).isEqualTo("6490");
- LinkedHashMap serviceSpecification = (LinkedHashMap) service1.get("serviceSpecification");
- assertThat(serviceSpecification.get("name")).isEqualTo("vFW");
- assertThat(serviceSpecification.get("id")).isEqualTo("98d95267-5e0f-4531-abf8-f14b90031dc5");
- }
-
-
- public static void assertServiceInventoryFindWithoutParameter(ResponseEntity<Object> resource) {
- assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK);
- ArrayList body = (ArrayList) resource.getBody();
- assertThat(body.size()).isEqualTo(2);
- LinkedHashMap service1 = (LinkedHashMap) body.get(0);
- assertThat(service1.get("id")).isEqualTo("vfw-service-id");
- assertThat(service1.get("name")).isEqualTo("vfw-service-name");
- LinkedHashMap relatedParty = (LinkedHashMap) service1.get("relatedParty");
- assertThat(relatedParty.get("role")).isEqualTo("ONAPcustomer");
- assertThat(relatedParty.get("id")).isEqualTo("6490");
- LinkedHashMap serviceSpecification = (LinkedHashMap) service1.get("serviceSpecification");
- assertThat(serviceSpecification.get("name")).isEqualTo("vFW-service-2VF-based");
- assertThat(serviceSpecification.get("id")).isEqualTo("9vfw-service-modek-version-id");
-
-
- LinkedHashMap service2 = (LinkedHashMap) body.get(1);
- assertThat(service2.get("id")).isEqualTo("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
- assertThat(service2.get("name")).isEqualTo("NewFreeRadius-service-instance-01");
- relatedParty = (LinkedHashMap) service1.get("relatedParty");
- assertThat(relatedParty.get("role")).isEqualTo("ONAPcustomer");
- assertThat(relatedParty.get("id")).isEqualTo("6490");
- serviceSpecification = (LinkedHashMap) service2.get("serviceSpecification");
- assertThat(serviceSpecification.get("name")).isEqualTo("vFW");
- assertThat(serviceSpecification.get("id")).isEqualTo("98d95267-5e0f-4531-abf8-f14b90031dc5");
-
- }
-
-}
diff --git a/src/test/java/org/onap/nbi/apis/assertions/ServiceOrderAssertions.java b/src/test/java/org/onap/nbi/apis/assertions/ServiceOrderExecutionTaskAssertions.java
index 6bd4bd0..6fea745 100644
--- a/src/test/java/org/onap/nbi/apis/assertions/ServiceOrderAssertions.java
+++ b/src/test/java/org/onap/nbi/apis/assertions/ServiceOrderExecutionTaskAssertions.java
@@ -41,7 +41,7 @@ import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
import org.onap.nbi.apis.serviceorder.utils.JsonEntityConverter;
-public class ServiceOrderAssertions {
+public class ServiceOrderExecutionTaskAssertions {
public static ServiceOrder createTestServiceOrderRejected() {
ServiceOrder serviceOrder = new ServiceOrder();
diff --git a/src/test/java/org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java b/src/test/java/org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java
deleted file mode 100644
index b2ebe17..0000000
--- a/src/test/java/org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/**
- * Copyright (c) 2018 Orange
- *
- * 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.
- */
-package org.onap.nbi.apis.servicecatalog;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertNull;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-
-import org.assertj.core.api.AbstractBooleanAssert;
-import org.junit.Test;
-import org.onap.nbi.exceptions.TechnicalException;
-import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException;
-
-
-public class ToscaInfosProcessorTest {
-
- final ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); // jackson databind
-
- ToscaInfosProcessor toscaInfosProcessor = new ToscaInfosProcessor();
-
-
- private LinkedHashMap parseToscaFile(String fileName) {
-
- File toscaFile = new File(fileName);
- if (!toscaFile.exists()) {
- throw new TechnicalException("unable to find file : " + fileName);
- }
- try {
- return (LinkedHashMap) mapper.readValue(toscaFile, Object.class);
- } catch (IOException e) {
- throw new TechnicalException("Unable to parse tosca file : " + fileName);
-
- } catch (NullPointerException e) {
- throw new TechnicalException("unable to find tosca file : " + fileName);
- }
- }
-
-
- @Test
- public void buildResponseWithToscaInfos() {
-
- ClassLoader classLoader = getClass().getClassLoader();
- File file = new File(classLoader.getResource("toscafile/service-TestNetwork-template.yml").getFile());
- List<LinkedHashMap> resources = new ArrayList<>();
- LinkedHashMap resource1 = new LinkedHashMap();
- resource1.put("id", "e2b12ac6-cbb6-4517-9c58-b846d1f68caf");
- resources.add(resource1);
- LinkedHashMap toscaFile = parseToscaFile(file.getPath());
- LinkedHashMap response = new LinkedHashMap();
- response.put("resourceSpecification", resources);
- toscaInfosProcessor.buildResponseWithToscaInfos((LinkedHashMap) toscaFile.get("topology_template"), response);
-
- resources = (List<LinkedHashMap>) response.get("resourceSpecification");
- assertNull(resources.get(0).get("modelCustomizationId"));
- assertNull(resources.get(0).get("modelCustomizationName"));
-
- }
-
- @Test
- public void buildResponseWithSdcToscaParser() {
-
- ClassLoader classLoader = getClass().getClassLoader();
- Path path = new File(classLoader.getResource("toscafile/service-Sdwanvpninfraservice-csar.csar").getFile()).toPath().toAbsolutePath();
- List<LinkedHashMap> resources = new ArrayList<>();
- LinkedHashMap resource1 = new LinkedHashMap();
- resource1.put("id", "7baa7742-3a13-4288-8330-868015adc340");
- resources.add(resource1);
- LinkedHashMap resource2 = new LinkedHashMap();
- resource2.put("id", "81b9430b-8abe-45d6-8bf9-f41a8f5c735f");
- resources.add(resource2);
- LinkedHashMap response = new LinkedHashMap();
- response.put("resourceSpecification", resources);
-
- try {
- toscaInfosProcessor.buildResponseWithSdcToscaParser(path, response);
- }
- catch(SdcToscaParserException e) {
- throw new TechnicalException("unable to build response from tosca csar using sdc-parser : " + path.toString()+" "+e.getMessage());
- }
- resources = (List<LinkedHashMap>) response.get("resourceSpecification");
- List<LinkedHashMap> serviceSpecCharacteristic = new ArrayList<>();
- serviceSpecCharacteristic = (List<LinkedHashMap>) response.get("serviceSpecCharacteristic");
- assertThat(serviceSpecCharacteristic.get(0).get("name")).isEqualTo("sdwanconnectivity0_topology");
- assertThat(serviceSpecCharacteristic.get(1).get("valueType")).isEqualTo("string");
- assertThat(serviceSpecCharacteristic.get(0).get("required")).isEqualTo(true);
- assertThat(serviceSpecCharacteristic.get(1).get("name")).isEqualTo("sdwanconnectivity0_name");
- assertThat(serviceSpecCharacteristic.get(1).get("valueType")).isEqualTo("string");
- assertThat(serviceSpecCharacteristic.get(1).get("required")).isEqualTo(true);
- assertThat(resources.get(0).get("modelCustomizationId")).isEqualTo("94ec574b-2306-4cbd-8214-09662b040f73");
- assertThat(resources.get(1).get("modelCustomizationId")).isEqualTo("a7baba5d-6ac3-42b5-b47d-070841303ab1");
-
- }
-
- @Test
- public void buildResponseWithSdcToscaParserWithDefaultInputs() {
-
- ClassLoader classLoader = getClass().getClassLoader();
- Path path = new File(classLoader.getResource("toscafile/service-Sotnvpninfraservice-csar.csar").getFile()).toPath().toAbsolutePath();
- List<LinkedHashMap> resources = new ArrayList<>();
- LinkedHashMap resource1 = new LinkedHashMap();
- resource1.put("id", "218df3c3-50dd-4c26-9e36-4771387bb771");
- resources.add(resource1);
- LinkedHashMap resource2 = new LinkedHashMap();
- resource2.put("id", "81b9430b-8abe-45d6-8bf9-f41a8f5c735f");
- resources.add(resource2);
- LinkedHashMap response = new LinkedHashMap();
- response.put("resourceSpecification", resources);
-
- try {
- toscaInfosProcessor.buildResponseWithSdcToscaParser(path, response);
- }
- catch(SdcToscaParserException e) {
- throw new TechnicalException("unable to build response from tosca csar using sdc-parser : " + path.toString()+" "+e.getMessage());
- }
- resources = (List<LinkedHashMap>) response.get("resourceSpecification");
- List<LinkedHashMap> serviceSpecCharacteristic = new ArrayList<>();
- serviceSpecCharacteristic = (List<LinkedHashMap>) response.get("serviceSpecCharacteristic");
- assertThat(resources.get(0).get("modelCustomizationId")).isEqualTo("b44071c8-04fd-4d6b-b6af-772cbfaa1129");
- assertThat(resources.get(1).get("modelCustomizationId")).isEqualTo("c3612284-6c67-4d8c-8b41-b699cc90e76d");
- assertThat(serviceSpecCharacteristic.get(12).get("serviceSpecCharacteristicValue")).isNull();
- assertThat(serviceSpecCharacteristic.get(13).get("serviceSpecCharacteristicValue")).isNotNull();
- }
-
- @Test
- public void buildResponseWithSdcToscaParserwithMetaDataMisMatch() {
-
- ClassLoader classLoader = getClass().getClassLoader();
- Path path = new File(classLoader.getResource("toscafile/service-Sdwanvpninfraservice-csar.csar").getFile()).toPath().toAbsolutePath();
- List<LinkedHashMap> resources = new ArrayList<>();
- LinkedHashMap resource1 = new LinkedHashMap();
- resource1.put("id", "some bad resource id no in TOSCA CSAR");
- resources.add(resource1);
- LinkedHashMap resource2 = new LinkedHashMap();
- resource2.put("id", "some bad resource id no in TOSCA CSAR");
- resources.add(resource2);
- LinkedHashMap response = new LinkedHashMap();
- response.put("resourceSpecification", resources);
-
- try {
- toscaInfosProcessor.buildResponseWithSdcToscaParser(path, response);
- }
- catch(SdcToscaParserException e) {
- throw new TechnicalException("unable to build response from tosca csar using sdc-parser : " + path.toString()+" "+e.getMessage());
- }
- resources = (List<LinkedHashMap>) response.get("resourceSpecification");
- List<LinkedHashMap> serviceSpecCharacteristic = new ArrayList<>();
- serviceSpecCharacteristic = (List<LinkedHashMap>) response.get("serviceSpecCharacteristic");
- assertThat(serviceSpecCharacteristic.get(0).get("name")).isEqualTo("sdwanconnectivity0_topology");
- assertThat(serviceSpecCharacteristic.get(1).get("valueType")).isEqualTo("string");
- assertThat(serviceSpecCharacteristic.get(0).get("required")).isEqualTo(true);
- assertThat(serviceSpecCharacteristic.get(1).get("name")).isEqualTo("sdwanconnectivity0_name");
- assertThat(serviceSpecCharacteristic.get(1).get("valueType")).isEqualTo("string");
- assertThat(serviceSpecCharacteristic.get(1).get("required")).isEqualTo(true);
- // Check that resources cannot be found in the TOSCA template
- assertThat(resources.get(0).get("modelCustomizationId")).isNull();
- assertThat(resources.get(1).get("modelCustomizationId")).isNull();
-
- }
- @Test
- public void buildResponseWithToscaInfosOk() {
-
- ClassLoader classLoader = getClass().getClassLoader();
- File file = new File(classLoader.getResource("toscafile/service-VfwService2vfBased-template.yml").getFile());
- List<LinkedHashMap> resources = new ArrayList<>();
- LinkedHashMap resource1 = new LinkedHashMap();
- resource1.put("id", "e2b12ac6-cbb6-4517-9c58-b846d1f68caf");
- resources.add(resource1);
- LinkedHashMap toscaFile = parseToscaFile(file.getPath());
- LinkedHashMap response = new LinkedHashMap();
- response.put("resourceSpecification", resources);
- toscaInfosProcessor.buildResponseWithToscaInfos((LinkedHashMap) toscaFile.get("topology_template"), response);
-
- ArrayList toscaInfos = (ArrayList) response.get("serviceSpecCharacteristic");
- assertThat(toscaInfos.size()).isEqualTo(4);
-
- for (Object toscaInfo : toscaInfos) {
- LinkedHashMap info = (LinkedHashMap) toscaInfo;
- if (((String) info.get("name")).equalsIgnoreCase("fortigate_image_url")) {
- assertThat(info.get("name")).isEqualTo("fortigate_image_url");
- assertThat(info.get("description")).isNull();
- assertThat(info.get("valueType")).isEqualTo("string");
- assertThat(info.get("@type")).isEqualTo("ONAPserviceCharacteristic");
- assertThat(info.get("required")).isEqualTo(false);
- assertThat(info.get("status")).isNull();
- assertThat(((ArrayList) info.get("serviceSpecCharacteristicValue")).size()).isEqualTo(0);
-
- }
-
- if (((String) info.get("name")).equalsIgnoreCase("flavor")) {
- assertThat(info.get("name")).isEqualTo("flavor");
- assertThat(info.get("description")).isNull();
- assertThat(info.get("valueType")).isEqualTo("string");
- assertThat(info.get("@type")).isEqualTo("ONAPserviceCharacteristic");
- assertThat(info.get("required")).isNull();
- assertThat(info.get("status")).isNull();
- assertThat(((ArrayList) info.get("serviceSpecCharacteristicValue")).size()).isEqualTo(0);
-
- }
-
- if (((String) info.get("name")).equalsIgnoreCase("external_network_name")) {
- assertThat(info.get("name")).isEqualTo("external_network_name");
- assertThat(info.get("description")).isNull();
- assertThat(info.get("valueType")).isEqualTo("string");
- assertThat(info.get("@type")).isEqualTo("ONAPserviceCharacteristic");
- assertThat(info.get("required")).isNull();
- assertThat(info.get("status")).isEqualTo("inactive");
- ;
- assertThat(((ArrayList) info.get("serviceSpecCharacteristicValue")).size()).isEqualTo(0);
-
- }
-
- if (((String) info.get("name")).equalsIgnoreCase("cpus")) {
- assertThat(info.get("name")).isEqualTo("cpus");
- assertThat(info.get("description")).isEqualTo("Number of CPUs for the server.");
- assertThat(info.get("valueType")).isEqualTo("integer");
- assertThat(info.get("@type")).isEqualTo("ONAPserviceCharacteristic");
- assertThat(info.get("required")).isNull();
- assertThat(info.get("status")).isNull();
- ;
- assertThat(((ArrayList) info.get("serviceSpecCharacteristicValue")).size()).isEqualTo(4);
- ArrayList serviceSpecCharacteristicValues = (ArrayList) info.get("serviceSpecCharacteristicValue");
-
- for (Object serviceSpecCharacteristicValue : serviceSpecCharacteristicValues) {
- LinkedHashMap serviceSpecValue = (LinkedHashMap) serviceSpecCharacteristicValue;
- if (((String) serviceSpecValue.get("value")).equalsIgnoreCase("1")) {
- assertThat(serviceSpecValue.get("isDefault")).isEqualTo(false);
- assertThat(serviceSpecValue.get("value")).isEqualTo("1");
- assertThat(serviceSpecValue.get("valueType")).isEqualTo("integer");
- }
- if (((String) serviceSpecValue.get("value")).equalsIgnoreCase("2")) {
- assertThat(serviceSpecValue.get("isDefault")).isEqualTo(true);
- assertThat(serviceSpecValue.get("value")).isEqualTo("2");
- assertThat(serviceSpecValue.get("valueType")).isEqualTo("integer");
- }
- if (((String) serviceSpecValue.get("value")).equalsIgnoreCase("3")) {
- assertThat(serviceSpecValue.get("isDefault")).isEqualTo(false);
- assertThat(serviceSpecValue.get("value")).isEqualTo("3");
- assertThat(serviceSpecValue.get("valueType")).isEqualTo("integer");
- }
- if (((String) serviceSpecValue.get("value")).equalsIgnoreCase("4")) {
- assertThat(serviceSpecValue.get("isDefault")).isEqualTo(false);
- assertThat(serviceSpecValue.get("value")).isEqualTo("4");
- assertThat(serviceSpecValue.get("valueType")).isEqualTo("integer");
- }
-
- }
-
-
- }
-
- }
-
-
- }
-} \ No newline at end of file
diff --git a/src/test/java/org/onap/nbi/apis/ApiTestWithoutOnap.java b/src/test/java/org/onap/nbi/test/ApiTestWithoutOnap.java
index 782c39a..6e57673 100644
--- a/src/test/java/org/onap/nbi/apis/ApiTestWithoutOnap.java
+++ b/src/test/java/org/onap/nbi/test/ApiTestWithoutOnap.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onap.nbi.apis;
+package org.onap.nbi.test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -22,7 +22,7 @@ import java.util.List;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.onap.nbi.apis.assertions.ServiceOrderAssertions;
+import org.onap.nbi.apis.assertions.ServiceOrderExecutionTaskAssertions;
import org.onap.nbi.apis.servicecatalog.ServiceSpecificationResource;
import org.onap.nbi.apis.serviceinventory.ServiceInventoryResource;
import org.onap.nbi.apis.serviceorder.ServiceOrderResource;
@@ -39,12 +39,17 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
+import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
+@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+@DirtiesContext(classMode= ClassMode.AFTER_CLASS)
public class ApiTestWithoutOnap {
@@ -88,7 +93,7 @@ public class ApiTestWithoutOnap {
@Test
public void testExecutionTaskWithoutOnap() throws Exception {
- ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
executionTaskRepository, ActionType.ADD);
SoTaskProcessor.processOrderItem(executionTaskA);
@@ -108,7 +113,7 @@ public class ApiTestWithoutOnap {
@Test
public void testCheckServiceOrderWithSDCNotResponding() throws Exception {
- ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
+ ServiceOrder testServiceOrder = ServiceOrderExecutionTaskAssertions.createTestServiceOrder(ActionType.ADD);
List<RelatedParty> customers = new ArrayList<>();
RelatedParty customer = new RelatedParty();
customer.setId("new");
@@ -120,7 +125,7 @@ public class ApiTestWithoutOnap {
testServiceOrder.setId("test");
serviceOrderRepository.save(testServiceOrder);
- serviceOrderResource.scheduleCheckServiceOrders();
+ serviceOrderResource.checkServiceOrder(testServiceOrder);
ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
@@ -155,6 +160,7 @@ public class ApiTestWithoutOnap {
ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.INTERNAL_SERVER_ERROR);
+
}
diff --git a/src/test/java/org/onap/nbi/test/Context.java b/src/test/java/org/onap/nbi/test/Context.java
new file mode 100644
index 0000000..bc35aa0
--- /dev/null
+++ b/src/test/java/org/onap/nbi/test/Context.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) 2018 Orange
+ *
+ * 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.
+ */
+package org.onap.nbi.test;
+
+import com.github.tomakehurst.wiremock.WireMockServer;
+import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
+import com.github.tomakehurst.wiremock.stubbing.StubMapping;
+import java.util.List;
+import org.onap.nbi.Application;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+public class Context {
+
+
+ public static ConfigurableApplicationContext nbiServer;
+
+ public static WireMockServer wireMockServer;
+
+ public static void startServers() throws Exception {
+ startWiremock();
+
+ // NBI
+ if (nbiServer == null) {
+ String[] args = new String[1];
+ args[0] = "--spring.profiles.active=test";
+ nbiServer = Application.run(args);
+ MockHttpServletRequest request = new MockHttpServletRequest();
+ RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
+ }
+
+ }
+
+ public static void startWiremock() {
+ // Wiremock
+ // If wireMockServer was previously created
+ if (wireMockServer != null) {
+ wireMockServer.stop();
+ wireMockServer.resetToDefaultMappings();
+ } else {
+ wireMockServer =
+ new WireMockServer(
+ WireMockConfiguration.wireMockConfig().port(8091).jettyStopTimeout(1000L));
+ }
+
+ wireMockServer.start();
+ }
+
+ public static void removeWireMockMapping(String mappingToBeRemoved) {
+
+ if (mappingToBeRemoved == null) {
+ return;
+ }
+
+ // Get current mappings
+ List<StubMapping> mappings = wireMockServer.listAllStubMappings().getMappings();
+
+ StubMapping mappingToDelete = null;
+ for (StubMapping mapping : mappings) {
+ if (mapping.getRequest().getUrl().equals(mappingToBeRemoved)) {
+ mappingToDelete = mapping;
+ }
+ }
+
+ if (mappingToDelete != null) {
+ wireMockServer.removeStubMapping(mappingToDelete);
+ }
+ }
+
+ public static void stopServers() throws Exception {
+
+ // NBI
+ if (nbiServer != null) { // keep spring boot side alive for all tests including package
+ // 'mock'
+ nbiServer.close();
+ }
+
+ // Wiremock
+ if (wireMockServer != null) {
+ wireMockServer.stop();
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java b/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java
new file mode 100644
index 0000000..56f2ba0
--- /dev/null
+++ b/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java
@@ -0,0 +1,548 @@
+/**
+ * Copyright (c) 2018 Orange
+ *
+ * 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.
+ */
+package org.onap.nbi.test;
+
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.github.tomakehurst.wiremock.admin.model.ListStubMappingsResult;
+import com.github.tomakehurst.wiremock.http.ResponseDefinition;
+import com.github.tomakehurst.wiremock.stubbing.StubMapping;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.nbi.apis.assertions.ServiceOrderExecutionTaskAssertions;
+import org.onap.nbi.apis.serviceorder.model.ActionType;
+import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
+import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
+import org.onap.nbi.apis.serviceorder.model.StateType;
+import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
+import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
+import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
+import org.onap.nbi.apis.serviceorder.workflow.SOTaskProcessor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+@ActiveProfiles("test")
+@DirtiesContext(classMode= ClassMode.AFTER_CLASS)
+public class ExecutionTaskTest {
+
+ @Autowired
+ ServiceOrderRepository serviceOrderRepository;
+
+ @Autowired
+ ExecutionTaskRepository executionTaskRepository;
+
+ @Autowired
+ SOTaskProcessor SoTaskProcessor;
+
+
+ static Validator validator;
+
+ @Before
+ public void before() {
+ MockHttpServletRequest request = new MockHttpServletRequest();
+ RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
+ }
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+ validator = factory.getValidator();
+ Context.startWiremock();
+ }
+
+ @AfterClass
+ public static void tearsDown() throws Exception {
+ Context.stopServers();
+
+ }
+
+ @After
+ public void tearsDownUpPort() throws Exception {
+ executionTaskRepository.deleteAll();
+ serviceOrderRepository.deleteAll();
+ Context.wireMockServer.resetToDefaultMappings();
+
+ }
+
+
+ public ExecutionTask getExecutionTask(String orderItemId) {
+ for (ExecutionTask executionTask : executionTaskRepository.findAll()) {
+ if (executionTask.getOrderItemId().equalsIgnoreCase(orderItemId)) {
+ return executionTask;
+ }
+
+ }
+ return null;
+ }
+
+ private void changeWireMockResponse(String s,int statusCode, String bodyContent) {
+ ListStubMappingsResult listStubMappingsResult = Context.wireMockServer.listAllStubMappings();
+ ResponseDefinition responseDefinition = new ResponseDefinition(statusCode,bodyContent);
+ List<StubMapping> mappings = listStubMappingsResult.getMappings();
+ for (StubMapping mapping : mappings) {
+ if (mapping.getRequest().getUrl().equals(s)) {
+ mapping.setResponse(responseDefinition);
+ }
+ }
+ }
+
+
+
+
+
+
+ @Test
+ public void testExecutionTaskSuccess() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+ ExecutionTask executionTaskB;
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+
+ executionTaskB = getExecutionTask("B");
+ assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA).isNull();
+
+ SoTaskProcessor.processOrderItem(executionTaskB);
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+
+ }
+
+ @Test
+ public void testE2EExecutionTaskSuccess() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+ ExecutionTask executionTaskB;
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+
+ executionTaskB = getExecutionTask("B");
+ assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA).isNull();
+
+ SoTaskProcessor.processOrderItem(executionTaskB);
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+
+ }
+
+ @Test
+ public void testExecutionTaskDeleteSuccess() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.DELETE);
+ ExecutionTask executionTaskB;
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+
+ executionTaskB = getExecutionTask("B");
+ assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA).isNull();
+
+ SoTaskProcessor.processOrderItem(executionTaskB);
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+
+ }
+
+ @Test
+ public void testE2EExecutionTaskDeleteSuccess() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.DELETE);
+ ExecutionTask executionTaskB;
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+
+ executionTaskB = getExecutionTask("B");
+ assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA).isNull();
+
+ SoTaskProcessor.processOrderItem(executionTaskB);
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+
+ }
+
+
+ @Test
+ public void testExecutionTaskFailed() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+
+ Context.removeWireMockMapping("/onap/so/infra/orchestrationRequests/v7/requestId");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+ executionTaskA = getExecutionTask("A");
+ Date createDate = executionTaskA.getCreateDate();
+ assertThat(executionTaskA.getLastAttemptDate().getTime()> createDate.getTime()).isTrue();
+
+ changeCreationDate(executionTaskA);
+ SoTaskProcessor.processOrderItem(executionTaskA);
+
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+ }
+
+ private void changeCreationDate(ExecutionTask executionTaskA) {
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(executionTaskA.getCreateDate());
+ cal.add(Calendar.SECOND, -30);
+ executionTaskA.setCreateDate(cal.getTime());
+ }
+
+
+ @Test
+ public void testE2EExecutionTaskFailed() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+
+ Context.removeWireMockMapping("/onap/so/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
+ changeCreationDate(executionTaskA);
+ SoTaskProcessor.processOrderItem(executionTaskA);
+
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+ }
+
+ @Test
+ public void testExecutionTaskFailedNoSoResponse() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+
+ Context.removeWireMockMapping("/onap/so/infra/serviceInstantiation/v7/serviceInstances/");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+
+
+ }
+
+ @Test
+ public void testExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+
+ Context.removeWireMockMapping("/onap/so/infra/serviceInstantiation/v7/serviceInstances/");
+ Context.removeWireMockMapping("/onap/so/infra/orchestrationRequests/v7/requestId");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+ }
+
+ @Test
+ public void testE2EExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+
+ Context.removeWireMockMapping("/onap/so/infra/e2eServiceInstances/v3");
+ Context.removeWireMockMapping("/onap/so/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+ }
+
+
+ @Test
+ public void testExecutionTaskFailedBadRequestSo() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.ADD);
+
+
+ changeWireMockResponse("/onap/so/infra/serviceInstantiation/v7/serviceInstances/",400,"\"serviceException\": {\n"
+ + " \"messageId\": \"SVC0002\",\n"
+ + " \"text\": \"Error parsing request. org.openecomp.mso.apihandler.common.ValidationException: serviceInstance already existsd\"\n"
+ + " }");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if(serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
+ assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("105");
+ assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.name");
+ }
+ }
+
+ }
+
+
+ @Test
+ public void testExecutionTaskModifySuccess() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.MODIFY);
+ ExecutionTask executionTaskB;
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+
+ executionTaskB = getExecutionTask("B");
+ assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA).isNull();
+
+ SoTaskProcessor.processOrderItem(executionTaskB);
+ SoTaskProcessor.processOrderItem(executionTaskB);
+
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+ }
+
+
+
+
+ @Test
+ public void testExecutionTaskModifyFailed() throws Exception {
+
+ ExecutionTask executionTaskA = ServiceOrderExecutionTaskAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
+ executionTaskRepository, ActionType.MODIFY);
+ ExecutionTask executionTaskB;
+ Context.removeWireMockMapping("/onap/so/infra/orchestrationRequests/v7/requestId");
+
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_REQUEST_DELETE_SEND);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
+ changeCreationDate(executionTaskA);
+ SoTaskProcessor.processOrderItem(executionTaskA);
+
+ serviceOrderChecked = serviceOrderRepository.findOne("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+ }
+
+} \ No newline at end of file
diff --git a/src/test/java/org/onap/nbi/test/KarateApiTest.java b/src/test/java/org/onap/nbi/test/KarateApiTest.java
new file mode 100644
index 0000000..e5845f3
--- /dev/null
+++ b/src/test/java/org/onap/nbi/test/KarateApiTest.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2018 Orange
+ *
+ * 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.
+ */
+package org.onap.nbi.test;
+
+import com.intuit.karate.junit4.Karate;
+import cucumber.api.CucumberOptions;
+import org.junit.AfterClass;
+import org.junit.runner.RunWith;
+
+@RunWith(Karate.class)
+@CucumberOptions(features = "src/test/resources/karatetest/features")
+public class KarateApiTest {
+
+ @AfterClass
+ public static void stop() throws Exception {
+ Context.stopServers();
+ }
+
+}
diff --git a/src/test/java/org/onap/nbi/apis/ServiceOrderRepositoryTest.java b/src/test/java/org/onap/nbi/test/ServiceOrderRepositoryTest.java
index 9c030bd..11ed493 100644
--- a/src/test/java/org/onap/nbi/apis/ServiceOrderRepositoryTest.java
+++ b/src/test/java/org/onap/nbi/test/ServiceOrderRepositoryTest.java
@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onap.nbi.apis;
+package org.onap.nbi.test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+
import java.util.List;
import org.junit.Before;
import org.junit.Test;
@@ -27,10 +28,15 @@ import org.onap.nbi.apis.serviceorder.model.StateType;
import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
+import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@DirtiesContext(classMode= ClassMode.AFTER_CLASS)
+@ActiveProfiles("test")
public class ServiceOrderRepositoryTest {
@Autowired
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
deleted file mode 100644
index bcd8fb9..0000000
--- a/src/test/resources/application.properties
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# Copyright (c) 2018 Orange
-#
-# 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.
-#
-
-nbi.version=v3
-
-# SERVER
-server.contextPath=/nbi/api/${nbi.version}
-server.port = 8080
-
-# LOGGING
-logging.level.org.onap.nbi=DEBUG
-
-# ONAP
-onap.lcpCloudRegionId=RegionOne
-onap.tenantId=31047205ce114b60833b23e400d6a535
-onap.cloudOwner=CloudOwner
-
-# NBI
-nbi.url=http://localhost:${server.port}${server.contextPath}
-nbi.callForVNF=false
-
-# SCHEDULER
-scheduler.pollingDurationInMins=0.1
-
-# SDC
-sdc.host=http://127.0.0.1:8091
-sdc.header.ecompInstanceId=Rene
-sdc.header.authorization=Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
-
-# AAI
-aai.host=http://127.0.0.1:8091
-aai.header.authorization=Basic QUFJOkFBSQ==
-aai.api.id=AAI
-aai.header.transaction.id=808b54e3-e563-4144-a1b9-e24e2ed93d4f
-
-# SO
-so.host=http://127.0.0.1:8091
-so.header.authorization=
-so.api.id=SO
-so.owning.entity.id=6b5b6b70-4e9a-4f6f-8b7b-cbd7cf990c6e
-so.owning.entity.name=OE-generic
-so.project.name=Project-generic
-
-# MSB
-msb.enabled=false
-msb.discovery.host=msb_discovery
-msb.discovery.port=10081
-msb.discovery.retry=5
-msb.discovery.retry_interval=5000
-msb.service.host=
-msb.service.name=nbi
-msb.service.custom_path=
-msb.service.protocol=REST
-msb.service.visual_range=1
-msb.service.enable_ssl=false
-
-# H2
-spring.datasource.url=jdbc:h2:mem:~/db;DB_CLOSE_ON_EXIT=false
-spring.datasource.username=sa
-spring.datasource.password=
-spring.datasource.driver-class-name=org.h2.Driver
-spring.h2.console.enabled=true
-spring.h2.console.path=/h2-console \ No newline at end of file
diff --git a/src/test/resources/karatetest/data/serviceOrder.json b/src/test/resources/karatetest/data/serviceOrder.json
new file mode 100644
index 0000000..89cc6e8
--- /dev/null
+++ b/src/test/resources/karatetest/data/serviceOrder.json
@@ -0,0 +1,1026 @@
+[
+ {
+ "id": "test",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test1",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "toto"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "toto"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test2",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test3",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": null,
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test4",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "new",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "romain"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test5",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "null",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "null",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test6",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "modify",
+ "state": "active",
+ "service": {
+ "id": "null",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "modify",
+ "state": "active",
+ "service": {
+ "id": "null",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test7",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "id": "toto",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "id": "toto",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test8",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "new",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "romain"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "test",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "test",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test9",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test10",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "no_response",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "no_response",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test11",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "noChange",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "noChange",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test12",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "noChange",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test13",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "undefined"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "undefined"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test14",
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "333"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test15",
+ "state": "acknowledged",
+ "externalId": "extid1",
+ "priority": "1",
+ "description": "toto",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": "test16",
+ "state": "acknowledged",
+ "externalId": "extid2",
+ "priority": "1",
+ "description": "toto",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "add",
+ "state": "active",
+ "service": {
+ "state": "active",
+ "serviceSpecification": {
+ "id": "1e3feeb0-8e36-46c6-862c-236d9c626439"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
+ }
+]
diff --git a/src/test/resources/karatetest/data/subscriber.json b/src/test/resources/karatetest/data/subscriber.json
new file mode 100644
index 0000000..e7c08ad
--- /dev/null
+++ b/src/test/resources/karatetest/data/subscriber.json
@@ -0,0 +1,17 @@
+[
+ {
+ "id": "id",
+ "callback": "http://localhost:8080/test",
+ "query": "eventType = ServiceOrderCreationNotification"
+ },
+ {
+ "id": "id",
+ "callback": "http://localhost/test",
+ "query": "eventType=ServiceOrderStateChangeNotification"
+ },
+ {
+ "id": "id",
+ "callback": "http://localhost/test",
+ "query": "eventType=ServiceOrderItemStateChangeNotification"
+ }
+] \ No newline at end of file
diff --git a/src/test/resources/karatetest/features/00--ServiceCatalog.feature b/src/test/resources/karatetest/features/00--ServiceCatalog.feature
new file mode 100644
index 0000000..2edd420
--- /dev/null
+++ b/src/test/resources/karatetest/features/00--ServiceCatalog.feature
@@ -0,0 +1,38 @@
+# new feature
+# Tags: optional
+
+Feature: Service Catalog
+
+Background:
+* url nbiBaseUrl
+* def Context = Java.type('org.onap.nbi.test.Context');
+* call Context.startServers();
+
+Scenario: testServiceCatalogGetResourceWithoutTosca
+Given path 'serviceSpecification','1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca'
+When method get
+Then status 206
+And match $ contains { id : '1e3feeb0-8e36-46c6-862c-236d9c626439' , name : 'vFW' , invariantUUID : 'b58a118e-eeb9-4f6e-bdca-e292f84d17df' , toscaModelURL : '/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439toto/toscaModel' , distributionStatus : 'DISTRIBUTED' , version : '2.0' , lifecycleStatus : 'CERTIFIED' , @type : 'ONAPservice' , attachment : '#array' , relatedParty : '#notnull' , resourceSpecification : '#array' }
+And match $.relatedParty contains { name : 'Joni Mitchell', role : 'lastUpdater' }
+And match $.resourceSpecification[0] contains { name : 'vFW-vSINK', resourceInstanceName : 'vFW-vSINK 0', resourceType : 'VF' , resourceInvariantUUID : '18b90934-aa82-456f-938e-e74a07a426f3' , @type : 'ONAPresource', modelCustomizationName : 'vFW-vSINK 0' }
+And match $.resourceSpecification == '#[2]'
+And match $.attachment == '#[5]'
+
+Scenario: findServiceCatalog
+Given path 'serviceSpecification'
+When method get
+Then status 200
+And assert response.length == 21
+And match $[0] contains { id : '446afaf6-79b5-420e-aff8-7551b00bb510' , name : 'FreeRadius-service' , invariantUUID : '7e4781e8-6c6e-41c5-b889-6a321d5f2490' , category : 'Network L4+' , distributionStatus : 'DISTRIBUTED' , version : '1.0' , lifecycleStatus : 'CERTIFIED' }
+And match $[0].relatedParty contains { role : 'lastUpdater' }
+
+
+
+Scenario: findServiceCatalogWithFilter
+Given path 'serviceSpecification'
+And params {fields:'name'}
+When method get
+Then status 200
+And assert response.length == 21
+And match $[0] contains { name : 'FreeRadius-service' }
+
diff --git a/src/test/resources/karatetest/features/01--ServiceInventory.feature b/src/test/resources/karatetest/features/01--ServiceInventory.feature
new file mode 100644
index 0000000..2b657be
--- /dev/null
+++ b/src/test/resources/karatetest/features/01--ServiceInventory.feature
@@ -0,0 +1,90 @@
+# new feature
+# Tags: optional
+
+Feature: Service Inventory
+
+Background:
+* url nbiBaseUrl
+* def Context = Java.type('org.onap.nbi.test.Context');
+* call Context.startServers();
+
+
+Scenario: testServiceResourceGetInventory
+Given path 'service','e4688e5f-61a0-4f8b-ae02-a2fbde623bcb'
+And params {serviceSpecification.name : 'vFW' , relatedParty.id : '6490'}
+When method get
+Then status 200
+And match $ contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01', hasStarted : 'yes', type : 'service-instance', @type : 'serviceONAP' }
+And match $.relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $.serviceSpecification contains { id : '98d95267-5e0f-4531-abf8-f14b90031dc5' , invariantUUID : '709d157b-52fb-4250-976e-7133dff5c347' , @type : 'ONAPservice' }
+And match $.supportingResource[0] contains { id : 'cb80fbb6-9aa7-4ac5-9541-e14f45de533e' , name : 'NewFreeRadius-VNF-instance-01' , status : 'PREPROV' , modelInvariantId : 'f5993703-977f-4346-a1c9-c1884f8cfd8d' , modelVersionId : '902438f7-1e4c-492d-b7cc-8650e13b8aeb' , @referredType : 'ONAP resource' }
+And match $.supportingResource == '#[2]'
+
+Scenario: testServiceResourceGetInventoryWithStatus
+Given url 'http://localhost:8080/nbi/api/v3/service/405c8c00-44b9-4303-9f27-6797d22ca096?serviceSpecification.name=AnsibleService&relatedParty.id=6490'
+When method get
+Then status 200
+And match $.state == 'Active'
+
+Scenario: testServiceResourceGetInventoryWithoutRelationShipList
+Given path 'service','e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList'
+And params {serviceSpecification.name:'vFW',relatedParty.id:'6490'}
+When method get
+Then status 200
+And match $ contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01' , hasStarted : 'yes' , type : 'service-instance' , @type : 'serviceONAP' }
+And match $.relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $.serviceSpecification contains { id : '98d95267-5e0f-4531-abf8-f14b90031dc5' , invariantUUID : '709d157b-52fb-4250-976e-7133dff5c347' , @type : 'ONAPservice' }
+And match $.supportingResource == '#[0]'
+
+Scenario: testServiceResourceGetInventoryWithServiceSpecId
+Given path 'service','e4688e5f-61a0-4f8b-ae02-a2fbde623bcb'
+And params {serviceSpecification.id:'1e3feeb0-8e36-46c6-862c-236d9c626439', relatedParty.id:'6490'}
+When method get
+Then status 200
+And match $ contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01', hasStarted : 'yes', type : 'service-instance', @type : 'serviceONAP' }
+And match $.relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $.serviceSpecification contains { id : '98d95267-5e0f-4531-abf8-f14b90031dc5' , invariantUUID : '709d157b-52fb-4250-976e-7133dff5c347' , @type : 'ONAPservice' }
+And match $.supportingResource[0] contains { id : 'cb80fbb6-9aa7-4ac5-9541-e14f45de533e' , name : 'NewFreeRadius-VNF-instance-01' , status : 'PREPROV' , modelInvariantId : 'f5993703-977f-4346-a1c9-c1884f8cfd8d' , modelVersionId : '902438f7-1e4c-492d-b7cc-8650e13b8aeb' , @referredType : 'ONAP resource' }
+And match $.supportingResource == '#[2]'
+
+
+Scenario: testServiceInventoryFind
+Given path 'service'
+And params {serviceSpecification.name : 'vFW' , relatedParty.id : '6490' }
+When method get
+Then status 200
+And match $ == '#[1]'
+And match $[0] contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01' }
+And match $[0].relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $[0].serviceSpecification contains { name : 'vFW' , id : '98d95267-5e0f-4531-abf8-f14b90031dc5' }
+
+Scenario: testServiceInventoryFindWithServiceSpecId
+Given path 'service'
+And params {serviceSpecification.id : '1e3feeb0-8e36-46c6-862c-236d9c626439' , relatedParty.id : '6490'}
+When method get
+Then status 200
+And match $ == '#[1]'
+And match $[0] contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01' }
+And match $[0].relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $[0].serviceSpecification contains { name : 'vFW' , id : '98d95267-5e0f-4531-abf8-f14b90031dc5' }
+
+Scenario: testServiceInventoryFindWithoutParameter
+Given path 'service'
+And params {relatedParty.id:'6490'}
+When method get
+Then status 200
+And match $ == '#[2]'
+And match $[0] contains { id : 'vfw-service-id' , name : 'vfw-service-name' }
+And match $[0].relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $[0].serviceSpecification contains { name : 'vFW-service-2VF-based' , id : '9vfw-service-modek-version-id' }
+And match $[1] contains { id : 'e4688e5f-61a0-4f8b-ae02-a2fbde623bcb' , name : 'NewFreeRadius-service-instance-01' }
+And match $[1].relatedParty contains { role : 'ONAPcustomer' , id : '6490' }
+And match $[1].serviceSpecification contains { name : 'vFW' , id : '98d95267-5e0f-4531-abf8-f14b90031dc5' }
+
+
+
+
+
+
+
+
diff --git a/src/test/resources/karatetest/features/02--ServiceOrder.feature b/src/test/resources/karatetest/features/02--ServiceOrder.feature
new file mode 100644
index 0000000..6e4b804
--- /dev/null
+++ b/src/test/resources/karatetest/features/02--ServiceOrder.feature
@@ -0,0 +1,398 @@
+# new feature
+# Tags: optional
+
+Feature: Service order
+
+Background:
+* url nbiBaseUrl
+* def Context = Java.type('org.onap.nbi.test.Context');
+* call Context.startServers();
+* def data = read('../data/serviceOrder.json')
+* def sleep = function(){java.lang.Thread.sleep(5000)}
+
+
+Scenario: testCreateServiceOrderResource
+Given path 'serviceOrder'
+And request data[0]
+When method post
+Then status 201
+And match $.id contains '#notnull'
+And match $.state == 'acknowledged'
+Given path 'serviceOrder','test'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrder
+Given path 'serviceOrder'
+And request data[0]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test'
+And request $
+When method put
+Then status 201
+And match $.id == 'test'
+And match $.state == 'acknowledged'
+Given path 'serviceOrder','test'
+When method get
+Then status 200
+Given path 'serviceOrder','test'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderWithUnknownSverviceSpecId
+Given path 'serviceOrder'
+And request data[1]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test1'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].orderItemMessage == '#[1]'
+And match $.orderItem[0].orderItemMessage[0] contains { code : '102' , field : 'serviceSpecification.id' }
+Given path 'serviceOrder','test1'
+When method get
+Then status 200
+Given path 'serviceOrder','test1'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderWithGenericCustomer
+Given path 'serviceOrder'
+And request data[2]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test2'
+And request $
+When method put
+Then status 201
+And match $.state == 'acknowledged'
+Given path 'serviceOrder','test2'
+When method get
+Then status 200
+Given path 'serviceOrder','test2'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderWithoutRelatedParty
+Given path 'serviceOrder'
+And request data[3]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test3'
+And request $
+When method put
+Then status 201
+And match $.state == 'acknowledged'
+Given path 'serviceOrder','test3'
+When method get
+Then status 200
+Given path 'serviceOrder','test3'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderWithUnKnownCustomer
+Given path 'serviceOrder'
+And request data[4]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test4'
+And request $
+When method put
+Then status 201
+And match $.state == 'acknowledged'
+Given path 'serviceOrder','test4'
+When method get
+Then status 200
+Given path 'serviceOrder','test4'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderInDeleteWithNoServiceId
+Given path 'serviceOrder'
+And request data[5]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test5'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].orderItemMessage == '#[1]'
+And match $.orderItem[0].orderItemMessage[0] contains { code : '106' , field : 'service.id' }
+Given path 'serviceOrder','test5'
+When method get
+Then status 200
+Given url 'http://localhost:8080/nbi/api/v3/serviceOrder/test5'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderInModifyWithNoServiceId
+Given path 'serviceOrder'
+And request data[6]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test6'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].orderItemMessage == '#[1]'
+And match $.orderItem[0].orderItemMessage[0] contains { code : '106' , field : 'service.id' }
+Given path 'serviceOrder','test6'
+When method get
+Then status 200
+Given path 'serviceOrder','test6'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderInAddWithServiceId
+Given path 'serviceOrder'
+And request data[7]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test7'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].orderItemMessage == '#[1]'
+And match $.orderItem[0].orderItemMessage[0] contains { code : '103' , field : 'service.id' }
+Given path 'serviceOrder','test7'
+When method get
+Then status 200
+Given path 'serviceOrder','test7'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderWithUnKnownCustomerInChange
+Given path 'serviceOrder'
+And request data[8]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test8'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderMessage == '#[1]'
+And match $.orderMessage[0] contains { code : '104' , field : 'relatedParty.id' }
+Given path 'serviceOrder','test8'
+When method get
+Then status 200
+Given path 'serviceOrder','test8'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderDelete
+Given path 'serviceOrder'
+And request data[9]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test9'
+And request $
+When method put
+Then status 201
+And match $.state == 'acknowledged'
+Given path 'serviceOrder','test9'
+When method get
+Then status 200
+Given path 'serviceOrder','test9'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderDeleteRejected
+Given path 'serviceOrder'
+And request data[10]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test10'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].orderItemMessage == '#[1]'
+And match $.orderItem[0].orderItemMessage[0] contains { code : '106' , field : 'service.id' }
+Given path 'serviceOrder','test10'
+When method get
+Then status 200
+Given path 'serviceOrder','test10'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderNoChange
+Given path 'serviceOrder'
+And request data[11]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test11'
+And request $
+When method put
+Then status 201
+And match $.state == 'completed'
+And match $.orderItem[0].state == 'completed'
+And match $.orderItem[1].state == 'completed'
+Given path 'serviceOrder','test11'
+When method get
+Then status 200
+Given path 'serviceOrder','test11'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderNoChangeAndDelete
+Given path 'serviceOrder'
+And request data[12]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test12'
+And request $
+When method put
+Then status 201
+And match $.state == 'acknowledged'
+And match $.orderItem[0].state == 'completed'
+Given path 'serviceOrder','test12'
+When method get
+Then status 200
+Given path 'serviceOrder','test12'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderDeleteWithKoServiceSpecId
+Given path 'serviceOrder'
+And request data[13]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test13'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].state == 'rejected'
+Given path 'serviceOrder','test13'
+When method get
+Then status 200
+Given path 'serviceOrder','test13'
+When method delete
+Then status 204
+
+Scenario: testCheckServiceOrderRejected
+Given path 'serviceOrder'
+And request data[14]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test14'
+And request $
+When method put
+Then status 201
+And match $.state == 'rejected'
+And match $.orderItem[0].orderItemMessage == '#[1]'
+And match $.orderItem[0].orderItemMessage[0] contains { code : '102' , field : 'serviceSpecification.id' }
+Given path 'serviceOrder','test14'
+When method get
+Then status 200
+Given path 'serviceOrder','test14'
+When method delete
+Then status 204
+
+
+Scenario: testFindAndGetServiceOrder
+Given path 'serviceOrder'
+And request data[15]
+When method post
+Then status 201
+Given path 'serviceOrder'
+And request data[16]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test15'
+And request $
+When method put
+Then status 201
+Given path 'serviceOrder','test','test16'
+And request $
+When method put
+Then status 201
+Given path 'serviceOrder'
+And params {fields : 'id'}
+When method get
+Then status 200
+And match $ == '#[2]'
+Given path 'serviceOrder'
+And params {externalId : 'extid1' , state : 'acknowledged'}
+When method get
+Then status 200
+And match $ == '#[1]'
+Given path 'serviceOrder','test15'
+When method get
+Then status 200
+And match $ contains '#notnull'
+Given path 'serviceOrder','test15'
+When method delete
+Then status 204
+Given path 'serviceOrder','test16'
+When method delete
+Then status 204
+
+
+Scenario: testCheckServiceOrderWithCustomerAAINotResponding
+* call Context.removeWireMockMapping("/aai/v11/business/customers/customer/new");
+Given path 'serviceOrder'
+And request data[4]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test4'
+And request $
+When method put
+Then status 201
+And match $.id == 'test4'
+And match $.state == 'rejected'
+And match $.orderItem == '#[2]'
+And match $.orderMessage[0] contains { code : '501' , messageInformation : 'Problem with AAI API' }
+Given path 'serviceOrder','test4'
+When method get
+Then status 200
+* call Context.startServers();
+
+
+Scenario: testAAIPutServiceNotResponding
+* call Context.removeWireMockMapping("/aai/v11/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
+Given path 'serviceOrder'
+And request data[4]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test4'
+And request $
+When method put
+Then status 201
+And match $.id == 'test4'
+And match $.state == 'rejected'
+Given path 'serviceOrder','test4'
+When method get
+Then status 200
+* call Context.startServers();
+
+Scenario: testCheckServiceOrderWithSDCNotResponding
+* call Context.removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
+Given path 'serviceOrder'
+And request data[4]
+When method post
+Then status 201
+Given path 'serviceOrder','test','test4'
+And request $
+When method put
+Then status 201
+And match $.id == 'test4'
+And match $.state == 'rejected'
+And match $.orderItem[0].orderMessage[0] contains { code : '102' , field : 'serviceSpecification.id' }
+Given path 'serviceOrder','test4'
+When method get
+Then status 200
+* call Context.startServers(); \ No newline at end of file
diff --git a/src/test/resources/karatetest/features/03--Subscriber.feature b/src/test/resources/karatetest/features/03--Subscriber.feature
new file mode 100644
index 0000000..851ac73
--- /dev/null
+++ b/src/test/resources/karatetest/features/03--Subscriber.feature
@@ -0,0 +1,66 @@
+# new feature
+# Tags: optional
+
+Feature: Subscriber
+
+Background:
+* url nbiBaseUrl
+* def Context = Java.type('org.onap.nbi.test.Context');
+* call Context.startServers();
+* def data = read('../data/subscriber.json')
+
+Scenario: testFindWhenNoSubscriber
+Given path 'hub'
+When method get
+Then status 200
+And match $ == '#[0]'
+
+Scenario: testCreationAndFindSubscriber
+Given path 'hub'
+And request data[0]
+When method post
+Then status 201
+Given url 'http://localhost:8080/nbi/api/v3/hub/'
+When method get
+And match $ == '#[1]'
+
+Scenario: testGetByIdSubscriber
+Given path 'hub'
+When method get
+And def Id = $[0].id
+Given path 'hub',Id
+When method get
+And match $ contains { callback : 'http://localhost:8080/test' , query : 'eventType=ServiceOrderCreationNotification' }
+
+Scenario: testFindSubscriber
+Given path 'hub'
+And request data[1]
+When method post
+Then status 201
+Given path 'hub'
+And request data[2]
+When method post
+Then status 201
+Given path 'hub'
+When method get
+Then status 200
+And match $ == '#notnull'
+
+Scenario: testFindWithFilteringSubscriber
+Given path 'hub'
+And params { query.eventType : 'ServiceOrderCreationNotification' }
+When method get
+Then status 200
+And match $ == '#[1]'
+
+Scenario: testSubscriberDeletion
+Given path 'hub'
+And request { id : 'id', callback : 'http://localhost:8080/test' , query : 'eventType = ServiceOrderCreationNotification' }
+When method post
+Then status 201
+Given path 'hub'
+When method get
+And def Id = $[0].id
+Given path 'hub',Id
+When method delete
+Then status 204
diff --git a/src/test/resources/karatetest/features/04--StatusRessourceTest.feature b/src/test/resources/karatetest/features/04--StatusRessourceTest.feature
new file mode 100644
index 0000000..f616e90
--- /dev/null
+++ b/src/test/resources/karatetest/features/04--StatusRessourceTest.feature
@@ -0,0 +1,17 @@
+# new feature
+# Tags: optional
+
+Feature: Status Resource
+
+Background:
+* url nbiBaseUrl
+* def Context = Java.type('org.onap.nbi.test.Context');
+* call Context.startServers();
+
+Scenario: testHealthCheck
+
+Given path 'status'
+When method get
+Then status 200
+And match response.status == 'ok'
+And match response.name == 'nbi' \ No newline at end of file
diff --git a/src/test/resources/toscafile/service-Sdwanvpninfraservice-csar.csar b/src/test/resources/toscafile/service-Sdwanvpninfraservice-csar.csar
index 52bdfe2..e69de29 100644
--- a/src/test/resources/toscafile/service-Sdwanvpninfraservice-csar.csar
+++ b/src/test/resources/toscafile/service-Sdwanvpninfraservice-csar.csar
Binary files differ
diff --git a/src/test/resources/toscafile/service-Sotnvpninfraservice-csar.csar b/src/test/resources/toscafile/service-Sotnvpninfraservice-csar.csar
index b4f9693..e69de29 100644
--- a/src/test/resources/toscafile/service-Sotnvpninfraservice-csar.csar
+++ b/src/test/resources/toscafile/service-Sotnvpninfraservice-csar.csar
Binary files differ
diff --git a/src/test/resources/toscafile/service-TestNetwork-template.yml b/src/test/resources/toscafile/service-TestNetwork-template.yml
index 0a62221..0a62221 100755..100644
--- a/src/test/resources/toscafile/service-TestNetwork-template.yml
+++ b/src/test/resources/toscafile/service-TestNetwork-template.yml
diff --git a/src/test/resources/toscafile/service-VfwService2vfBased-template.yml b/src/test/resources/toscafile/service-VfwService2vfBased-template.yml
index b96b139..e594725 100644
--- a/src/test/resources/toscafile/service-VfwService2vfBased-template.yml
+++ b/src/test/resources/toscafile/service-VfwService2vfBased-template.yml
@@ -28,34 +28,34 @@ metadata:
ecompGeneratedNaming: true
namingPolicy: ''
imports:
-- nodes:
- file: nodes.yml
-- datatypes:
- file: data.yml
-- capabilities:
- file: capabilities.yml
-- relationships:
- file: relationships.yml
-- groups:
- file: groups.yml
-- policies:
- file: policies.yml
-- service-vFW-service-2VF-based-interface:
- file: service-VfwService2vfBased-template-interface.yml
-- resource-vFW-vSINK:
- file: resource-VfwVsink-template.yml
-- resource-vFW-vSINK-interface:
- file: resource-VfwVsink-template-interface.yml
-- resource-vPkG:
- file: resource-Vpkg-template.yml
-- resource-vPkG-interface:
- file: resource-Vpkg-template-interface.yml
+ - nodes:
+ file: nodes.yml
+ - datatypes:
+ file: data.yml
+ - capabilities:
+ file: capabilities.yml
+ - relationships:
+ file: relationships.yml
+ - groups:
+ file: groups.yml
+ - policies:
+ file: policies.yml
+ - service-vFW-service-2VF-based-interface:
+ file: service-VfwService2vfBased-template-interface.yml
+ - resource-vFW-vSINK:
+ file: resource-VfwVsink-template.yml
+ - resource-vFW-vSINK-interface:
+ file: resource-VfwVsink-template-interface.yml
+ - resource-vPkG:
+ file: resource-Vpkg-template.yml
+ - resource-vPkG-interface:
+ file: resource-Vpkg-template-interface.yml
topology_template:
inputs:
fortigate_image_url:
type: string
required: false
- default:
+ default:
flavor:
type: string
default: '2z'
@@ -68,8 +68,8 @@ topology_template:
description: Number of CPUs for the server.
default: 2
entry_schema:
- - constraints:
- - valid_values: [ 1, 2, 4, 8 ]
+ - constraints:
+ - valid_values: [ 1, 2, 4, 8 ]
node_templates:
vPkG 0:
type: org.openecomp.resource.vf.Vpkg
@@ -1171,7 +1171,7 @@ topology_template:
vf_module_label: base_vpkg
max_vf_module_instances: 1
vfc_list:
- vf_module_type: Base
+ vf_module_type: KarateBase
vf_module_description:
initial_count: 1
volume_group: false
@@ -1189,7 +1189,7 @@ topology_template:
vf_module_label: base_vfw
max_vf_module_instances: 1
vfc_list:
- vf_module_type: Base
+ vf_module_type: KarateBase
vf_module_description:
initial_count: 1
volume_group: false
@@ -1198,693 +1198,693 @@ topology_template:
node_type: org.openecomp.service.VfwService2vfBased
capabilities:
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_0_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.incoming.bytes.rate_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.incoming.bytes.rate_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.incoming.bytes.rate_vpg_vpg_private_0_port
vfwvsink0.vfw.abstract_vfw.disk.device.write.bytes.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.write.bytes.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.write.bytes.rate_vfw
vpkg0.vpg.abstract_vpg.host_vpg:
- - vpkg0
- - vpg.abstract_vpg.host_vpg
+ - vpkg0
+ - vpg.abstract_vpg.host_vpg
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.outgoing.bytes_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.outgoing.bytes_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.outgoing.bytes_vpg_vpg_private_0_port
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.outgoing.bytes.rate_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.outgoing.bytes.rate_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.outgoing.bytes.rate_vpg_vpg_private_1_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.attachment_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.attachment_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.attachment_vfw_vfw_private_1_port
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.incoming.packets.rate_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.incoming.packets.rate_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.incoming.packets.rate_vsn_vsn_private_0_port
vfwvsink0.vfw.abstract_vfw.disk.read.bytes.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.read.bytes.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.read.bytes.rate_vfw
vfwvsink0.vfw.abstract_vfw.disk.iops_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.iops_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.iops_vfw
vpkg0.vpg_vpg_private_1_port.abstract_vpg.feature_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.feature_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.feature_vpg_vpg_private_1_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_1_port
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.binding_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.binding_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.binding_vsn_vsn_private_0_port
vpkg0.vpg.abstract_vpg.disk.device.read.requests.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.read.requests.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.read.requests.rate_vpg
vfwvsink0.vsn.abstract_vsn.memory.resident_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.memory.resident_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.memory.resident_vsn
vpkg0.vpg.abstract_vpg.disk.write.requests.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.write.requests.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.write.requests.rate_vpg
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_1_port
vfwvsink0.vsn.abstract_vsn.disk.write.bytes.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.write.bytes.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.write.bytes.rate_vsn
vfwvsink0.vfw.abstract_vfw.instance_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.instance_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.instance_vfw
vfwvsink0.vfw.abstract_vfw.disk.write.requests.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.write.requests.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.write.requests.rate_vfw
vfwvsink0.vfw.abstract_vfw.binding_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.binding_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.binding_vfw
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_0_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.incoming.bytes_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.incoming.bytes_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.incoming.bytes_vpg_vpg_private_0_port
vfwvsink0.unprotected_private_network.feature:
- - vfwvsink0
- - unprotected_private_network.feature
+ - vfwvsink0
+ - unprotected_private_network.feature
vpkg0.vpg.abstract_vpg.disk.read.bytes.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.read.bytes.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.read.bytes.rate_vpg
vpkg0.vpg_vpg_private_1_port.abstract_vpg.binding_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.binding_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.binding_vpg_vpg_private_1_port
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.incoming.packets_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.incoming.packets_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.incoming.packets_vsn_vsn_private_1_port
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.outgoing.packets.rate_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.outgoing.packets.rate_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.outgoing.packets.rate_vpg_vpg_private_1_port
vfwvsink0.vfw.abstract_vfw.disk.device.read.requests_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.read.requests_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.read.requests_vfw
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_1_port
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.outgoing.bytes_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.outgoing.bytes_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.outgoing.bytes_vsn_vsn_private_1_port
vfwvsink0.vsn.abstract_vsn.cpu_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.cpu_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.cpu_vsn
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.attachment_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.attachment_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.attachment_vsn_vsn_private_1_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.binding_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.binding_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.binding_vfw_vfw_private_2_port
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.outgoing.bytes.rate_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.outgoing.bytes.rate_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.outgoing.bytes.rate_vsn_vsn_private_0_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.feature_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.feature_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.feature_vfw_vfw_private_1_port
vfwvsink0.vfw.abstract_vfw.disk.usage_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.usage_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.usage_vfw
vpkg0.vpg.abstract_vpg.vcpus_vpg:
- - vpkg0
- - vpg.abstract_vpg.vcpus_vpg
+ - vpkg0
+ - vpg.abstract_vpg.vcpus_vpg
vfwvsink0.vfw.abstract_vfw.disk.device.allocation_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.allocation_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.allocation_vfw
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.attachment_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.attachment_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.attachment_vsn_vsn_private_0_port
vfwvsink0.vsn.abstract_vsn.memory_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.memory_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.memory_vsn
vfwvsink0.vfw.abstract_vfw.os_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.os_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.os_vfw
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.feature_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.feature_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.feature_vsn_vsn_private_0_port
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.outpoing.packets_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.outpoing.packets_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.outpoing.packets_vpg_vpg_private_1_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.binding_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.binding_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.binding_vfw_vfw_private_1_port
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.incoming.packets.rate_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.incoming.packets.rate_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.incoming.packets.rate_vsn_vsn_private_1_port
vfwvsink0.vfw.abstract_vfw.disk.device.write.requests_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.write.requests_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.write.requests_vfw
vpkg0.vpg.abstract_vpg.cpu_vpg:
- - vpkg0
- - vpg.abstract_vpg.cpu_vpg
+ - vpkg0
+ - vpg.abstract_vpg.cpu_vpg
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.outgoing.packets.rate_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.outgoing.packets.rate_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.outgoing.packets.rate_vsn_vsn_private_1_port
vfwvsink0.vsn.abstract_vsn.disk.device.write.bytes_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.write.bytes_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.write.bytes_vsn
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.feature_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.feature_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.feature_vfw_vfw_private_2_port
vfwvsink0.vsn.abstract_vsn.host_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.host_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.host_vsn
vpkg0.vpg_vpg_private_1_port.abstract_vpg.attachment_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.attachment_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.attachment_vpg_vpg_private_1_port
vfwvsink0.vfw.abstract_vfw.disk.device.write.bytes_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.write.bytes_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.write.bytes_vfw
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_2_port
vfwvsink0.vfw.abstract_vfw.memory.resident_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.memory.resident_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.memory.resident_vfw
vfwvsink0.vsn.abstract_vsn.vcpus_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.vcpus_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.vcpus_vsn
vfwvsink0.vfw.abstract_vfw.disk.read.requests_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.read.requests_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.read.requests_vfw
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.incoming.packets_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.incoming.packets_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.incoming.packets_vpg_vpg_private_1_port
vfwvsink0.unprotected_private_network.link:
- - vfwvsink0
- - unprotected_private_network.link
+ - vfwvsink0
+ - unprotected_private_network.link
vpkg0.vpg.abstract_vpg.disk.device.latency_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.latency_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.latency_vpg
vfwvsink0.vfw.abstract_vfw.disk.write.requests_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.write.requests_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.write.requests_vfw
vfwvsink0.vsn.abstract_vsn.disk.capacity_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.capacity_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.capacity_vsn
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_2_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_2_port
vfwvsink0.vsn.abstract_vsn.scalable_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.scalable_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.scalable_vsn
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.incoming.bytes_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.incoming.bytes_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.incoming.bytes_vsn_vsn_private_1_port
vfwvsink0.vfw.abstract_vfw.disk.write.bytes_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.write.bytes_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.write.bytes_vfw
vfwvsink0.vfw.abstract_vfw.disk.device.read.bytes.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.read.bytes.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.read.bytes.rate_vfw
vpkg0.vpg.abstract_vpg.disk.write.bytes_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.write.bytes_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.write.bytes_vpg
vpkg0.vpg.abstract_vpg.disk.device.write.bytes.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.write.bytes.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.write.bytes.rate_vpg
vpkg0.vpg.abstract_vpg.memory.usage_vpg:
- - vpkg0
- - vpg.abstract_vpg.memory.usage_vpg
+ - vpkg0
+ - vpg.abstract_vpg.memory.usage_vpg
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.outpoing.packets_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.outpoing.packets_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.outpoing.packets_vsn_vsn_private_1_port
vfwvsink0.vsn.abstract_vsn.memory.usage_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.memory.usage_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.memory.usage_vsn
vfwvsink0.vsn.abstract_vsn.disk.device.read.bytes.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.read.bytes.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.read.bytes.rate_vsn
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.incoming.bytes_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.incoming.bytes_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.incoming.bytes_vsn_vsn_private_0_port
vfwvsink0.vfw.abstract_vfw.disk.ephemeral.size_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.ephemeral.size_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.ephemeral.size_vfw
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.attachment_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.attachment_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.attachment_vfw_vfw_private_0_port
vfwvsink0.vsn.abstract_vsn.binding_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.binding_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.binding_vsn
vfwvsink0.vfw.abstract_vfw.cpu.delta_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.cpu.delta_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.cpu.delta_vfw
vfwvsink0.vsn.abstract_vsn.disk.read.bytes.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.read.bytes.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.read.bytes.rate_vsn
vfwvsink0.vfw.abstract_vfw.disk.latency_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.latency_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.latency_vfw
vfwvsink0.vsn.abstract_vsn.disk.device.latency_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.latency_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.latency_vsn
vfwvsink0.vsn.abstract_vsn.disk.latency_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.latency_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.latency_vsn
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.outgoing.packets.rate_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.outgoing.packets.rate_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.outgoing.packets.rate_vpg_vpg_private_0_port
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.incoming.packets.rate_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.incoming.packets.rate_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.incoming.packets.rate_vpg_vpg_private_1_port
vfwvsink0.vsn.abstract_vsn.instance_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.instance_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.instance_vsn
vfwvsink0.vsn.abstract_vsn.disk.device.allocation_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.allocation_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.allocation_vsn
vpkg0.vpg.abstract_vpg.disk.allocation_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.allocation_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.allocation_vpg
vfwvsink0.vsn.abstract_vsn.disk.read.bytes_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.read.bytes_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.read.bytes_vsn
vpkg0.vpg.abstract_vpg.disk.device.write.requests_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.write.requests_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.write.requests_vpg
vpkg0.vpg.abstract_vpg.disk.device.write.requests.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.write.requests.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.write.requests.rate_vpg
vpkg0.vpg.abstract_vpg.disk.device.read.bytes_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.read.bytes_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.read.bytes_vpg
vpkg0.vpg.abstract_vpg.disk.device.read.requests_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.read.requests_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.read.requests_vpg
vfwvsink0.vsn.abstract_vsn.cpu_util_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.cpu_util_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.cpu_util_vsn
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.incoming.packets_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.incoming.packets_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.incoming.packets_vpg_vpg_private_0_port
vpkg0.vpg.abstract_vpg.disk.device.read.bytes.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.read.bytes.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.read.bytes.rate_vpg
vfwvsink0.vfw.abstract_vfw.disk.read.bytes_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.read.bytes_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.read.bytes_vfw
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.outgoing.packets.rate_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.outgoing.packets.rate_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.outgoing.packets.rate_vsn_vsn_private_0_port
vpkg0.vpg.abstract_vpg.disk.read.requests_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.read.requests_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.read.requests_vpg
vpkg0.vpg.abstract_vpg.disk.root.size_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.root.size_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.root.size_vpg
vfwvsink0.vfw.abstract_vfw.disk.device.write.requests.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.write.requests.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.write.requests.rate_vfw
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_0_port
vfwvsink0.vfw.abstract_vfw.cpu_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.cpu_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.cpu_vfw
vpkg0.vpg.abstract_vpg.cpu_util_vpg:
- - vpkg0
- - vpg.abstract_vpg.cpu_util_vpg
+ - vpkg0
+ - vpg.abstract_vpg.cpu_util_vpg
vfwvsink0.vfw.abstract_vfw.disk.write.bytes.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.write.bytes.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.write.bytes.rate_vfw
vfwvsink0.vsn.abstract_vsn.disk.ephemeral.size_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.ephemeral.size_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.ephemeral.size_vsn
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.outgoing.bytes_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.outgoing.bytes_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.outgoing.bytes_vsn_vsn_private_0_port
vfwvsink0.vsn.abstract_vsn.disk.root.size_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.root.size_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.root.size_vsn
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.binding_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.binding_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.binding_vfw_vfw_private_0_port
vpkg0.vpg.abstract_vpg.scalable_vpg:
- - vpkg0
- - vpg.abstract_vpg.scalable_vpg
+ - vpkg0
+ - vpg.abstract_vpg.scalable_vpg
vpkg0.vpg.abstract_vpg.disk.usage_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.usage_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.usage_vpg
vfwvsink0.unprotected_private_network.end_point:
- - vfwvsink0
- - unprotected_private_network.end_point
+ - vfwvsink0
+ - unprotected_private_network.end_point
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.incoming.bytes.rate_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.incoming.bytes.rate_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.incoming.bytes.rate_vsn_vsn_private_1_port
vfwvsink0.vfw.abstract_vfw.vcpus_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.vcpus_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.vcpus_vfw
vfwvsink0.vfw.abstract_vfw.disk.device.read.requests.rate_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.read.requests.rate_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.read.requests.rate_vfw
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.outpoing.packets_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.outpoing.packets_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.outpoing.packets_vsn_vsn_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.attachment_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.attachment_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.attachment_vfw_vfw_private_2_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.binding_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.binding_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.binding_vpg_vpg_private_0_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_1_port
vpkg0.vpg.abstract_vpg.disk.write.bytes.rate_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.write.bytes.rate_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.write.bytes.rate_vpg
vfwvsink0.protected_private_network.feature:
- - vfwvsink0
- - protected_private_network.feature
+ - vfwvsink0
+ - protected_private_network.feature
vpkg0.vpg.abstract_vpg.disk.capacity_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.capacity_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.capacity_vpg
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.outgoing.bytes_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.outgoing.bytes_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.outgoing.bytes_vpg_vpg_private_1_port
vfwvsink0.protected_private_network.attachment:
- - vfwvsink0
- - protected_private_network.attachment
+ - vfwvsink0
+ - protected_private_network.attachment
vfwvsink0.vfw.abstract_vfw.disk.device.read.bytes_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.read.bytes_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.read.bytes_vfw
vfwvsink0.vfw.abstract_vfw.disk.capacity_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.capacity_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.capacity_vfw
vfwvsink0.vsn.abstract_vsn.disk.write.bytes_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.write.bytes_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.write.bytes_vsn
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.feature_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.feature_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.feature_vfw_vfw_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.outgoing.bytes.rate_vfw_vfw_private_2_port
vfwvsink0.vfw.abstract_vfw.memory.usage_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.memory.usage_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.memory.usage_vfw
vfwvsink0.vfw.abstract_vfw.disk.root.size_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.root.size_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.root.size_vfw
vfwvsink0.vsn.abstract_vsn.feature_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.feature_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.feature_vsn
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_2_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.incoming.bytes.rate_vfw_vfw_private_1_port
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.feature_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.feature_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.feature_vsn_vsn_private_1_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.incoming.packets_vfw_vfw_private_1_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.incoming.packets.rate_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.incoming.packets.rate_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.incoming.packets.rate_vpg_vpg_private_0_port
vfwvsink0.vfw.abstract_vfw.disk.device.iops_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.iops_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.iops_vfw
vpkg0.vpg.abstract_vpg.disk.device.iops_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.iops_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.iops_vpg
vpkg0.vpg.abstract_vpg.endpoint_vpg:
- - vpkg0
- - vpg.abstract_vpg.endpoint_vpg
+ - vpkg0
+ - vpg.abstract_vpg.endpoint_vpg
vfwvsink0.vsn.abstract_vsn.disk.device.write.requests_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.write.requests_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.write.requests_vsn
vfwvsink0.vsn.abstract_vsn.disk.read.requests_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.read.requests_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.read.requests_vsn
vfwvsink0.vsn.abstract_vsn.endpoint_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.endpoint_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.endpoint_vsn
vfwvsink0.vfw.abstract_vfw.cpu_util_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.cpu_util_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.cpu_util_vfw
vpkg0.vpg.abstract_vpg.os_vpg:
- - vpkg0
- - vpg.abstract_vpg.os_vpg
+ - vpkg0
+ - vpg.abstract_vpg.os_vpg
vfwvsink0.vsn.abstract_vsn.disk.device.usage_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.usage_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.usage_vsn
vfwvsink0.unprotected_private_network.attachment:
- - vfwvsink0
- - unprotected_private_network.attachment
+ - vfwvsink0
+ - unprotected_private_network.attachment
vpkg0.vpg.abstract_vpg.disk.device.usage_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.usage_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.usage_vpg
vfwvsink0.vfw.abstract_vfw.memory_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.memory_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.memory_vfw
vpkg0.vpg.abstract_vpg.disk.latency_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.latency_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.latency_vpg
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.outgoing.bytes_vfw_vfw_private_2_port
vfwvsink0.vsn.abstract_vsn.disk.device.read.requests_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.read.requests_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.read.requests_vsn
vfwvsink0.vsn.abstract_vsn.disk.write.requests.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.write.requests.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.write.requests.rate_vsn
vfwvsink0.vsn.abstract_vsn.disk.device.capacity_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.capacity_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.capacity_vsn
vpkg0.vpg.abstract_vpg.disk.ephemeral.size_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.ephemeral.size_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.ephemeral.size_vpg
vpkg0.vpg.abstract_vpg.disk.iops_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.iops_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.iops_vpg
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.incoming.bytes_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.incoming.bytes_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.incoming.bytes_vpg_vpg_private_1_port
vpkg0.vpg_vpg_private_1_port.abstract_vpg.network.incoming.bytes.rate_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.network.incoming.bytes.rate_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.network.incoming.bytes.rate_vpg_vpg_private_1_port
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.incoming.packets_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.incoming.packets_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.incoming.packets_vsn_vsn_private_0_port
vpkg0.vpg.abstract_vpg.feature_vpg:
- - vpkg0
- - vpg.abstract_vpg.feature_vpg
+ - vpkg0
+ - vpg.abstract_vpg.feature_vpg
vpkg0.vpg.abstract_vpg.instance_vpg:
- - vpkg0
- - vpg.abstract_vpg.instance_vpg
+ - vpkg0
+ - vpg.abstract_vpg.instance_vpg
vfwvsink0.protected_private_network.end_point:
- - vfwvsink0
- - protected_private_network.end_point
+ - vfwvsink0
+ - protected_private_network.end_point
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.network.incoming.bytes.rate_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.network.incoming.bytes.rate_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.network.incoming.bytes.rate_vsn_vsn_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_2_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.feature_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.feature_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.feature_vpg_vpg_private_0_port
vfwvsink0.vfw.abstract_vfw.host_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.host_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.host_vfw
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.binding_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.binding_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.binding_vsn_vsn_private_1_port
vpkg0.vpg.abstract_vpg.disk.device.capacity_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.capacity_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.capacity_vpg
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.network.outgoing.bytes.rate_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.network.outgoing.bytes.rate_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.network.outgoing.bytes.rate_vsn_vsn_private_1_port
vfwvsink0.vsn.abstract_vsn.disk.device.write.requests.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.write.requests.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.write.requests.rate_vsn
vfwvsink0.vsn.abstract_vsn.disk.device.write.bytes.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.write.bytes.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.write.bytes.rate_vsn
vpkg0.vpg.abstract_vpg.disk.write.requests_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.write.requests_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.write.requests_vpg
vfwvsink0.vsn.abstract_vsn.disk.allocation_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.allocation_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.allocation_vsn
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_1_port
vpkg0.vpg.abstract_vpg.cpu.delta_vpg:
- - vpkg0
- - vpg.abstract_vpg.cpu.delta_vpg
+ - vpkg0
+ - vpg.abstract_vpg.cpu.delta_vpg
vfwvsink0.vfw.abstract_vfw.disk.device.latency_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.latency_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.latency_vfw
vfwvsink0.vsn.abstract_vsn.disk.device.read.requests.rate_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.read.requests.rate_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.read.requests.rate_vsn
vpkg0.vpg.abstract_vpg.memory_vpg:
- - vpkg0
- - vpg.abstract_vpg.memory_vpg
+ - vpkg0
+ - vpg.abstract_vpg.memory_vpg
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.incoming.packets.rate_vfw_vfw_private_0_port
vfwvsink0.vsn.abstract_vsn.disk.device.iops_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.iops_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.iops_vsn
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.outpoing.packets_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.outpoing.packets_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.outpoing.packets_vpg_vpg_private_0_port
vfwvsink0.vsn.abstract_vsn.disk.usage_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.usage_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.usage_vsn
vfwvsink0.vfw.abstract_vfw.disk.device.capacity_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.capacity_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.capacity_vfw
vpkg0.vpg_vpg_private_0_port.abstract_vpg.network.outgoing.bytes.rate_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.network.outgoing.bytes.rate_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.network.outgoing.bytes.rate_vpg_vpg_private_0_port
vpkg0.vpg.abstract_vpg.disk.device.write.bytes_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.write.bytes_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.write.bytes_vpg
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_2_port
vfwvsink0.vfw.abstract_vfw.feature_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.feature_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.feature_vfw
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.outgoing.packets.rate_vfw_vfw_private_0_port
vfwvsink0.vsn.abstract_vsn.os_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.os_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.os_vsn
vfwvsink0.vfw.abstract_vfw.disk.device.usage_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.device.usage_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.device.usage_vfw
vfwvsink0.vsn.abstract_vsn.disk.iops_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.iops_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.iops_vsn
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.network.incoming.bytes_vfw_vfw_private_0_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.attachment_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.attachment_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.attachment_vpg_vpg_private_0_port
vpkg0.vpg.abstract_vpg.memory.resident_vpg:
- - vpkg0
- - vpg.abstract_vpg.memory.resident_vpg
+ - vpkg0
+ - vpg.abstract_vpg.memory.resident_vpg
vfwvsink0.vfw.abstract_vfw.scalable_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.scalable_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.scalable_vfw
vfwvsink0.vsn.abstract_vsn.cpu.delta_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.cpu.delta_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.cpu.delta_vsn
vpkg0.vpg.abstract_vpg.disk.device.allocation_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.device.allocation_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.device.allocation_vpg
vfwvsink0.protected_private_network.link:
- - vfwvsink0
- - protected_private_network.link
+ - vfwvsink0
+ - protected_private_network.link
vfwvsink0.vfw.abstract_vfw.disk.allocation_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.disk.allocation_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.disk.allocation_vfw
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.network.outpoing.packets_vfw_vfw_private_1_port
vpkg0.vpg.abstract_vpg.binding_vpg:
- - vpkg0
- - vpg.abstract_vpg.binding_vpg
+ - vpkg0
+ - vpg.abstract_vpg.binding_vpg
vpkg0.vpg.abstract_vpg.disk.read.bytes_vpg:
- - vpkg0
- - vpg.abstract_vpg.disk.read.bytes_vpg
+ - vpkg0
+ - vpg.abstract_vpg.disk.read.bytes_vpg
vfwvsink0.vsn.abstract_vsn.disk.device.read.bytes_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.device.read.bytes_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.device.read.bytes_vsn
vfwvsink0.vsn.abstract_vsn.disk.write.requests_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.disk.write.requests_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.disk.write.requests_vsn
vfwvsink0.vfw.abstract_vfw.endpoint_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.endpoint_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.endpoint_vfw
requirements:
vfwvsink0.vfw.abstract_vfw.local_storage_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.local_storage_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.local_storage_vfw
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.dependency_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.dependency_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.dependency_vfw_vfw_private_1_port
vpkg0.vpg.abstract_vpg.local_storage_vpg:
- - vpkg0
- - vpg.abstract_vpg.local_storage_vpg
+ - vpkg0
+ - vpg.abstract_vpg.local_storage_vpg
vpkg0.vpg_vpg_private_1_port.abstract_vpg.dependency_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.dependency_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.dependency_vpg_vpg_private_1_port
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.dependency_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.dependency_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.dependency_vsn_vsn_private_1_port
vfwvsink0.vsn_vsn_private_1_port.abstract_vsn.link_vsn_vsn_private_1_port:
- - vfwvsink0
- - vsn_vsn_private_1_port.abstract_vsn.link_vsn_vsn_private_1_port
+ - vfwvsink0
+ - vsn_vsn_private_1_port.abstract_vsn.link_vsn_vsn_private_1_port
vpkg0.vpg_vpg_private_1_port.abstract_vpg.link_vpg_vpg_private_1_port:
- - vpkg0
- - vpg_vpg_private_1_port.abstract_vpg.link_vpg_vpg_private_1_port
+ - vpkg0
+ - vpg_vpg_private_1_port.abstract_vpg.link_vpg_vpg_private_1_port
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.link_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.link_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.link_vfw_vfw_private_0_port
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.link_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.link_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.link_vsn_vsn_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.link_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.link_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.link_vfw_vfw_private_2_port
vfwvsink0.vfw.abstract_vfw.dependency_vfw:
- - vfwvsink0
- - vfw.abstract_vfw.dependency_vfw
+ - vfwvsink0
+ - vfw.abstract_vfw.dependency_vfw
vfwvsink0.vsn.abstract_vsn.local_storage_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.local_storage_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.local_storage_vsn
vfwvsink0.unprotected_private_network.dependency:
- - vfwvsink0
- - unprotected_private_network.dependency
+ - vfwvsink0
+ - unprotected_private_network.dependency
vfwvsink0.vfw_vfw_private_0_port.abstract_vfw.dependency_vfw_vfw_private_0_port:
- - vfwvsink0
- - vfw_vfw_private_0_port.abstract_vfw.dependency_vfw_vfw_private_0_port
+ - vfwvsink0
+ - vfw_vfw_private_0_port.abstract_vfw.dependency_vfw_vfw_private_0_port
vfwvsink0.vsn.abstract_vsn.dependency_vsn:
- - vfwvsink0
- - vsn.abstract_vsn.dependency_vsn
+ - vfwvsink0
+ - vsn.abstract_vsn.dependency_vsn
vpkg0.vpg_vpg_private_0_port.abstract_vpg.dependency_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.dependency_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.dependency_vpg_vpg_private_0_port
vfwvsink0.vsn_vsn_private_0_port.abstract_vsn.dependency_vsn_vsn_private_0_port:
- - vfwvsink0
- - vsn_vsn_private_0_port.abstract_vsn.dependency_vsn_vsn_private_0_port
+ - vfwvsink0
+ - vsn_vsn_private_0_port.abstract_vsn.dependency_vsn_vsn_private_0_port
vfwvsink0.vfw_vfw_private_2_port.abstract_vfw.dependency_vfw_vfw_private_2_port:
- - vfwvsink0
- - vfw_vfw_private_2_port.abstract_vfw.dependency_vfw_vfw_private_2_port
+ - vfwvsink0
+ - vfw_vfw_private_2_port.abstract_vfw.dependency_vfw_vfw_private_2_port
vfwvsink0.vfw_vfw_private_1_port.abstract_vfw.link_vfw_vfw_private_1_port:
- - vfwvsink0
- - vfw_vfw_private_1_port.abstract_vfw.link_vfw_vfw_private_1_port
+ - vfwvsink0
+ - vfw_vfw_private_1_port.abstract_vfw.link_vfw_vfw_private_1_port
vpkg0.vpg_vpg_private_0_port.abstract_vpg.link_vpg_vpg_private_0_port:
- - vpkg0
- - vpg_vpg_private_0_port.abstract_vpg.link_vpg_vpg_private_0_port
+ - vpkg0
+ - vpg_vpg_private_0_port.abstract_vpg.link_vpg_vpg_private_0_port
vpkg0.vpg.abstract_vpg.dependency_vpg:
- - vpkg0
- - vpg.abstract_vpg.dependency_vpg
+ - vpkg0
+ - vpg.abstract_vpg.dependency_vpg
vfwvsink0.protected_private_network.dependency:
- - vfwvsink0
- - protected_private_network.dependency
+ - vfwvsink0
+ - protected_private_network.dependency