diff --git a/authz-test/src/main/assemble/swm.xml b/authz-test/src/main/assemble/swm.xml
new file mode 100644
index 0000000..f2e8683
--- /dev/null
+++ b/authz-test/src/main/assemble/swm.xml
@@ -0,0 +1,34 @@
+<!--
+  ============LICENSE_START====================================================
+  * org.onap.aaf
+  * ===========================================================================
+  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  * ===========================================================================
+  * Licensed under the Apache License, Version 2.0 (the "License");
+  * you may not use this file except in compliance with the License.
+  * You may obtain a copy of the License at
+  * 
+   *      http://www.apache.org/licenses/LICENSE-2.0
+  * 
+   * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  * ============LICENSE_END====================================================
+  *
+  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  *
+-->
+<assembly>
+	<id>swm</id>
+	<formats>
+		<format>zip</format>
+	</formats>
+	<baseDirectory>${artifactId}</baseDirectory>
+	<fileSets>
+		<fileSet>
+			<directory>target/swm</directory>
+		</fileSet>
+	</fileSets>
+</assembly>
diff --git a/authz-test/src/main/config/lrm-authz-service.xml b/authz-test/src/main/config/lrm-authz-service.xml
new file mode 100644
index 0000000..8cb7c9d
--- /dev/null
+++ b/authz-test/src/main/config/lrm-authz-service.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ============LICENSE_START====================================================
+  * org.onap.aaf
+  * ===========================================================================
+  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  * ===========================================================================
+  * Licensed under the Apache License, Version 2.0 (the "License");
+  * you may not use this file except in compliance with the License.
+  * You may obtain a copy of the License at
+  * 
+   *      http://www.apache.org/licenses/LICENSE-2.0
+  * 
+   * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  * ============LICENSE_END====================================================
+  *
+  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  *
+-->
+<ns2:ManagedResourceList xmlns:ns2="http://scld.att.com/lrm/util" xmlns="http://scld.att.com/lrm/commontypes" xmlns:ns3="http://scld.att.com/lrm/types">
+    <ns2:ManagedResource>
+        <ResourceDescriptor>
+            <ResourceName>com.att.authz._ARTIFACT_ID_</ResourceName>
+            <ResourceVersion>
+                <Major>_MAJOR_VER_</Major>
+                <Minor>_MINOR_VER_</Minor>
+                <Patch>_PATCH_VER_</Patch>                
+            </ResourceVersion>
+            <RouteOffer>_ROUTE_OFFER_</RouteOffer>
+        </ResourceDescriptor>
+        <ResourceType>Java</ResourceType>
+        <ResourcePath>com.att.authz.service.AuthzAPI</ResourcePath>
+        <ResourceProps>
+            <Tag>process.workdir</Tag>
+            <Value>_ROOT_DIR_</Value>
+        </ResourceProps>    	       
+        <ResourceProps>
+            <Tag>jvm.version</Tag>
+            <Value>1.6</Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>jvm.args</Tag>
+            <Value>-DAFT_LATITUDE=_AFT_LATITUDE_ -DAFT_LONGITUDE=_AFT_LONGITUDE_ -DAFT_ENVIRONMENT=_AFT_ENVIRONMENT_ -Dplatform=_SCLD_PLATFORM_ -Dcom.sun.jndi.ldap.connect.pool.maxsize=20  -Dcom.sun.jndi.ldap.connect.pool.prefsize=10 -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 </Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>jvm.classpath</Tag>
+            <Value>_ROOT_DIR_/etc:_ROOT_DIR_/lib/*:</Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>jvm.heap.min</Tag>
+            <Value>512m</Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>jvm.heap.max</Tag>
+            <Value>1024m</Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>start.class</Tag>
+            <Value>com.att.authz.service.AuthAPI</Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>stdout.redirect</Tag>
+            <Value>_ROOT_DIR_/logs/SystemOut.log</Value>
+        </ResourceProps>
+        <ResourceProps>
+            <Tag>stderr.redirect</Tag>
+            <Value>_ROOT_DIR_/logs/SystemErr.log</Value>
+        </ResourceProps>
+        <ResourceOSID>aft</ResourceOSID>
+        <ResourceStartType>AUTO</ResourceStartType>
+        <ResourceStartPriority>2</ResourceStartPriority>
+		<ResourceMinCount>_RESOURCE_MIN_COUNT_</ResourceMinCount>
+		<ResourceMaxCount>_RESOURCE_MAX_COUNT_</ResourceMaxCount>        
+        <ResourceSWMComponent>com.att.authz:_ARTIFACT_ID_</ResourceSWMComponent>
+        <ResourceSWMComponentVersion>_ARTIFACT_VERSION_</ResourceSWMComponentVersion>
+    </ns2:ManagedResource>
+</ns2:ManagedResourceList>
diff --git a/authz-test/src/main/config/tc.devl b/authz-test/src/main/config/tc.devl
new file mode 100644
index 0000000..5d3dcb0
--- /dev/null
+++ b/authz-test/src/main/config/tc.devl
@@ -0,0 +1,16 @@
+# Load Passwords needed
+function aafcli {
+  java \
+  -Daaf_id=testid \
+  -Daaf_pass=<pass> \
+  -Daaf_url=DMEServiceName=service=com.att.authz.AuthorizationService/version=_MAJOR_VER_._MINOR_VER_/envContext=_AFT_ENVIRONMENT_/routeOffer=_ROUTE_OFFER_ \
+  -DAFT_LATITUDE=_AFT_LATITUDE_ \
+  -DAFT_LONGITUDE=_AFT_LONGITUDE_ \
+  -DAFT_ENVIRONMENT=_AFT_ENVIRONMENT_ \
+  -Dtestid=<pass> \
+  -Dbogus=xxx \
+  -Dm12345=<pass> \
+  -jar \
+   /Volumes/Data/src/authz/authz-cmd/target/authz-cmd-2.0.2-SNAPSHOT-jar-with-dependencies.jar \
+   $*
+}
diff --git a/authz-test/src/main/scripts/cmds b/authz-test/src/main/scripts/cmds
new file mode 100644
index 0000000..ae44312
--- /dev/null
+++ b/authz-test/src/main/scripts/cmds
@@ -0,0 +1,20 @@
+# /bin/bash
+. ~/.bashrc
+function failed {
+     echo "FAILED TEST! " $*
+     exit 1
+}
+
+if [ "$1" != "" ] ; then 
+  for FILE in TestCases/$1/[0-9]*; do 
+     echo "*** "$FILE" ***"
+     cat $FILE
+     echo
+  done
+else
+  echo "Usage: cmds <TestCase>"
+fi
+
+
+
+exit 0
diff --git a/authz-test/src/main/scripts/copy b/authz-test/src/main/scripts/copy
new file mode 100644
index 0000000..59e86bf
--- /dev/null
+++ b/authz-test/src/main/scripts/copy
@@ -0,0 +1,17 @@
+# /bin/bash
+if [ "$2" != "" ] ; then 
+  if [ -e $2 ]; then
+     echo "$2 exists, copy aborted"
+     exit 1
+  fi
+  mkdir -p TestCases/$2
+  for FILE in TestCases/$1/*; do 
+     FILE2=`echo $FILE | sed -e "s/$1/$2/"`
+     echo $FILE2
+     sed -e "s/$1/$2/g" $FILE > $FILE2
+  done
+else
+  echo 'Usage: copy <Source TestCase> <Target TestCase>'
+fi
+
+exit 0
diff --git a/authz-test/src/main/scripts/csv b/authz-test/src/main/scripts/csv
new file mode 100644
index 0000000..e8712ce
--- /dev/null
+++ b/authz-test/src/main/scripts/csv
@@ -0,0 +1,14 @@
+# /bin/bash
+cd TestCases
+if [ "$1" == "" ]; then
+   DIRS=`ls -d TC*`
+else
+   DIRS=$1
+fi
+
+echo '"Test Case","Description"'
+for DIR in $DIRS; do 
+  grep -h "^# $DIR" $DIR/[0-9]* | cut -d ' ' -f 2- | sed -e 's/ /,"/' -e 's/$/"/'
+done
+cd ..
+exit 0
diff --git a/authz-test/src/main/scripts/rpt1 b/authz-test/src/main/scripts/rpt1
new file mode 100644
index 0000000..61d149d
--- /dev/null
+++ b/authz-test/src/main/scripts/rpt1
@@ -0,0 +1,23 @@
+# /bin/bash
+if [ "$1" == "" ]; then
+  echo "Usage: rpt1 <TestCase>"
+  exit 1
+fi
+
+cd TestCases
+echo "**"
+echo "** TC Group: $1"
+echo "** Date    : "`date`
+echo "** By      : "`who | cut -d " " -f 1`
+echo "**"
+echo ""
+echo "-- Description --"
+cat $1/Description 
+echo -- Positive Cases --
+grep -h "^# $1.*OK " $1/[0-9]* | cut -d ' ' -f 2- | sed -e 's/ /  	/'
+echo
+echo -- Negative Cases --
+grep -h "^# $1.*FAIL " $1/[0-9]* | cut -d ' ' -f 2- | sed -e 's/ /	/'
+
+cd ..
+exit 0
diff --git a/authz-test/src/main/scripts/rpt2 b/authz-test/src/main/scripts/rpt2
new file mode 100644
index 0000000..2c6b6f7
--- /dev/null
+++ b/authz-test/src/main/scripts/rpt2
@@ -0,0 +1,12 @@
+# /bin/bash
+if [ "$1" == "" ]; then
+  echo "Usage: rpt2 <TestCase>"
+  exit 1
+fi
+
+bin/rpt1 TC_NS1 
+echo ""
+echo "-- Results"
+echo ""
+bin/tc TC_NS1
+
diff --git a/authz-test/src/main/scripts/tc b/authz-test/src/main/scripts/tc
new file mode 100644
index 0000000..1125849
--- /dev/null
+++ b/authz-test/src/main/scripts/tc
@@ -0,0 +1,37 @@
+# /bin/bash
+mkdir -p runs
+function failed {
+     echo "FAILED TEST! $*"
+     exit 1
+}
+
+if [ "$1" == "" ]; then
+  DIRS=`find TestCases -type d -name "TC_*" -maxdepth 1 | sed "s/^TestCases\///"`
+  if [ "$DIRS" == "" ] ; then 
+    echo "Usage: tc <TestCase> [expected]"
+    echo "  expected - create the expected response for future comparison"
+    exit 1
+  fi
+else
+  DIRS=$1
+  shift
+fi
+
+for TC in $DIRS; do
+  if [ "$1" = "expected" ]; then
+    SUFFIX=$1
+    cat TestCases/$TC/[0-9]* | aafcli -i 2>&1 | tee TestCases/expected/$TC.$SUFFIX
+  elif [ -d "TestCases/$TC" ]; then
+    SUFFIX=`date "+%Y-%m-%d_%H:%M:%S"`
+    cat TestCases/$TC/[0-9]* | aafcli -i 2>&1 | tee runs/$TC.$SUFFIX > /dev/null
+  
+    diff runs/$TC.$SUFFIX TestCases/expected/$TC.expected || failed "[$TC.$SUFFIX]"
+    echo "SUCCESS! [$TC.$SUFFIX]"
+  else
+    echo missed dir
+exit
+    cat $TC | aafcli -i 
+  fi
+done
+
+exit 0
diff --git a/authz-test/src/main/swm/common/deinstall.sh b/authz-test/src/main/swm/common/deinstall.sh
new file mode 100644
index 0000000..740564c
--- /dev/null
+++ b/authz-test/src/main/swm/common/deinstall.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+##############################################################################
+# - Copyright 2012, 2016 AT&T Intellectual Properties
+##############################################################################
+umask 022
+ROOT_DIR=${INSTALL_ROOT}/${distFilesRootDirPath}
+
+# Grab the IID of all resources running under the name and same version(s) we're working on and stop those instances
+${LRM_HOME}/bin/lrmcli -running | \
+	grep ${artifactId} | \
+	grep ${version} | \
+	cut -f1 | \
+while read _iid
+do
+	if [ -n "${_iid}" ]; then
+		${LRM_HOME}/bin/lrmcli -shutdown -iid ${_iid} | grep SUCCESS
+		if [ $? -ne 0 ]; then
+			echo "$LRMID-{_iid} Shutdown failed"
+		fi
+	fi
+done
+	
+# Grab the resources configured under the name and same version we're working on and delete those instances
+${LRM_HOME}/bin/lrmcli -configured | \
+	grep ${artifactId} | \
+	grep ${version} | \
+	cut -f1,2,3 | \
+while read _name _version _routeoffer
+do
+	if [ -n "${_name}" ]; then
+		${LRM_HOME}/bin/lrmcli -delete -name ${_name} -version ${_version} -routeoffer ${_routeoffer} | grep SUCCESS
+		if [ $? -ne 0 ]; then
+			echo "${_version} Delete failed"
+		fi
+	fi
+done	
+
+rm -rf ${ROOT_DIR}
+
+exit 0
diff --git a/authz-test/src/main/swm/common/install.sh b/authz-test/src/main/swm/common/install.sh
new file mode 100644
index 0000000..0c38612
--- /dev/null
+++ b/authz-test/src/main/swm/common/install.sh
@@ -0,0 +1,144 @@
+#!/bin/sh
+##############################################################################
+# - Copyright 2012, 2016 AT&T Intellectual Properties
+##############################################################################
+umask 022
+ROOT_DIR=${INSTALL_ROOT}/${distFilesRootDirPath}
+LOGGING_PROP_FILE=${ROOT_DIR}/etc/log4j.properties
+RUN_FILE=${ROOT_DIR}/etc/tconn.sh
+
+cd ${ROOT_DIR}
+
+mkdir -p logs || fail 1 "Error on creating the logs directory."
+mkdir -p back || fail 1 "Error on creating the back directory."
+chmod 777 back || fail 1 "Error on creating the back directory."
+
+# 
+# Some Functions that Vastly cleanup this install file...
+# You wouldn't believe how ugly it was before.  Unreadable... JG 
+#
+fail() {
+	rc=$1
+	shift;
+    echo "ERROR: $@"
+    exit $rc
+}
+
+#
+# Set the "SED" replacement for this Variable.  Error if missing
+# Note that Variable in the Template is surrounded by "_" i.e. _ROOT_DIR_
+#   Replacement Name
+#   Value
+#
+required() {
+	if [ -z "$2" ]; then
+	  ERRS+="\n\t$1 must be set for this installation"
+	fi
+	SED_E+=" -e s|$1|$2|g"
+}
+
+#
+# Set the "SED" replacement for this Variable. Use Default (3rd parm) if missing
+# Note that Variable in the Template is surrounded by "_" i.e. _ROOT_DIR_
+#   Replacement Name
+#   Value
+#   Default Value
+#
+default() {
+    if [ -z "$2" ]; then
+    	SED_E+=" -e s|$1|$3|g"
+    else 
+    	SED_E+=" -e s|$1|$2|g"
+    fi
+}
+
+# Linux requires this.  Mac blows with it.  Who knows if Windoze even does SED
+if [ -z "$SED_OPTS" ]; then
+	SED_E+=" -c "
+else
+	SED_E+=$SED_OPTS;
+fi 
+
+
+# 
+# Use "default" function if there is a property that isn't required, but can be defaulted
+# use "required" function if the property must be set by the environment
+#
+	required _ROOT_DIR_ ${ROOT_DIR}
+	default _COMMON_DIR_ ${COMMON_DIR} ${ROOT_DIR}/../../common
+	required _AFT_ENVIRONMENT_ ${AFT_ENVIRONMENT}
+	required _ENV_CONTEXT_ ${ENV_CONTEXT}
+	required _HOSTNAME_ ${HOSTNAME}
+	required _ARTIFACT_ID_ ${artifactId}
+	required _ARTIFACT_VERSION_ ${version}
+	
+	# Specifics for Service
+	if [ "${artifactId}" = "authz-service" ]; then
+		default _AUTHZ_SERVICE_PORT_ ${PORT} 0
+		required _AUTHZ_CASS_CLUSTERS_ ${AUTHZ_CASS_CLUSTERS}
+		required _AUTHZ_CASS_PORT_ ${AUTHZ_CASS_PORT}
+		required _AUTHZ_CASS_PWD_ ${AUTHZ_CASS_PWD}
+		default _AUTHZ_CASS_USER_ ${AUTHZ_CASS_USER} authz
+		required _AUTHZ_KEYSTORE_PASSWORD_ ${AUTHZ_KEYSTORE_PASSWORD}
+		required _AUTHZ_KEY_PASSWORD_ ${AUTHZ_KEY_PASSWORD}
+		required _SCLD_PLATFORM_ ${SCLD_PLATFORM}
+	fi
+
+	default _EMAIL_FROM_ ${EMAIL_FROM} authz@ems.att.com
+    default _EMAIL_HOST_ ${EMAIL_HOST} mailhost.att.com
+	default _ROUTE_OFFER_ ${ROUTE_OFFER} BAU_SE
+	default _DME_TIMEOUT_ ${DME_TIMEOUT} 3000
+
+	# Choose defaults for log level and logfile size
+	if [ "${SCLD_PLATFORM}" = "PROD" ]; then
+	        LOG4J_LEVEL=WARN
+	fi
+	default _LOG4J_LEVEL_ ${LOG4J_LEVEL} INFO  
+	default _LOG4J_SIZE_ ${LOG4J_SIZE} 10000KB
+	default _LOG_DIR_ ${LOG_DIR} ${ROOT_DIR}/logs
+	default _MAX_LOG_FILE_SIZE_ ${MAX_LOG_FILE_SIZE} 10000KB
+	default _MAX_LOG_FILE_BACKUP_COUNT_ ${MAX_LOG_FILE_BACKUP_COUNT} 7
+	default _RESOURCE_MIN_COUNT_ ${RESOURCE_MIN_COUNT} 1
+	default _RESOURCE_MAX_COUNT_ ${RESOURCE_MAX_COUNT} 1
+
+	required _LOGGING_PROP_FILE_ ${LOGGING_PROP_FILE}
+	required _AFT_LATITUDE_ ${LATITUDE}
+	required _AFT_LONGITUDE_ ${LONGITUDE}
+	required _HOSTNAME_ ${HOSTNAME}
+	
+	# Divide up Version
+	default _MAJOR_VER_ "`expr ${version} : '\([0-9]*\)\..*'`"
+	default _MINOR_VER_ "`expr ${version} : '[0-9]*\.\([0-9]*\)\..*'`"
+	default _PATCH_VER_ "`expr ${version} : '[0-9]\.[0-9]*\.\(.*\)'`"
+
+	
+
+# Now Fail if Required items are not set... 
+# Report all of them at once!
+if [ "${ERRS}" != "" ] ; then
+	fail 1 "${ERRS}"
+fi
+
+#echo ${SED_E}
+
+for i in ${PROPERTIES_FILE} ${LRM_XML} ${LOGGING_PROP_FILE} ${RUN_FILE} ; do
+  if [ -r ${i} ]; then
+	  if [ -w ${i} ]; then
+#	  	echo ${i}
+	     sed ${SED_E} -i'.sed' ${i} || fail 8 "could not sed ${i} "
+	     mv -f ${i}.sed ${ROOT_DIR}/back
+	   fi
+	fi
+done
+
+#
+# Add the resource to LRM using the newly created/substituted XML file.
+#
+# Note: No LRM for authz-test
+#if [ -r ${LRM_XML} ]; then
+#	${LRM_HOME}/bin/lrmcli -addOrUpgrade -file ${LRM_XML} || fail 1 "Add to LRM Failed"
+#	${LRM_HOME}/bin/lrmcli -start -name com.att.authz.${artifactId} -version ${version} -routeoffer ${ROUTE_OFFER} | grep SUCCESS
+#fi
+#
+# Note: Must exit 0 or, it will be exit default 1 and fail
+exit 0
diff --git a/authz-test/src/main/swm/deinstall/postproc/post_proc b/authz-test/src/main/swm/deinstall/postproc/post_proc
new file mode 100644
index 0000000..beec0a2
--- /dev/null
+++ b/authz-test/src/main/swm/deinstall/postproc/post_proc
@@ -0,0 +1,7 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+#!/bin/sh
+exit 0
\ No newline at end of file
diff --git a/authz-test/src/main/swm/deinstall/preproc/pre_proc b/authz-test/src/main/swm/deinstall/preproc/pre_proc
new file mode 100644
index 0000000..2a6a529
--- /dev/null
+++ b/authz-test/src/main/swm/deinstall/preproc/pre_proc
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec sh -x ../../common/deinstall.sh
diff --git a/authz-test/src/main/swm/descriptor.xml b/authz-test/src/main/swm/descriptor.xml
new file mode 100644
index 0000000..625ed2d
--- /dev/null
+++ b/authz-test/src/main/swm/descriptor.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ============LICENSE_START====================================================
+  * org.onap.aaf
+  * ===========================================================================
+  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  * ===========================================================================
+  * Licensed under the Apache License, Version 2.0 (the "License");
+  * you may not use this file except in compliance with the License.
+  * You may obtain a copy of the License at
+  * 
+   *      http://www.apache.org/licenses/LICENSE-2.0
+  * 
+   * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  * ============LICENSE_END====================================================
+  *
+  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  *
+-->
+<descriptor version="1" xmlns="http://aft.att.com/swm/descriptor">
+	<platforms>
+		<platform architecture="*" os="*" osVersions="*"/> 
+	</platforms>
+	<paths>
+		<path name="/opt/app/aft/auth/${artifactId}/${version}" type="d" user="aft" group="aft" permissions="0755" recursive="true"/>
+	</paths>
+	<actions>
+		<action type="INIT">
+			<proc stage="PRE" user="aft" group="aft"/>
+			<proc stage="POST" user="aft" group="aft"/>
+		</action>
+		<action type="INST">
+			<proc stage="PRE" user="aft" group="aft"/>
+			<proc stage="POST" user="aft" group="aft"/>
+		</action>
+		<action type="DINST">
+			<proc stage="PRE" user="aft" group="aft"/>
+			<proc stage="POST" user="aft" group="aft"/>
+		</action>
+		<action type="FALL">
+			<proc stage="PRE" user="aft" group="aft"/>
+			<proc stage="POST" user="aft" group="aft"/>
+		</action>
+	</actions>
+</descriptor>
diff --git a/authz-test/src/main/swm/fallback/postproc/post_proc b/authz-test/src/main/swm/fallback/postproc/post_proc
new file mode 100644
index 0000000..3eb8e6d
--- /dev/null
+++ b/authz-test/src/main/swm/fallback/postproc/post_proc
@@ -0,0 +1,6 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+exec sh -x ../../common/install.sh
\ No newline at end of file
diff --git a/authz-test/src/main/swm/fallback/preproc/pre_proc b/authz-test/src/main/swm/fallback/preproc/pre_proc
new file mode 100644
index 0000000..0895847
--- /dev/null
+++ b/authz-test/src/main/swm/fallback/preproc/pre_proc
@@ -0,0 +1,6 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+exit 0
\ No newline at end of file
diff --git a/authz-test/src/main/swm/initinst/postproc/post_proc b/authz-test/src/main/swm/initinst/postproc/post_proc
new file mode 100644
index 0000000..1f27b41
--- /dev/null
+++ b/authz-test/src/main/swm/initinst/postproc/post_proc
@@ -0,0 +1,6 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+exec sh -x ../../common/install.sh
diff --git a/authz-test/src/main/swm/initinst/preproc/pre_proc b/authz-test/src/main/swm/initinst/preproc/pre_proc
new file mode 100644
index 0000000..beec0a2
--- /dev/null
+++ b/authz-test/src/main/swm/initinst/preproc/pre_proc
@@ -0,0 +1,7 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+#!/bin/sh
+exit 0
\ No newline at end of file
diff --git a/authz-test/src/main/swm/install/postproc/post_proc b/authz-test/src/main/swm/install/postproc/post_proc
new file mode 100644
index 0000000..4cdbce1
--- /dev/null
+++ b/authz-test/src/main/swm/install/postproc/post_proc
@@ -0,0 +1,7 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+
+exec sh -x ../../common/install.sh
diff --git a/authz-test/src/main/swm/install/preproc/pre_proc b/authz-test/src/main/swm/install/preproc/pre_proc
new file mode 100644
index 0000000..807ebdc
--- /dev/null
+++ b/authz-test/src/main/swm/install/preproc/pre_proc
@@ -0,0 +1,7 @@
+#!/bin/sh
+######################################################################
+# $RCSfile$ - $Revision$
+# Copyright 2012 AT&T Intellectual Property. All rights reserved.
+######################################################################
+
+exit 0
diff --git a/authz-test/src/main/swm/packageNotes.txt b/authz-test/src/main/swm/packageNotes.txt
new file mode 100644
index 0000000..cc8c7ee
--- /dev/null
+++ b/authz-test/src/main/swm/packageNotes.txt
@@ -0,0 +1,32 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START====================================================
+# * org.onap.aaf
+# * ===========================================================================
+# * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# * ===========================================================================
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# * 
+#  *      http://www.apache.org/licenses/LICENSE-2.0
+# * 
+#  * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# * ============LICENSE_END====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+The following two commands can be used to create and approve a SWM installation package.
+
+These steps assume:
+	1.  The component has been added in SWM
+	2.  The java6 directory resides, by itself, under the directory '${artifactId}-${version}'
+	3.  The SWM client is executed from the same directory containing '${artifactId}-${version}'
+
+
+    attuid@swmcli- --> component pkgcreate -c ${groupId}:${artifactId}:${version} -d ${artifactId}-${version}
+    attuid@swmcli- --> component pkgapprove -c ${groupId}:${artifactId}:${version}
