Add aaf robot testcases to integration

Adding csit testcases of aaf to integration project.
Modified setup.sh and aafapi.robot file

Issue-id: AAF-78
Change-Id: I7c1c194d632583fbd8ed0764b40ec8aa95a307e0
Signed-off-by: sg481n <sg481n@att.com>
diff --git a/test/csit/plans/aaf/aafapi/setup.sh b/test/csit/plans/aaf/aafapi/setup.sh
new file mode 100644
index 0000000..bfaff92
--- /dev/null
+++ b/test/csit/plans/aaf/aafapi/setup.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP AAF
+# ================================================================================
+# Copyright (C) 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.
+#
+# Place the scripts in run order:
+source ${SCRIPTS}/common_functions.sh
+
+# Clone AAF Authz repo
+mkdir -p $WORKSPACE/archives/aafcsit
+cd $WORKSPACE/archives/aafcsit
+#unset http_proxy https_proxy
+git clone --depth 1 http://gerrit.onap.org/r/aaf/authz -b master
+git pull
+cd $WORKSPACE/archives/aafcsit/authz/authz-service/src/main/resources/docker-compose
+pwd
+chmod -R 777 $WORKSPACE/archives/aafcsit/authz/authz-service/src/main/resources/docker-compose
+
+
+# start aaf containers with docker compose and configuration from docker-compose.yml
+docker-compose up -d
+
+# Wait for initialization of Docker contaienr for AAF & Cassandra
+for i in {1..50}; do
+	if [ $(docker inspect --format '{{ .State.Running }}' dockercompose_aaf_container_1) ] && \
+		[ $(docker inspect --format '{{ .State.Running }}' dockercompose_cassandra_container_1) ] && \
+		[ $(docker inspect --format '{{ .State.Running }}' dockercompose_aaf_container_1) ] 
+	then
+		echo "AAF Service Running"	
+		break    		
+	else 
+		echo sleep $i		
+		sleep $i
+	fi
+done
+
+
+AAF_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_aaf_container_1)
+CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_cassandra_container_1)
+
+
+echo AAF_IP=${AAF_IP}
+echo CASSANDRA_IP=${CASSANDRA_IP}
+
+
+# Wait for initialization of docker services
+for i in {1..50}; do
+    curl -sS -m 1 ${AAF_IP}:8101 && break 
+    echo sleep $i
+    sleep $i
+done
+
+#Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v AAF_IP:${AAF_IP}" 
diff --git a/test/csit/plans/aaf/aafapi/teardown.sh b/test/csit/plans/aaf/aafapi/teardown.sh
new file mode 100644
index 0000000..1f7b285
--- /dev/null
+++ b/test/csit/plans/aaf/aafapi/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+#
+# Modifications copyright (c) 2017 AT&T Intellectual Property
+#
+
+kill-instance.sh dockercompose_aaf_container_1 
+kill-instance.sh dockercompose_cassandra_container_1 
+
diff --git a/test/csit/plans/aaf/aafapi/testplan.txt b/test/csit/plans/aaf/aafapi/testplan.txt
new file mode 100644
index 0000000..ea18ca6
--- /dev/null
+++ b/test/csit/plans/aaf/aafapi/testplan.txt
@@ -0,0 +1,2 @@
+# Place the suites in run order.
+aaf/aafapi
diff --git a/test/csit/tests/aaf/aafapi/aafapi.robot b/test/csit/tests/aaf/aafapi/aafapi.robot
new file mode 100644
index 0000000..b1f8e74
--- /dev/null
+++ b/test/csit/tests/aaf/aafapi/aafapi.robot
@@ -0,0 +1,63 @@
+*** Settings ***
+Library           OperatingSystem
+Library           RequestsLibrary
+Library           requests
+Library           Collections
+Library           String
+
+*** Variables ***
+${TARGETURL_NAMESPACE}     http://${AAF_IP}:8101/authz/nss/org.openecomp
+${TARGETURL_PERMS}         http://${AAF_IP}:8101/authz/perms/user/dgl@openecomp.org
+${TARGETURL_ROLES}         http://${AAF_IP}:8101/authz/roles/user/dgl@openecomp.org
+${username}               dgl@openecomp.org 
+${password}               ecomp_admin
+
+
+*** Test Cases ***
+View Namesapce
+    [Tags]    get
+    CreateSession    aaf    http://${AAF_IP}:8101
+    &{headers}=  Create Dictionary    Authorization=Basic ZGdsQG9wZW5lY29tcC5vcmc6ZWNvbXBfYWRtaW4=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    aaf    /authz/nss/org.openecomp    headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    log    		                  	'JSON Response Code :'${resp.text}	
+	
+View by User Permission 
+    [Tags]    get
+    CreateSession    aaf    http://${AAF_IP}:8101
+    &{headers}=  Create Dictionary    Authorization=Basic ZGdsQG9wZW5lY29tcC5vcmc6ZWNvbXBfYWRtaW4=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    aaf    authz/perms/user/dgl@openecomp.org    headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    log    		                  	'JSON Response Code :'${resp.text}	
+	
+View by User Role 
+    [Tags]    get
+    CreateSession    aaf    http://${AAF_IP}:8101
+    &{headers}=  Create Dictionary    Authorization=Basic ZGdsQG9wZW5lY29tcC5vcmc6ZWNvbXBfYWRtaW4=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    aaf    authz/roles/user/dgl@openecomp.org    headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    log    		                  	'JSON Response Code :'${resp.text}	
+
+Cleanup Namespace ( 424 Response - Delete dependencies and try again) 
+    [Tags]    delete
+    CreateSession    aaf    http://${AAF_IP}:8101
+    &{headers}=  Create Dictionary    Authorization=Basic ZGdsQG9wZW5lY29tcC5vcmc6ZWNvbXBfYWRtaW4=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Delete Request    aaf    authz/ns/org.openecomp.dmaapBC   headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    424
+    log    		                  	'JSON Response Code :'${resp.text}	
+	
+Add Data ( Add Admin to Namespace Explicit ) 
+    [Tags]    post
+    CreateSession    aaf    http://${AAF_IP}:8101
+    &{headers}=  Create Dictionary    Authorization=Basic ZGdsQG9wZW5lY29tcC5vcmc6ZWNvbXBfYWRtaW4=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    aaf    authz/ns/org.openecomp.dmaapBC/admin/alexD@openecomp.org   headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    403
+    log    		                  	'JSON Response Code :'${resp.text}	
+	
+View Explicit Permission 
+    [Tags]    post
+    CreateSession    aaf    http://${AAF_IP}:8101
+    &{headers}=  Create Dictionary    Authorization=Basic ZGdsQG9wZW5lY29tcC5vcmc6ZWNvbXBfYWRtaW4=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    aaf    authz/perms/user/m99751@dmaapBC.openecomp.org   headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    406
+    log    		                  	'JSON Response Code :'${resp.text}	
\ No newline at end of file