summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsg481n <sg481n@att.com>2017-09-27 15:05:11 +0000
committersg481n <sg481n@att.com>2017-09-27 16:42:47 +0000
commit0b5f6ae9175971a3bf9e630c2d9782c36409855a (patch)
tree55b3f802421525f7dec1eba7ed4f5ff292603aa1
parent54f5297fd7ff7ab8e3e60940203e1c691a0ce423 (diff)
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>
-rw-r--r--test/csit/plans/aaf/aafapi/setup.sh72
-rw-r--r--test/csit/plans/aaf/aafapi/teardown.sh22
-rw-r--r--test/csit/plans/aaf/aafapi/testplan.txt2
-rw-r--r--test/csit/tests/aaf/aafapi/aafapi.robot63
4 files changed, 159 insertions, 0 deletions
diff --git a/test/csit/plans/aaf/aafapi/setup.sh b/test/csit/plans/aaf/aafapi/setup.sh
new file mode 100644
index 000000000..bfaff925c
--- /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 000000000..1f7b2853d
--- /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 000000000..ea18ca6d8
--- /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 000000000..b1f8e746d
--- /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