summaryrefslogtreecommitdiffstats
path: root/ms/neng/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'ms/neng/src/test')
-rw-r--r--ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/gen/NameGeneratorExcMissingDataTest.java (renamed from ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/gen/NameGeneratorExcMissingData.java)2
-rw-r--r--ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/seq/SequenceGeneratorTest.java (renamed from ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/seq/TestSequenceGenerator.java)2
-rw-r--r--ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceIntTest.java15
-rw-r--r--ms/neng/src/test/resources/application-test.properties43
-rw-r--r--ms/neng/src/test/resources/h2db/changelog/h2db.changelog-master.xml20
-rw-r--r--ms/neng/src/test/sanity/README.txt6
-rw-r--r--ms/neng/src/test/sanity/add-policy.sh46
-rw-r--r--ms/neng/src/test/sanity/env.sh26
-rw-r--r--ms/neng/src/test/sanity/gen-name.sh52
-rw-r--r--ms/neng/src/test/sanity/get-policy.sh32
-rw-r--r--ms/neng/src/test/sanity/hello.sh38
-rw-r--r--ms/neng/src/test/sanity/policy-1.json32
-rw-r--r--ms/neng/src/test/sanity/release-name.sh49
-rw-r--r--ms/neng/src/test/sanity/suite.sh31
14 files changed, 348 insertions, 46 deletions
diff --git a/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/gen/NameGeneratorExcMissingData.java b/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/gen/NameGeneratorExcMissingDataTest.java
index 4b1d1eac..d05644b8 100644
--- a/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/gen/NameGeneratorExcMissingData.java
+++ b/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/gen/NameGeneratorExcMissingDataTest.java
@@ -44,7 +44,7 @@ import org.onap.ccsdk.apps.ms.neng.core.validator.AaiNameValidator;
import org.onap.ccsdk.apps.ms.neng.core.validator.DbNameValidator;
@RunWith(MockitoJUnitRunner.class)
-public class NameGeneratorExcMissingData {
+public class NameGeneratorExcMissingDataTest {
@Mock
private PolicyParameters policyParams = mock(PolicyParameters.class);
@Mock
diff --git a/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/seq/TestSequenceGenerator.java b/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/seq/SequenceGeneratorTest.java
index fcee4da0..23bbc7c0 100644
--- a/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/seq/TestSequenceGenerator.java
+++ b/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/seq/SequenceGeneratorTest.java
@@ -36,7 +36,7 @@ import org.onap.ccsdk.apps.ms.neng.persistence.repository.ServiceParameterReposi
@RunWith(MockitoJUnitRunner.class)
-public class TestSequenceGenerator {
+public class SequenceGeneratorTest {
@Mock
private GeneratedNameRespository genNameRepo = mock(GeneratedNameRespository.class);
@Mock
diff --git a/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceIntTest.java b/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceIntTest.java
index a1873692..c3815f43 100644
--- a/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceIntTest.java
+++ b/ms/neng/src/test/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceIntTest.java
@@ -33,6 +33,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.ws.rs.core.Response;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -195,18 +196,14 @@ public class SpringServiceIntTest {
}
@Test
- public void testRestGetPolicyResponse() throws Exception {
- List<Map<String, Object>> policyResponse =
- restServiceImpl.getPolicyResponse("JQINSRIOV.Config_MS_SriovBigJson.1.xml");
- assertNotNull(policyResponse);
- }
-
- @Test
public void testRestAddPolicyToDb() throws Exception {
Map<String, Object> policy = new HashMap<>();
- policy.put("policyName", "policyname");
- policy.put("policyValue", "policyname");
+ policy.put("policyName", "JQINSRIOV.Config_MS_SriovBigJson.1.xml");
+ policy.put("policyValue", "some policy");
restServiceImpl.addPolicyToDb(policy);
+
+ Response policyResponse = restServiceImpl.getPolicyResponse("JQINSRIOV.Config_MS_SriovBigJson.1.xml");
+ assertNotNull(policyResponse);
}
@Test
diff --git a/ms/neng/src/test/resources/application-test.properties b/ms/neng/src/test/resources/application-test.properties
index ca8ac129..ae425c38 100644
--- a/ms/neng/src/test/resources/application-test.properties
+++ b/ms/neng/src/test/resources/application-test.properties
@@ -1,38 +1,13 @@
-info.build.artifact=@project.artifactId@
-info.build.name=@project.name@
-info.build.description=@project.description@
-info.build.version=@project.version@
-
-spring.jersey.type=filter
-
-logging.level.root=info
-logging.level.org.glassfish=info
-logging.level.org.glassfish.jersey=info
-
-spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
-
-logging.pattern.console=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr($ threadId: {PID:- }){magenta} %clr(---){faint} %clr([ hostname: %X{hostname} serviceName: %X{serviceName} version: %X{version} transactionId: %X{transactionId} requestTimeStamp: %X{requestTimestamp} responseTimeStamp: %X{responseTimestamp} duration: %X{duration}]){yellow} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wex
-
-liquibase.changeLog=classpath:/h2db/changelog/h2db.changelog-master.xml
-logging.level.liquibase: DEBUG
-
-spring.jersey.type=filter
-spring.mvc.urls=swagger,docs,prometheus,auditevents,info,heapdump,autoconfig,beans,loggers,dump,env,trace,health,configprops,mappings
-
-server.contextPath=/web
-
-spring.datasource.driver-class-name=org.h2.Driver
-spring.datasource.username=sa
-spring.datasource.password=sa
-spring.jpa.hibernate.ddl-auto=none
-spring.jpa.show-sql=true
-spring.datasource.url=jdbc:h2:mem:tests;DB_CLOSE_DELAY=-1;
+#=========================================================================
+#
+# Configuration for the test profile, which is used to run integration
+# tests of the application, normally in your IDE.
+#
+#=========================================================================
datasource.db.driver-class-name=org.h2.Driver
datasource.db.url=jdbc:h2:mem:tests;DB_CLOSE_DELAY=-1;
-datasource.db.username=sa
-datasource.db.password=sa
-jpa.hibernate.ddl-auto=none
-jpa.show-sql=true
+datasource.db.username=none
+datasource.db.password=none
-entitymanager.packagesToScan=org.onap.ccsdk.apps.ms.neng.persistence.entity
+liquibase.changeLog=classpath:/h2db/changelog/h2db.changelog-master.xml
diff --git a/ms/neng/src/test/resources/h2db/changelog/h2db.changelog-master.xml b/ms/neng/src/test/resources/h2db/changelog/h2db.changelog-master.xml
index 496a2e9d..2826e4d4 100644
--- a/ms/neng/src/test/resources/h2db/changelog/h2db.changelog-master.xml
+++ b/ms/neng/src/test/resources/h2db/changelog/h2db.changelog-master.xml
@@ -1,5 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
-
+ <!--
+ * ============LICENSE_START=======================================================
+ * ONAP : CCSDK.apps
+ * ================================================================================
+ * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ -->
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/ms/neng/src/test/sanity/README.txt b/ms/neng/src/test/sanity/README.txt
new file mode 100644
index 00000000..b98414f8
--- /dev/null
+++ b/ms/neng/src/test/sanity/README.txt
@@ -0,0 +1,6 @@
+To run the sanity test, do the following:
+
+ With no DB:
+ bring up the app with the 'dbless' profile.
+ Run from shell:
+ ./suite.sh
diff --git a/ms/neng/src/test/sanity/add-policy.sh b/ms/neng/src/test/sanity/add-policy.sh
new file mode 100644
index 00000000..108d0d48
--- /dev/null
+++ b/ms/neng/src/test/sanity/add-policy.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# This script does a sanity test on the add-policy API of the micro-service.
+#==================================================================================
+
+. ./env.sh
+URL=web/service/v1/addPolicy
+TEMP_FILE=/tmp/add-policy.$$.$RANDOM
+EXTERNAL_KEY=${1:-123456789}
+
+printf '{ ' > $TEMP_FILE
+printf '"policyName": "sanity-policy-' >> $TEMP_FILE
+printf $EXTERNAL_KEY >> $TEMP_FILE
+printf '", "policyValue" : "' >> $TEMP_FILE
+cat ./policy-1.json | sed 's/\"/\\\"/g' | tr '\n' ' ' | tr '\r' ' ' >> $TEMP_FILE
+echo '"}' >> $TEMP_FILE
+
+echo "==================================================="
+echo "====== Adding Policy: ==========================="
+cat $TEMP_FILE
+echo ""
+echo "==================================================="
+
+echo "==================================================="
+curl -vi -H "Content-Type: application/json" --data @$TEMP_FILE $PROTOCOL://$HOST:$PORT/$URL
+echo "==================================================="
+
+rm -f $TEMP_FILE
diff --git a/ms/neng/src/test/sanity/env.sh b/ms/neng/src/test/sanity/env.sh
new file mode 100644
index 00000000..8685bcf8
--- /dev/null
+++ b/ms/neng/src/test/sanity/env.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# Sets up environment for testing.
+#==================================================================================
+
+PORT=8080
+HOST=localhost
+PROTOCOL=http
diff --git a/ms/neng/src/test/sanity/gen-name.sh b/ms/neng/src/test/sanity/gen-name.sh
new file mode 100644
index 00000000..fb106eda
--- /dev/null
+++ b/ms/neng/src/test/sanity/gen-name.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# This script does a sanity test on the generate-name API of this micro-service.
+#==================================================================================
+
+. ./env.sh
+URL=web/service/v1/genNetworkElementName
+TEMP_FILE=/tmp/gen-name.$$.$RANDOM
+EXTERNAL_KEY=${2:-123456789}
+
+USE_DB=${1:-'Y'}
+USE_DB_BOOL=$([ "$USE_DB" == "Y" ] && echo "true" || echo "false")
+
+printf '{ "UseDb": "' > $TEMP_FILE
+printf $USE_DB_BOOL >> $TEMP_FILE
+printf '", "elements": [ { "external-key": "sanity-' >> $TEMP_FILE
+printf $EXTERNAL_KEY >> $TEMP_FILE
+printf '", "policy-instance-name": "sanity-policy-' >> $TEMP_FILE
+printf $EXTERNAL_KEY >> $TEMP_FILE
+printf '", "NF_NAMING_CODE": "helloname", ' >> $TEMP_FILE
+printf '"resource-name": "sanity-1", "naming-type": "sanity-1" } ] }' >> $TEMP_FILE
+
+echo "==================================================="
+echo "======== Generating name with request: ============"
+cat $TEMP_FILE
+echo ""
+echo "==================================================="
+
+echo "==================================================="
+curl -vi -H "Content-Type: application/json" --data @$TEMP_FILE $PROTOCOL://$HOST:$PORT/$URL
+echo "==================================================="
+
+rm -f $TEMP_FILE
+
diff --git a/ms/neng/src/test/sanity/get-policy.sh b/ms/neng/src/test/sanity/get-policy.sh
new file mode 100644
index 00000000..5c7136b6
--- /dev/null
+++ b/ms/neng/src/test/sanity/get-policy.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# This script does a sanity test on the get-policy API of this micro-service.
+#
+#==================================================================================
+
+. ./env.sh
+URL=web/service/v1/getpolicyresponse
+EXTERNAL_KEY=${1:-123456789}
+
+echo "==================================================="
+echo "====== Finding Policy: ==========================="
+curl -vi $PROTOCOL://$HOST:$PORT/$URL?policyName=sanity-policy-$EXTERNAL_KEY
+echo "==================================================="
diff --git a/ms/neng/src/test/sanity/hello.sh b/ms/neng/src/test/sanity/hello.sh
new file mode 100644
index 00000000..baa5b703
--- /dev/null
+++ b/ms/neng/src/test/sanity/hello.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# This script does a sanity test on the micro-service, by sending the 'hello' message.
+#
+#==================================================================================
+. ./env.sh
+URL=web/service/hello
+
+echo "==================================================="
+echo "==================================================="
+echo 'This should show {"message":"Hello world!"}'
+echo "==================================================="
+curl -vi $PROTOCOL://$HOST:$PORT/$URL
+
+echo "==================================================="
+echo "==================================================="
+echo 'This should show {"message":"Hello you!"}'
+echo "==================================================="
+curl -vi $PROTOCOL://$HOST:$PORT/$URL?name=you
+echo "==================================================="
diff --git a/ms/neng/src/test/sanity/policy-1.json b/ms/neng/src/test/sanity/policy-1.json
new file mode 100644
index 00000000..e85bc790
--- /dev/null
+++ b/ms/neng/src/test/sanity/policy-1.json
@@ -0,0 +1,32 @@
+[
+ {
+ "config": {
+ "content": {
+ "naming-models":[
+ {
+ "naming-properties":[
+ { "property-name" : "COMPLEX", "property-operation" : "substr(5)" },
+ { "property-name" : "SEQUENCE", "increment-sequence":{
+ "max" : "zzz" , "scope" : "ENTIRETY" , "start-value" : "001" , "length" : "3",
+ "increment" : "1" , "sequence-type" : "alpha-numeric"}
+ },
+ {"property-name" : "NF_NAMING_CODE"}
+ ],
+ "naming-type" : "VNF",
+ "nfRole" : "vPE",
+ "naming-recipe" : "COMPLEX|SEQUENCE|NF_NAMING_CODE"
+ },
+ {
+ "naming-properties":[
+ {"property-name" : "NF_NAMING_CODE"}
+ ],
+ "naming-type" : "sanity-1",
+ "nfRole" : "sanity-1",
+ "naming-recipe" : "NF_NAMING_CODE"
+ }
+ ]
+ }
+ },
+ "policyName": "sanity-policy-1"
+ }
+]
diff --git a/ms/neng/src/test/sanity/release-name.sh b/ms/neng/src/test/sanity/release-name.sh
new file mode 100644
index 00000000..2a6d16df
--- /dev/null
+++ b/ms/neng/src/test/sanity/release-name.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# This script does a sanity test on the release-name API of this micro-service.
+#==================================================================================
+
+. ./env.sh
+URL=web/service/v1/genNetworkElementName
+TEMP_FILE=/tmp/gen-name.$$.$RANDOM
+EXTERNAL_KEY=${2:-123456789}
+
+USE_DB=${1:-'Y'}
+USE_DB_BOOL=$([ "$USE_DB" == "Y" ] && echo "true" || echo "false")
+
+printf '{ "UseDb": "' > $TEMP_FILE
+printf $USE_DB_BOOL >> $TEMP_FILE
+printf '", "elements": [ { "external-key": "sanity-' >> $TEMP_FILE
+printf $EXTERNAL_KEY >> $TEMP_FILE
+printf '", "resource-name": "sanity-1" } ] }' >> $TEMP_FILE
+
+echo "==================================================="
+echo "======= Releasing name with request: =============="
+cat $TEMP_FILE
+echo ""
+echo "==================================================="
+
+echo "==================================================="
+curl -vi -X "DELETE" -H "Content-Type: application/json" --data @$TEMP_FILE $PROTOCOL://$HOST:$PORT/$URL
+echo "==================================================="
+
+rm -f $TEMP_FILE
+
diff --git a/ms/neng/src/test/sanity/suite.sh b/ms/neng/src/test/sanity/suite.sh
new file mode 100644
index 00000000..79d5b414
--- /dev/null
+++ b/ms/neng/src/test/sanity/suite.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#============LICENSE_START=======================================================
+# ONAP : CCSDK.apps
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END=========================================================
+
+#==================================================================================
+# This script does a sanity test on the APIs of the micro-service.
+#==================================================================================
+
+EXTERNAL_KEY=$(date +%s)$RANDOM
+
+./hello.sh
+./add-policy.sh $EXTERNAL_KEY
+./get-policy.sh $EXTERNAL_KEY
+./gen-name.sh Y $EXTERNAL_KEY
+./release-name.sh Y $EXTERNAL_KEY
+