From d907b91d857f52aa06f8bc00ac8edd4e834e2fab Mon Sep 17 00:00:00 2001 From: Daniel Silverthorn Date: Fri, 18 Aug 2017 13:24:32 -0400 Subject: [AAI-158] csit test for search-data-service Change-Id: I0c3cca0352c9eb7c7671d1cc7dee9081e61fd66f Signed-off-by: Daniel Silverthorn --- .../appconfig/analysis-config.json | 32 +++++++++++++++++++ .../appconfig/auth/search_policy.json | 18 +++++++++++ .../appconfig/auth/tomcat_keystore | Bin 0 -> 2214 bytes .../appconfig/elastic-search.properties | 6 ++++ .../appconfig/filter-config.json | 7 +++++ .../aai/search-data-service/docker-compose.yml | 26 ++++++++++++++++ test/csit/plans/aai/search-data-service/setup.sh | 34 +++++++++++++++++++++ .../csit/plans/aai/search-data-service/teardown.sh | 32 +++++++++++++++++++ .../plans/aai/search-data-service/testplan.txt | 3 ++ 9 files changed, 158 insertions(+) create mode 100644 test/csit/plans/aai/search-data-service/appconfig/analysis-config.json create mode 100644 test/csit/plans/aai/search-data-service/appconfig/auth/search_policy.json create mode 100644 test/csit/plans/aai/search-data-service/appconfig/auth/tomcat_keystore create mode 100644 test/csit/plans/aai/search-data-service/appconfig/elastic-search.properties create mode 100644 test/csit/plans/aai/search-data-service/appconfig/filter-config.json create mode 100644 test/csit/plans/aai/search-data-service/docker-compose.yml create mode 100644 test/csit/plans/aai/search-data-service/setup.sh create mode 100644 test/csit/plans/aai/search-data-service/teardown.sh create mode 100644 test/csit/plans/aai/search-data-service/testplan.txt (limited to 'test/csit/plans') diff --git a/test/csit/plans/aai/search-data-service/appconfig/analysis-config.json b/test/csit/plans/aai/search-data-service/appconfig/analysis-config.json new file mode 100644 index 000000000..f98ea3799 --- /dev/null +++ b/test/csit/plans/aai/search-data-service/appconfig/analysis-config.json @@ -0,0 +1,32 @@ +[ + { + "name": "whitespace_analyzer", + "description": "A standard whitespace analyzer.", + "behaviours": [ + "Tokenize the text using white space characters as delimeters.", + "Convert all characters to lower case.", + "Convert all alphanumeric and symbolic Unicode characters above the first 127 ASCII characters into their ASCII equivalents." + ], + "tokenizer": "whitespace", + "filters": [ + "lowercase", + "asciifolding" + ] + }, + { + "name": "ngram_analyzer", + "description": "An analyzer which performs ngram filtering on the data stream.", + "behaviours": [ + "Tokenize the text using white space characters as delimeters.", + "Convert all characters to lower case.", + "Convert all alphanumeric and symbolic Unicode characters above the first 127 ASCII characters into their ASCII equivalents.", + "Apply ngram filtering using the following values for minimum and maximum size in codepoints of a single n-gram: minimum = 1, maximum = 2." + ], + "tokenizer": "whitespace", + "filters": [ + "lowercase", + "asciifolding", + "ngram_filter" + ] + } +] \ No newline at end of file diff --git a/test/csit/plans/aai/search-data-service/appconfig/auth/search_policy.json b/test/csit/plans/aai/search-data-service/appconfig/auth/search_policy.json new file mode 100644 index 000000000..72d8902fb --- /dev/null +++ b/test/csit/plans/aai/search-data-service/appconfig/auth/search_policy.json @@ -0,0 +1,18 @@ +{ + "roles": [ + { + "name": "admin", + "functions": [ + { + "name": "search", "methods": [ { "name": "GET" },{ "name": "DELETE" }, { "name": "PUT" }, { "name": "POST" } ] + } + ], + + "users": [ + { + "username": "CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA" + } + ] + } + ] +} diff --git a/test/csit/plans/aai/search-data-service/appconfig/auth/tomcat_keystore b/test/csit/plans/aai/search-data-service/appconfig/auth/tomcat_keystore new file mode 100644 index 000000000..9eec841aa Binary files /dev/null and b/test/csit/plans/aai/search-data-service/appconfig/auth/tomcat_keystore differ diff --git a/test/csit/plans/aai/search-data-service/appconfig/elastic-search.properties b/test/csit/plans/aai/search-data-service/appconfig/elastic-search.properties new file mode 100644 index 000000000..5d9a37c05 --- /dev/null +++ b/test/csit/plans/aai/search-data-service/appconfig/elastic-search.properties @@ -0,0 +1,6 @@ +# ElasticSearch Configuration + +es.cluster-name=ES_AAI +es.http-port=9200 + +## The IP address will be injected by the csit setup script diff --git a/test/csit/plans/aai/search-data-service/appconfig/filter-config.json b/test/csit/plans/aai/search-data-service/appconfig/filter-config.json new file mode 100644 index 000000000..e2d528582 --- /dev/null +++ b/test/csit/plans/aai/search-data-service/appconfig/filter-config.json @@ -0,0 +1,7 @@ +[ + { + "name": "ngram_filter", + "description": "Custom NGram Filter.", + "configuration": " \"type\": \"nGram\", \"min_gram\": 1, \"max_gram\": 50, \"token_chars\": [ \"letter\", \"digit\", \"punctuation\", \"symbol\" ]" + } +] \ No newline at end of file diff --git a/test/csit/plans/aai/search-data-service/docker-compose.yml b/test/csit/plans/aai/search-data-service/docker-compose.yml new file mode 100644 index 000000000..d48c9fa0a --- /dev/null +++ b/test/csit/plans/aai/search-data-service/docker-compose.yml @@ -0,0 +1,26 @@ +version: '2' +services: + aai.searchservice.simpledemo.openecomp.org: + image: ${DOCKER_REGISTRY}/openecomp/search-data-service + hostname: aai.searchservice.simpledemo.openecomp.org + container_name: search-service-container + volumes: + - ${SEARCH_LOGS}:/logs + - ./appconfig:/opt/app/search-data-service/config + ports: + - 9509:9509 + environment: + - CONFIG_HOME=/opt/app/search-data-service/config/ + - KEY_STORE_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 + - KEY_MANAGER_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 + logging: + driver: "json-file" + options: + max-size: "30m" + max-file: "5" + +networks: + default: + driver: bridge + driver_opts: + com.docker.network.driver.mtu: ${MTU} diff --git a/test/csit/plans/aai/search-data-service/setup.sh b/test/csit/plans/aai/search-data-service/setup.sh new file mode 100644 index 000000000..df50fed16 --- /dev/null +++ b/test/csit/plans/aai/search-data-service/setup.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# +# Copyright © 2017 AT&T Intellectual Property. +# Copyright © 2017 Amdocs +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. + +echo search service setup script running + +export SEARCH_LOGS="/opt/aai/logroot/AAI-SEARCH"; +export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1); +export DOCKER_REGISTRY="nexus3.onap.org:10001"; + +# inject the current IP to the elastic-search config file +echo "es.ip-address="`ip addr show docker0 | head -3 | tail -1 | cut -d' ' -f6 | cut -d'/' -f1` >> appconfig/elastic-search.properties + +docker run -d --name "stretchy" -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" elasticsearch:2.4.6 +docker-compose -f docker-compose.yml up -d aai.searchservice.simpledemo.openecomp.org + +echo sleeping for 10 seconds while services start up +sleep 10 diff --git a/test/csit/plans/aai/search-data-service/teardown.sh b/test/csit/plans/aai/search-data-service/teardown.sh new file mode 100644 index 000000000..36d3e1daf --- /dev/null +++ b/test/csit/plans/aai/search-data-service/teardown.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Copyright © 2017 AT&T Intellectual Property. +# Copyright © 2017 Amdocs +# 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. +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. + + +export SEARCH_LOGS="/opt/aai/logroot/AAI-SEARCH"; +export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1); +export DOCKER_REGISTRY="nexus3.onap.org:10001"; + +docker-compose -f docker-compose.yml stop +docker stop stretchy +docker-compose -f docker-compose.yml rm -f -v +docker rm stretchy + +# remove the line we injected into the elastic-search config +sed -i '$ d' appconfig/elastic-search.properties diff --git a/test/csit/plans/aai/search-data-service/testplan.txt b/test/csit/plans/aai/search-data-service/testplan.txt new file mode 100644 index 000000000..b0a72a0f3 --- /dev/null +++ b/test/csit/plans/aai/search-data-service/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +aai/search-data-service/suite1 -- cgit 1.2.3-korg