summaryrefslogtreecommitdiffstats
path: root/src/test/resources
diff options
context:
space:
mode:
authorArul.Nambi <arul.nambi@amdocs.com>2017-10-11 18:19:37 -0400
committerArul.Nambi <arul.nambi@amdocs.com>2017-10-11 18:20:05 -0400
commite1a380a1311471e972a7196c50c25ed1ef7c25e1 (patch)
tree2654c0fe4ae29a9113b8de62d5fd67e121e6cd24 /src/test/resources
parent57ebc748b30fc61ea3bee40abf0fd8b41b785088 (diff)
Increase junit coverage
Issue-ID: AAI-429 Change-Id: Idd0f52e6b74a2689824dc671d37fe25ccf3e781c Signed-off-by: Arul.Nambi <arul.nambi@amdocs.com>
Diffstat (limited to 'src/test/resources')
-rw-r--r--src/test/resources/appconfig/aai.properties87
-rw-r--r--src/test/resources/appconfig/elasticsearch.properties72
-rw-r--r--src/test/resources/appconfig/etc/aaiEntityNodeDescriptors.json188
-rw-r--r--src/test/resources/appconfig/etc/ajsc-chef.jksbin0 -> 5256 bytes
-rw-r--r--src/test/resources/appconfig/etc/ajsc-jetty.xml128
-rw-r--r--src/test/resources/appconfig/etc/ajsc-override-web.xml80
-rw-r--r--src/test/resources/appconfig/etc/ajscJetty.jksbin0 -> 3736 bytes
-rw-r--r--src/test/resources/appconfig/etc/autoSuggestMappings.json10
-rw-r--r--src/test/resources/appconfig/etc/autoSuggestSettings.json21
-rw-r--r--src/test/resources/appconfig/etc/dynamicMappings.json14
-rw-r--r--src/test/resources/appconfig/etc/entityCountHistoryMappings.json16
-rw-r--r--src/test/resources/appconfig/etc/es_mappings.json32
-rw-r--r--src/test/resources/appconfig/etc/es_settings.json36
-rw-r--r--src/test/resources/appconfig/etc/jul-redirect.properties13
-rw-r--r--src/test/resources/appconfig/etc/keyfile27
-rw-r--r--src/test/resources/appconfig/etc/runner-web.xml124
-rw-r--r--src/test/resources/appconfig/roles.config6
-rw-r--r--src/test/resources/appconfig/search-service.properties32
-rw-r--r--src/test/resources/appconfig/suggestive-search.properties27
-rw-r--r--src/test/resources/appconfig/synchronizer.properties33
20 files changed, 946 insertions, 0 deletions
diff --git a/src/test/resources/appconfig/aai.properties b/src/test/resources/appconfig/aai.properties
new file mode 100644
index 0000000..bef9497
--- /dev/null
+++ b/src/test/resources/appconfig/aai.properties
@@ -0,0 +1,87 @@
+################################################################################################################
+############################## ActiveInventoryDataCollector TLS/SSL configuration ##############################
+################################################################################################################
+
+############################## Networking ##############################
+#
+# The ip address/hostname and port to the desired AAI instance
+#
+aai.rest.host=aai.api.simpledemo.openecomp.org
+aai.rest.port=8443
+
+############################## REST ##############################
+# OXM version
+aai.rest.resourceBasePath=/aai/v9
+aai.rest.connectTimeoutInMs=30000
+aai.rest.readTimeoutInMs=60000
+aai.rest.numRequestRetries=5
+# HTTP_NOAUTH - straight HTTP no user/pass
+# SSL_BASIC - HTTP/S with user/pass
+# SSL_CERT - HTTP/S with client cert
+aai.rest.authenticationMode=SSL_BASIC
+
+############################## Cache ##############################
+# Experimental caching feature that is NOT production ready.
+# Enable at your own risk... it might not work.
+aai.rest.cache.enabled=false
+aai.rest.cache.numWorkers=10
+aai.rest.cache.cacheFailures=false
+aai.rest.cache.useCacheOnly=false
+aai.rest.cache.storageFolderOverride=
+aai.rest.cache.maxTimeToLiveInMs=-1
+
+# The shallowEntity filter will display the entity in a visualization
+# but will not collect it's relationships or complex attributes.
+aai.rest.shallowEntities=cloud-region,complex,vnf-image,att-aic,image
+
+############################## Certs, Auth, and SSL Settings ##############################
+aai.ssl.keystore.filename=aai-os-cert.p12
+aai.ssl.keystore.pass=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+aai.ssl.keystore.type=pkcs12
+# Enable debug on the SSL connections
+aai.ssl.enableDebug=false
+# Degree of strictness to SSL connection standards
+aai.ssl.validateServerHostName=false;
+aai.ssl.validateServerCertificateChain=false;
+# If basic auth is implemented, username and password as required
+aai.ssl.basicAuth.username=AaiUI
+aai.ssl.basicAuth.password=OBF:1gfr1p571unz1p4j1gg7
+
+############################## Statistics Report Formatting ##############################
+#
+# During synchronization, a formatted statisitics log is generated
+#
+# Response size in bytes histogram
+aai.taskProcessor.bytesHistogramLabel="[Response Size In Bytes]"
+aai.taskProcessor.bytesHistogramMaxYAxis=1000000
+aai.taskProcessor.bytesHistogramNumBins=20
+aai.taskProcessor.bytesHistogramNumDecimalPoints=2
+# "Work on Hand" statisitcs for external resource requests
+aai.taskProcessor.queueLengthHistogramLabel="[Queue Item Length]"
+aai.taskProcessor.queueLengthHistogramMaxYAxis=20000
+aai.taskProcessor.queueLengthHistogramNumBins=20
+aai.taskProcessor.queueLengthHistogramNumDecimalPoints=2
+# Time on queue (how long does a task stay on the work queue)
+aai.taskProcessor.taskAgeHistogramLabel="[Task Age In Ms]"
+aai.taskProcessor.taskAgeHistogramMaxYAxis=600000
+aai.taskProcessor.taskAgeHistogramNumBins=20
+aai.taskProcessor.taskAgeHistogramNumDecimalPoints=2
+# Per transaction response time for external resource requests
+aai.taskProcessor.responseTimeHistogramLabel="[Response Time In Ms]"
+aai.taskProcessor.responseTimeHistogramMaxYAxis=10000
+aai.taskProcessor.responseTimeHistogramNumBins=20
+aai.taskProcessor.responseTimeHistogramNumDecimalPoints=2
+# Transaction throughput velocity
+aai.taskProcessor.tpsHistogramLabel="[Transactions Per Second]"
+aai.taskProcessor.tpsHistogramMaxYAxis=100
+aai.taskProcessor.tpsHistogramNumBins=20
+aai.taskProcessor.tpsHistogramNumDecimalPoints=2
+
+############################## Deprecated, to be removed or updated ##############################
+aai.rest.numResolverWorkers=15
+aai.ssl.truststore.filename=asdc-client.jks
+aai.ssl.truststore.type=jks
+aai.taskProcessor.maxConcurrentWorkers=5
+aai.taskProcessor.transactionRateControllerEnabled=false
+aai.taskProcessor.numSamplesPerThreadForRunningAverage=100
+aai.taskProcessor.targetTPS=100 \ No newline at end of file
diff --git a/src/test/resources/appconfig/elasticsearch.properties b/src/test/resources/appconfig/elasticsearch.properties
new file mode 100644
index 0000000..55e4350
--- /dev/null
+++ b/src/test/resources/appconfig/elasticsearch.properties
@@ -0,0 +1,72 @@
+#######################################################################################
+############################## ElasticSearch Config ###################################
+#######################################################################################
+
+############################## Networking ##############################
+#
+# The ip address/hostname and port to the desired AAI instance
+# For development it's recommended to use a local instance of ES
+#
+elasticsearch.ipAddress=aai.elasticsearch.simpledemo.openecomp.org
+elasticsearch.httpPort=9200
+elasticsearch.javaApiPort=8443
+
+############################## Indexes ##############################
+#
+# Index names for various searches.
+#
+elasticsearch.indexName=entity-search-index
+elasticsearch.topographicalIndexName=topography-search-index
+elasticsearch.entityCountHistoryIndexName=entitycounthistoryindex
+elasticsearch.autosuggestIndexname=entity-autosuggest-index
+
+# Default document type
+elasticsearch.type=default
+
+############################## Index Mappings and Settings ##############################
+#
+# JSON files for sparky elasticsearch indexes.
+#
+elasticsearch.mappingsFileName=/etc/es_mappings.json
+elasticsearch.settingsFileName=/etc/es_settings.json
+elasticsearch.autosuggestSettingsFileName=/etc/autoSuggestSettings.json
+elasticsearch.autosuggestMappingsFileName=/etc/autoSuggestMappings.json
+elasticsearch.dynamicMappingsFileName=/etc/dynamicMappings.json
+elasticsearch.entityCountHistoryMappingsFileName=/etc/entityCountHistoryMappings.json
+
+############################## Statistics Report Formatting ##############################
+#
+# During synchronization, a formatted statisitics log is generated.
+#
+# Response size in bytes histogram
+elasticsearch.taskProcessor.bytesHistogramLabel="[Response Size In Bytes]"
+elasticsearch.taskProcessor.bytesHistogramMaxYAxis=1000000
+elasticsearch.taskProcessor.bytesHistogramNumBins=20
+elasticsearch.taskProcessor.bytesHistogramNumDecimalPoints=2
+# "Work on Hand" statisitcs for external resource requests
+elasticsearch.taskProcessor.queueLengthHistogramLabel="[Queue Item Length]"
+elasticsearch.taskProcessor.queueLengthHistogramMaxYAxis=20000
+elasticsearch.taskProcessor.queueLengthHistogramNumBins=20
+elasticsearch.taskProcessor.queueLengthHistogramNumDecimalPoints=2
+# Time on queue (how long does a task stay on the work queue)
+elasticsearch.taskProcessor.taskAgeHistogramLabel="[Task Age In Ms]"
+elasticsearch.taskProcessor.taskAgeHistogramMaxYAxis=600000
+elasticsearch.taskProcessor.taskAgeHistogramNumBins=20
+elasticsearch.taskProcessor.taskAgeHistogramNumDecimalPoints=2
+# Per transaction response time for external resource requests
+elasticsearch.taskProcessor.responseTimeHistogramLabel="[Response Time In Ms]"
+elasticsearch.taskProcessor.responseTimeHistogramMaxYAxis=1000
+elasticsearch.taskProcessor.responseTimeHistogramNumBins=20
+elasticsearch.taskProcessor.responseTimeHistogramNumDecimalPoints=2
+# Transaction throughput velocity
+elasticsearch.taskProcessor.tpsHistogramLabel="[Transactions Per Second]"
+elasticsearch.taskProcessor.tpsHistogramMaxYAxis=100
+elasticsearch.taskProcessor.tpsHistogramNumBins=20
+elasticsearch.taskProcessor.tpsHistogramNumDecimalPoints=2
+
+############################## Deprecated, to be removed or updated ##############################
+elasticsearch.taskProcessor.maxConcurrentWorkers=5
+elasticsearch.taskProcessor.transactionRateControllerEnabled=false
+elasticsearch.taskProcessor.numSamplesPerThreadForRunningAverage=100
+elasticsearch.taskProcessor.targetTPS=100
+elasticsearch.clusterName=ES_AAI_LOCALHOST \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/aaiEntityNodeDescriptors.json b/src/test/resources/appconfig/etc/aaiEntityNodeDescriptors.json
new file mode 100644
index 0000000..bf95f28
--- /dev/null
+++ b/src/test/resources/appconfig/etc/aaiEntityNodeDescriptors.json
@@ -0,0 +1,188 @@
+{
+ "generalNodeClass": {
+ "class": "aai-entity-node general-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "16"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "10"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "33"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ }]
+ },
+ "searchedNodeClass": {
+ "class": "aai-entity-node search-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "16"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "10"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "33"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ }]
+ },
+ "selectedSearchedNodeClass": {
+ "class": "aai-entity-node selected-search-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "31"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "20"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "63"
+ }
+ }
+ },
+ {
+ "type": "button",
+ "name": "icon_ellipses",
+ "class": "node-button",
+ "shapeAttributes": {
+ "offset": {
+ "x": "33",
+ "y": "-35"
+ }
+ },
+ "svgAttributes": {
+ "className": "node-button",
+ "r": "10"
+ }
+ }]
+ },
+ "selectedNodeClass": {
+ "class": "aai-entity-node selected-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "31"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "20"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "63"
+ }
+ }
+ },
+ {
+ "type": "button",
+ "name": "icon_ellipses",
+ "class": "node-button",
+ "shapeAttributes": {
+ "offset": {
+ "x": "33",
+ "y": "-35"
+ }
+ },
+ "svgAttributes": {
+ "className": "node-button",
+ "r": "10"
+ }
+ }]
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/ajsc-chef.jks b/src/test/resources/appconfig/etc/ajsc-chef.jks
new file mode 100644
index 0000000..aeca770
--- /dev/null
+++ b/src/test/resources/appconfig/etc/ajsc-chef.jks
Binary files differ
diff --git a/src/test/resources/appconfig/etc/ajsc-jetty.xml b/src/test/resources/appconfig/etc/ajsc-jetty.xml
new file mode 100644
index 0000000..1e026cd
--- /dev/null
+++ b/src/test/resources/appconfig/etc/ajsc-jetty.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
+<!--
+ Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
+-->
+<Configure id="ajsc-server" class="org.eclipse.jetty.server.Server">
+ <!-- DO NOT REMOVE!!!! This is setting up the AJSC Context -->
+ <New id="ajscContext" class="org.eclipse.jetty.webapp.WebAppContext">
+ <Set name="contextPath"><SystemProperty name="AJSC_CONTEXT_PATH" /></Set>
+ <Set name="extractWAR">true</Set>
+ <Set name="tempDirectory"><SystemProperty name="AJSC_TEMP_DIR" /></Set>
+ <Set name="war"><SystemProperty name="AJSC_WAR_PATH" /></Set>
+ <Set name="descriptor"><SystemProperty name="AJSC_HOME" />/etc/runner-web.xml</Set>
+ <Set name="overrideDescriptor"><SystemProperty name="AJSC_HOME" />/etc/ajsc-override-web.xml</Set>
+ <Set name="throwUnavailableOnStartupException">true</Set>
+ <Set name="servletHandler">
+ <New class="org.eclipse.jetty.servlet.ServletHandler">
+ <Set name="startWithUnavailable">false</Set>
+ </New>
+ </Set>
+ </New>
+
+ <Set name="handler">
+ <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
+ <Set name="Handlers">
+ <Array type="org.eclipse.jetty.webapp.WebAppContext">
+ <Item>
+ <Ref refid="ajscContext" />
+ </Item>
+ </Array>
+ </Set>
+ </New>
+ </Set>
+
+ <Call name="addBean">
+ <Arg>
+ <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
+ <Set name="contexts">
+ <Ref refid="Contexts" />
+ </Set>
+ <Call id="extAppHotDeployProvider" name="addAppProvider">
+ <Arg>
+ <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
+ <Set name="monitoredDirName"><SystemProperty name="AJSC_HOME" />/extApps</Set>
+ <Set name="scanInterval">10</Set>
+ <Set name="extractWars">true</Set>
+ </New>
+ </Arg>
+ </Call>
+ </New>
+ </Arg>
+ </Call>
+
+ <Call name="addConnector">
+ <Arg>
+ <New class="org.eclipse.jetty.server.ServerConnector">
+ <Arg name="server">
+ <Ref refid="ajsc-server" />
+ </Arg>
+ <Set name="port"><SystemProperty name="AJSC_HTTP_PORT" default="8080" /></Set>
+ </New>
+ </Arg>
+ </Call>
+
+<!-- The following commented out code is for ssl connection setup. Default setup is for the AJSC to run as http server and
+allow other components (such as CSI Gateway) to handle the https calls to end user. Please, verify with your team and/or
+CSI/CSTEM whether or not you would need to add an ssl connector. -->
+ <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
+ <Set name="keyStorePath"><SystemProperty name="CONFIG_HOME" />/auth/inventory-ui-keystore</Set>
+ <Set name="KeyStorePassword">
+ <Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate">
+ <Arg><SystemProperty name="KEY_STORE_PASSWORD" /></Arg>
+ </Call>
+ </Set>
+ <Set name="KeyManagerPassword">
+ <Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate">
+ <Arg><SystemProperty name="KEY_MANAGER_PASSWORD" /></Arg>
+ </Call>
+ </Set>
+ <Set name="needClientAuth">false</Set>
+ <Set name="wantClientAuth">false</Set>
+ </New>
+
+ <Call id="sslConnector" name="addConnector">
+ <Arg>
+ <New class="org.eclipse.jetty.server.ServerConnector">
+ <Arg name="server">
+ <Ref refid="ajsc-server" />
+ </Arg>
+ <Arg name="factories">
+ <Array type="org.eclipse.jetty.server.ConnectionFactory">
+ <Item>
+ <New class="org.eclipse.jetty.server.SslConnectionFactory">
+ <Arg name="next">http/1.1</Arg>
+ <Arg name="sslContextFactory">
+ <Ref refid="sslContextFactory" />
+ </Arg>
+ </New>
+ </Item>
+ <Item>
+ <New class="org.eclipse.jetty.server.HttpConnectionFactory">
+ <Arg name="config">
+ <New class="org.eclipse.jetty.server.HttpConfiguration">
+ <Call name="addCustomizer">
+ <Arg>
+ <New class="org.eclipse.jetty.server.SecureRequestCustomizer" />
+ </Arg>
+ </Call>
+ </New>
+ </Arg>
+ </New>
+ </Item>
+ </Array>
+ </Arg>
+ <Set name="port"><SystemProperty name="AJSC_HTTPS_PORT" default="0" /></Set>
+ <Set name="idleTimeout">30000</Set>
+ </New>
+ </Arg>
+ </Call>
+
+ <Get name="ThreadPool">
+ <Set name="minThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MIN" /></Set>
+ <Set name="maxThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MAX" /></Set>
+ <Set name="idleTimeout"><SystemProperty name="AJSC_JETTY_IDLETIME_MAX" /></Set>
+ <Set name="detailedDump">false</Set>
+ </Get>
+
+</Configure>
diff --git a/src/test/resources/appconfig/etc/ajsc-override-web.xml b/src/test/resources/appconfig/etc/ajsc-override-web.xml
new file mode 100644
index 0000000..c07a539
--- /dev/null
+++ b/src/test/resources/appconfig/etc/ajsc-override-web.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ metadata-complete="false" version="3.0">
+
+
+
+ <filter-mapping>
+ <filter-name>ElasticSearchSynchronizerFilter</filter-name>
+ <url-pattern>/nothingShouldBeSentHere/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>OxmModelLoaderFilter</filter-name>
+ <url-pattern>/nothingShouldBeSentHereEither/*</url-pattern>
+ </filter-mapping>
+
+ <servlet-mapping>
+ <servlet-name>PortalRestAPIProxy</servlet-name>
+ <url-pattern>/api/v2/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>VisualizationServlet</servlet-name>
+ <url-pattern>/visualization/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>GeoVisualizationServlet</servlet-name>
+ <url-pattern>/visualization/geovisualization/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>EntityCountHistoryServlet</servlet-name>
+ <url-pattern>/visualization/entityCountHistory/*</url-pattern>
+ </servlet-mapping>
+
+ <filter-mapping>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <servlet-mapping>
+ <servlet-name>ManagementServlet</servlet-name>
+ <url-pattern>/mgmt</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>RestletServlet</servlet-name>
+ <url-pattern>/rest/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>CamelServlet</servlet-name>
+ <url-pattern>/services/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>SearchServlet</servlet-name>
+ <url-pattern>/elasticSearchQuery/*</url-pattern>
+ <url-pattern>/search/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>jsp</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ <url-pattern>*.jspf</url-pattern>
+ <url-pattern>*.jspx</url-pattern>
+ <url-pattern>*.xsp</url-pattern>
+ <url-pattern>*.JSP</url-pattern>
+ <url-pattern>*.JSPF</url-pattern>
+ <url-pattern>*.JSPX</url-pattern>
+ <url-pattern>*.XSP</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>default</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+</web-app> \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/ajscJetty.jks b/src/test/resources/appconfig/etc/ajscJetty.jks
new file mode 100644
index 0000000..48cdbff
--- /dev/null
+++ b/src/test/resources/appconfig/etc/ajscJetty.jks
Binary files differ
diff --git a/src/test/resources/appconfig/etc/autoSuggestMappings.json b/src/test/resources/appconfig/etc/autoSuggestMappings.json
new file mode 100644
index 0000000..7857617
--- /dev/null
+++ b/src/test/resources/appconfig/etc/autoSuggestMappings.json
@@ -0,0 +1,10 @@
+{
+ "properties" : {
+ "entity_suggest" : {
+ "type" : "completion",
+ "payloads" : true,
+ "analyzer" : "custom_analyzer",
+ "preserve_position_increments": false
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/autoSuggestSettings.json b/src/test/resources/appconfig/etc/autoSuggestSettings.json
new file mode 100644
index 0000000..4525be1
--- /dev/null
+++ b/src/test/resources/appconfig/etc/autoSuggestSettings.json
@@ -0,0 +1,21 @@
+{
+ "analysis": {
+ "filter": {
+ "eng_stop": {
+ "type": "stop",
+ "stopwords": "_english_"
+ }
+ },
+ "analyzer": {
+ "custom_analyzer": {
+ "type": "custom",
+ "tokenizer": "standard",
+ "filter": [
+ "lowercase",
+ "asciifolding",
+ "eng_stop"
+ ]
+ }
+ }
+ }
+ } \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/dynamicMappings.json b/src/test/resources/appconfig/etc/dynamicMappings.json
new file mode 100644
index 0000000..09a00ac
--- /dev/null
+++ b/src/test/resources/appconfig/etc/dynamicMappings.json
@@ -0,0 +1,14 @@
+{
+ "dynamic_templates": [
+ {
+ "strings": {
+ "match_mapping_type": "string",
+ "match": "*",
+ "mapping": {
+ "type": "string",
+ "index": "not_analyzed"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/entityCountHistoryMappings.json b/src/test/resources/appconfig/etc/entityCountHistoryMappings.json
new file mode 100644
index 0000000..84e3aec
--- /dev/null
+++ b/src/test/resources/appconfig/etc/entityCountHistoryMappings.json
@@ -0,0 +1,16 @@
+{
+ "properties": {
+ "count": {
+ "type": "long"
+ },
+ "entityType": {
+ "type": "string",
+ "index": "not_analyzed"
+ },
+ "timestamp": {
+ "type": "date",
+ "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+ }
+ }
+}
+
diff --git a/src/test/resources/appconfig/etc/es_mappings.json b/src/test/resources/appconfig/etc/es_mappings.json
new file mode 100644
index 0000000..216e3d9
--- /dev/null
+++ b/src/test/resources/appconfig/etc/es_mappings.json
@@ -0,0 +1,32 @@
+{
+ "properties": {
+ "entityType": {
+ "type": "string",
+ "analyzer": "ngram_analyzer",
+ "search_analyzer": "ngram_analyzer"
+ },
+ "entityPrimaryKeyValue": {
+ "type": "string",
+ "index": "not_analyzed"
+ },
+ "searchTagIDs": {
+ "type": "string"
+ },
+ "searchTags": {
+ "type": "string",
+ "analyzer": "ngram_analyzer"
+ },
+ "crossEntityReferenceValues": {
+ "type": "string",
+ "analyzer": "ngram_analyzer"
+ },
+ "link": {
+ "type": "string",
+ "index": "not_analyzed"
+ },
+ "lastmodTimestamp": {
+ "type": "date",
+ "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||yyyy-MM-dd HH:mm:ss||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/es_settings.json b/src/test/resources/appconfig/etc/es_settings.json
new file mode 100644
index 0000000..21a357c
--- /dev/null
+++ b/src/test/resources/appconfig/etc/es_settings.json
@@ -0,0 +1,36 @@
+{
+ "analysis": {
+ "filter": {
+ "ngram_filter": {
+ "type": "nGram",
+ "min_gram": 1,
+ "max_gram": 50,
+ "token_chars": [
+ "letter",
+ "digit",
+ "punctuation",
+ "symbol"
+ ]
+ }
+ },
+ "analyzer": {
+ "ngram_analyzer": {
+ "type": "custom",
+ "tokenizer": "whitespace",
+ "filter": [
+ "lowercase",
+ "asciifolding",
+ "ngram_filter"
+ ]
+ },
+ "whitespace_analyzer": {
+ "type": "custom",
+ "tokenizer": "whitespace",
+ "filter": [
+ "lowercase",
+ "asciifolding"
+ ]
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/jul-redirect.properties b/src/test/resources/appconfig/etc/jul-redirect.properties
new file mode 100644
index 0000000..8b6624d
--- /dev/null
+++ b/src/test/resources/appconfig/etc/jul-redirect.properties
@@ -0,0 +1,13 @@
+
+# Bridge JUL->slf4j Logging Configuration File
+#
+# This file bridges the JUL logging infrastructure into
+# SLF4J so JUL logs go to logback implementation provided
+# in this project. SLF4J also captures log4j and has
+# other framework options as well providing a common
+# logging infrastructure for capturing all logs from different
+# libraries using different frameworks in one place.
+
+# Global properties
+handlers=org.slf4j.bridge.SLF4JBridgeHandler
+.level= ALL
diff --git a/src/test/resources/appconfig/etc/keyfile b/src/test/resources/appconfig/etc/keyfile
new file mode 100644
index 0000000..882e86a
--- /dev/null
+++ b/src/test/resources/appconfig/etc/keyfile
@@ -0,0 +1,27 @@
+ZuIwp0TkyVPDeX1Up-8JtkMWvjsCpoiu1_VKeWrtrvxunvAke8_tiFyHPPyb2nkhepFYj6tXzpfS
+rGz5XF_TH9NbsKaP8u0HV5clz2WriYQRvHS85vjY7hXxkpFuLb7zkLAPqTyIDpj7FiW61NzsRUAq
+TM8jH16jr7mBNnb56w24mNGOwznMPcIZKcjgZU1ekaPDFpWyhQElU7Y0q_94P_Gkk45r66Hj22sU
+OiOaaftmudZlswLw8-8Zaakqf2yW9HjMVfuYCwSodBHCW5rdB3Ctb5W36rnD_AQco3Ky2PgPmqvk
+QkJYuUHpbuDqVHqLOajlKSIGMTIqAIBg51fRaaONtD-Q5xzY8E5wO1YWTLKcP5tsNvUpzM8Wu3NS
+ynpGpUcvlTqWWsGzTbzOyamyKkdNdx97sSqjM25Zh1-ps48h6cddGYWpab7SUvqRCS11QBUyLTry
+2iwTEHMhHRIbo7PO99ALQfuq9gI1zKGfurJdvLBeBaFs5SCF0AiCZ3WcDO8Rv3HpxVZ2_ShbDxb0
+eMoO6SotXu51fj8Y3-WqsfZziQyEsHyqpg5uQ6yUtz01h5YHLEoVuotF1U4agmQR6kEkYk-wNOiZ
+v-8gaA9gtbLoAdKhuKFxQgQLNMf6GzVzZNujbmDzLoZAP_mXAv29aBPaf64Ugzv-Oa5GZdBgD-Xd
+_pahML-ionw99r0TnkpShYmDqMKhMdjaP3m87WIAZkIB-L-VTyKcEsJ4340VSzCOsv3waiM0S89u
+4cMcG5y-PLY8IoipIlLUPTWD3SjcQ9DV1Dt3T5KjdWLsj48D3W4K4e9PB8yxs0gtUjgVUR2_xEir
+G5eDO9Ac1eHFWGDFFP0SgG-TbHJUKlvy9mwLzmU0fC3xPjhqmIr-v0HxF7HN-tmb1LHDorno8tSN
+u7kUGcKSchIiFfvkd066crUb2mH7PnXTaWmAjyVj9VsBExFUYEdpHMAV4sAP9-RxZGDRt46UhrDK
+QZvvNhBVyOEjHPHWI4vl1r1v8HNH1_2jZu5DVJWyHWR56aCo1lhFH9_X6UAHUHbnXViDONZOVXlT
+9-WD0tk2zJGuwrhdZDAnPnAmjfwbwbpnr5Hmex1i1JiD7WVyP1kbfoej2TmdiYbxr9oBYaGQ29JI
+aHod7MQCLtvL1z5XgnDPLZ4y3_9SbqHKYbNa8UgZkTLF5EacGThYVFDLA9cbafHDtR1kMGE3vv4D
+EJ-0pAYTOGmKlVI7DwNyKsY9JTyudrxTqhOxi9jgcJNWiUaNe9yhL8Pyc2YBqUTTYhh_a2d1rvkZ
+0Gh1crviVxqBrIkRKaMRXZ4f1vDLz-3NvG_vwPOo8WRFo5nGmSdTw7CjBaigJ_cYCfDhoP11pEnw
+cndsZNcHs-v05LlxeIIMDD_f5Bvz-il_DLA4eK2HqgLdxh8ziSDl2azk14MJY4amzz6reEXUuKLV
+RsZGf_jbDGKhE2HuDQ5ovoLOi4OqE1oRuqh-dGxitrYouP2SN1l_1tCEMRth86FMV-6AQtZsvdUo
+y9MtQ7e35atjA8nHtgADlDTmJBKQiUHUsOZ77p1qp17HAFMovUkc739opfEYnKUn6Itpw5Ipm_Is
+ra6chJUfMpOFof5rb5OjqFAN27c_-mPo1lQU3ndYlKGh_n5V8ufX6v2Yri8WzOPf6hjVYotkmoMP
+NPAICDCB8W5ddBjsopzLVVEtaXDu9Qj6-zf77hT4iQ7rBd2Ner8iLqN3Kis0dvkNM3_uH8onau1G
+Y_YYw7PPSZyd2S_7Dd6G-IG4ayO6e5DD6oUwwekyiQI_3rTXNa_wldGxqW9u818010ekE4Qdlfcj
+beIn7fAeaOjReZ87hRgWyMs-EgTVHw8RL3yI_O6VvRTVRONRF1Y4C_-IYa8z-bfrwXx3BBd9TTgb
+EnS9wVOyC2OgUN6BhPLGLhxzkJ05nEjizXEc9t5EPYoSRwesajGGrrG_0-qWbuU5hKLPLkyeJLHb
+5HXOTVsrUR59Vov2M3_EswkxcImblox3k3VS2yihZMGyfqLzZIUXgd8ufkevKKU6DxwacGTb \ No newline at end of file
diff --git a/src/test/resources/appconfig/etc/runner-web.xml b/src/test/resources/appconfig/etc/runner-web.xml
new file mode 100644
index 0000000..f70d71b
--- /dev/null
+++ b/src/test/resources/appconfig/etc/runner-web.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ metadata-complete="false" version="3.0">
+
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/spring-servlet.xml,
+ classpath:applicationContext.xml
+ </param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>spring.profiles.default</param-name>
+ <param-value>nooauth</param-value>
+ </context-param>
+
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+ <servlet>
+ <servlet-name>ManagementServlet</servlet-name>
+ <servlet-class>ajsc.ManagementServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>VisualizationServlet</servlet-name>
+ <servlet-class>org.onap.aai.sparky.viewandinspect.servlet.VisualizationServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>GeoVisualizationServlet</servlet-name>
+ <servlet-class>org.onap.aai.sparky.inventory.servlet.GeoVisualizationServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>EntityCountHistoryServlet</servlet-name>
+ <servlet-class>org.onap.aai.sparky.inventory.servlet.EntityCountHistoryServlet</servlet-class>
+ </servlet>
+
+
+
+ <filter>
+ <filter-name>ElasticSearchSynchronizerFilter</filter-name>
+ <filter-class>org.onap.aai.sparky.synchronizer.filter.ElasticSearchSynchronizerFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>OxmModelLoaderFilter</filter-name>
+ <filter-class>org.onap.aai.sparky.config.oxm.OxmModelLoaderFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>WriteableRequestFilter</filter-name>
+ <filter-class>com.att.ajsc.csi.writeablerequestfilter.WriteableRequestFilter</filter-class>
+ </filter>
+
+ <servlet>
+ <servlet-name>RestletServlet</servlet-name>
+ <servlet-class>ajsc.restlet.RestletSpringServlet</servlet-class>
+ <init-param>
+ <param-name>org.restlet.component</param-name>
+ <param-value>restletComponent</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>CamelServlet</servlet-name>
+ <servlet-class>ajsc.servlet.AjscCamelServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>SearchServlet</servlet-name>
+ <servlet-class>org.onap.aai.sparky.viewandinspect.servlet.SearchServlet</servlet-class>
+ </servlet>
+
+ <filter>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+ </filter>
+
+ <servlet>
+ <servlet-name>spring</servlet-name>
+ <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>PortalRestAPIProxy</servlet-name>
+ <servlet-class>org.openecomp.portalsdk.core.onboarding.crossapi.PortalRestAPIProxy</servlet-class>
+ </servlet>
+
+ <!-- <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern>
+ </servlet-mapping> -->
+
+
+ <!-- BEGIN jsp -->
+
+ <servlet id="jsp">
+ <servlet-name>jsp</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ </servlet>
+
+
+ <!-- BEGIN static content -->
+
+ <servlet>
+ <servlet-name>default</servlet-name>
+ <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
+ <init-param>
+ <param-name>dirAllowed</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ </servlet>
+ <!-- END static content -->
+
+ <!-- Use this to configure a custom session timeout (minutes) -->
+ <!-- <session-config>
+ <session-timeout>1</session-timeout>
+ </session-config> -->
+
+</web-app>
diff --git a/src/test/resources/appconfig/roles.config b/src/test/resources/appconfig/roles.config
new file mode 100644
index 0000000..b8313bd
--- /dev/null
+++ b/src/test/resources/appconfig/roles.config
@@ -0,0 +1,6 @@
+[
+ {
+ "id":1,
+ "name":"View"
+ }
+] \ No newline at end of file
diff --git a/src/test/resources/appconfig/search-service.properties b/src/test/resources/appconfig/search-service.properties
new file mode 100644
index 0000000..13e25ac
--- /dev/null
+++ b/src/test/resources/appconfig/search-service.properties
@@ -0,0 +1,32 @@
+########################################################################################
+############################## Search Data Service Config ##############################
+########################################################################################
+
+############################## Networking ##############################
+#
+# The ip address/hostname and port to the desired Search Data Service instance
+#
+search-service.ipAddress=aai.searchservice.simpledemo.openecomp.org
+search-service.httpPort=9509
+
+############################## Indexes ##############################
+#
+# Index values that will be associated with searches
+#
+# Searchable entities
+search-service.indexName=entity-search-index
+# Inventory searches
+search-service.topographicalIndexName=topography-search-index
+search-service.entityCountHistoryIndexName=entitycounthistoryindex
+
+############################## Version ##############################
+#
+# Search Data Service version and type (see Search Data Service for more details)
+#
+search-service.version=v1
+search-service.type=default
+
+############################## Certs ##############################
+search-service.ssl.cert-name=client-cert-onap.p12
+search-service.ssl.keystore-password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+search-service.ssl.keystore=tomcat_keystore \ No newline at end of file
diff --git a/src/test/resources/appconfig/suggestive-search.properties b/src/test/resources/appconfig/suggestive-search.properties
new file mode 100644
index 0000000..b82baff
--- /dev/null
+++ b/src/test/resources/appconfig/suggestive-search.properties
@@ -0,0 +1,27 @@
+######################################################################################
+############################## Suggestive Search Config ##############################
+######################################################################################
+
+# Indexes to be taken into account when generating suggestion entries
+suggestion.indexes=elasticsearch.autosuggestIndexname,elasticsearch.indexName
+# List of stop words to be used during suggestive search
+suggestion.stopwords=a,an,and,are,as,at,be,but,by,called,for,if,in,into,is,it,no,not,of,on,or,such,that,the,their,then,there,these,they,this,to,was,will,with
+# Assigns which class, within sparky, will process the searches related to an assosiated index
+suggestion.routing=elasticsearch.autosuggestIndexname:SearchServiceWrapper,elasticsearch.indexName:VnfSearchService
+
+############################## Pairings ##############################
+#
+# "called" pairings, keys reference types within the OXM, and the value
+# is the suggestion term used for matches with any of the "called" keys.
+# e.g. "x called vserver-id" (but actual value of vserver-id)
+suggestion.pairing.called.key=volume-group-id,volume-group-name,physical-location-id,data-center-code,complex-name,tenant-id,tenant-name,vserver-id,vserver-name,vserver-name2,hostname,pserver-name2,pserver-id,global-customer-id,subscriber-name,service-instance-id,service-instance-name,link-name,vpn-id,vpn-name,vpe-id,vnf-id,vnf-name,vnf-name2,vnfc-name,network-id,network-name,network-policy-id,vf-module-id,vf-module-name,vnf-id2,pnf-name,circuit-id
+suggestion.pairing.called.value=called
+#
+# Exact same explanation as the "called" pairings above.
+# e.g. "x at ipv4-oam-address"
+suggestion.pairing.at.key=street1,street2,postal-code,ipv4-oam-address,network-policy-fqdn
+suggestion.pairing.at.value=at
+#
+# Default pairing values for any OXM types that aren't part of the the other
+# pairing lists.
+suggestion.pairing.default.value=with \ No newline at end of file
diff --git a/src/test/resources/appconfig/synchronizer.properties b/src/test/resources/appconfig/synchronizer.properties
new file mode 100644
index 0000000..0b84f06
--- /dev/null
+++ b/src/test/resources/appconfig/synchronizer.properties
@@ -0,0 +1,33 @@
+##############################################################################################
+############################## ElasticSearchSynchronizer Config ##############################
+##############################################################################################
+
+# Initial delay on startup before starting synchronization tasks
+synchronizer.syncTask.initialDelayInMs=60000
+# The frequency at which the synchronizationtask will be run
+synchronizer.syncTask.taskFrequencyInDay=2
+
+# Time at which to run synchronization. Format = hh:mm:ss UTC(-/+)hh:mm
+synchronizer.syncTask.startTimestamp=05:00:00 UTC+00:00
+
+# Generates a count in elasticsearch related to inventory
+synchronizer.historicalEntitySummarizerEnabled=true
+# Toggles the suggestion synchronizer
+synchronizer.autosuggestSynchronizationEnabled=true
+# Frequency at which above count is generated
+synchronizer.historicalEntitySummarizedFrequencyInMinutes=60
+
+# Elasticsearch scroll api context keep alive value
+synchronizer.scrollContextTimeToLiveInMinutes=5
+# Elasticsearch scroll api context max items per batch request
+synchronizer.numScrollContextItemsToRetrievePerRequest=5000
+
+
+############################## Deprecated, to be removed or updated ##############################
+synchronizer.resolver.progressLogFrequencyInMs=60000
+synchronizer.resolver.queueMonitorFrequencyInMs=1000
+synchronizer.resolver.displayVerboseQueueManagerStats=false
+synchronizer.indexIntegrityValidator.enabled=false
+synchronizer.indexIntegrityValidatorFrequencyInMs=3600000
+synchronizer.suppressResourceNotFoundErrors=true
+synchronizer.applyNodesOnlyModifier=false \ No newline at end of file