summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorThiago da Silva <thiago@redhat.com>2013-10-31 12:02:42 -0400
committerLuis Pabon <lpabon@redhat.com>2013-11-04 11:48:33 -0800
commit621c8b232710c5d827cb56ac776e07fad8d1bee0 (patch)
tree7cabd22c7c14e660e0e829686a70b9e8b9204925 /tools
parent3d68776d358b5c081c6a7aa7892598df5b6b56ed (diff)
first gswauth functional tests
commiting first gswauth functional tests. Currently there are two tests, to create account and to create an user. Each test is self contained in that it goes through the process of creating and deleting accounts and users as needed. More tests will be added shortly. Change-Id: I26d577790aed8c79c9de11f224516423e9769962 Signed-off-by: Thiago da Silva <thiago@redhat.com> Reviewed-on: http://review.gluster.org/6188 Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Luis Pabon <lpabon@redhat.com> Signed-off-by: Thiago da Silva <thiago@redhat.com> Reviewed-on: http://review.gluster.org/6211
Diffstat (limited to 'tools')
-rwxr-xr-xtools/gswauth_functional_tests.sh116
1 files changed, 116 insertions, 0 deletions
diff --git a/tools/gswauth_functional_tests.sh b/tools/gswauth_functional_tests.sh
new file mode 100755
index 0000000..f0d44dd
--- /dev/null
+++ b/tools/gswauth_functional_tests.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+
+# Copyright (c) 2013 Red Hat, Inc.
+#
+# 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.
+
+# This program expects to be run by tox in a virtual python environment
+# so that it does not pollute the host development system
+
+sudo_env()
+{
+ sudo bash -c "PATH=$PATH $*"
+}
+
+cleanup()
+{
+ sudo service memcached stop
+ sudo_env swift-init main stop
+ sudo rm -rf /etc/swift > /dev/null 2>&1
+ sudo rm -rf /mnt/gluster-object/test{,2}/* > /dev/null 2>&1
+ sudo setfattr -x user.swift.metadata /mnt/gluster-object/test{,2} > /dev/null 2>&1
+ gswauth_cleanup
+}
+
+gswauth_cleanup()
+{
+ sudo rm -rf /mnt/gluster-object/gsmetadata/.* > /dev/null 2>&1
+ sudo rm -rf /mnt/gluster-object/gsmetadata/* > /dev/null 2>&1
+ sudo setfattr -x user.swift.metadata /mnt/gluster-object/gsmetadata > /dev/null 2>&1
+}
+
+quit()
+{
+ echo "$1"
+ exit 1
+}
+
+
+fail()
+{
+ cleanup
+ quit "$1"
+}
+
+### MAIN ###
+
+# Only run if there is no configuration in the system
+if [ -x /etc/swift ] ; then
+ quit "/etc/swift exists, cannot run functional tests."
+fi
+
+# Check the directories exist
+DIRS="/mnt/gluster-object /mnt/gluster-object/test /mnt/gluster-object/test2 /mnt/gluster-object/gsmetadata"
+for d in $DIRS ; do
+ if [ ! -x $d ] ; then
+ quit "$d must exist on an XFS or GlusterFS volume"
+ fi
+done
+
+export SWIFT_TEST_CONFIG_FILE=/etc/swift/test.conf
+
+# Install the configuration files
+sudo mkdir /etc/swift > /dev/null 2>&1
+sudo cp -r test/functional_auth/gswauth/conf/* /etc/swift || fail "Unable to copy configuration files to /etc/swift"
+sudo_env gluster-swift-gen-builders test test2 gsmetadata || fail "Unable to create ring files"
+
+# Start the services
+sudo service memcached start || fail "Unable to start memcached"
+sudo_env swift-init main start || fail "Unable to start swift"
+
+#swauth-prep
+sudo_env swauth-prep -K swauthkey || fail "Unable to prep gswauth"
+
+mkdir functional_tests > /dev/null 2>&1
+nosetests -v --exe \
+ --with-xunit \
+ --xunit-file functional_tests/gluster-swift-gswauth-functional-TC-report.xml \
+ --with-html-output \
+ --html-out-file functional_tests/gluster-swift-gswauth-functional-result.html \
+ test/functional_auth/gswauth || fail "Functional gswauth test failed"
+
+# clean up gsmetadata dir
+gswauth_cleanup
+
+#swauth-prep
+sudo_env swauth-prep -K swauthkey || fail "Unable to prep gswauth"
+sudo_env swauth-add-user -K swauthkey -a test tester testing || fail "Unable to add user test"
+sudo_env swauth-add-user -K swauthkey -a test2 tester2 testing2 || fail "Unable to add user test2"
+sudo_env swauth-add-user -K swauthkey test tester3 testing3 || fail "Unable to add user test3"
+
+nosetests -v --exe \
+ --with-xunit \
+ --xunit-file functional_tests/gluster-swift-gswauth-generic-functional-TC-report.xml \
+ --with-html-output \
+ --html-out-file functional_tests/gluster-swift-gswauth-generic-functional-result.html \
+ test/functional || fail "Functional tests failed"
+nosetests -v --exe \
+ --with-xunit \
+ --xunit-file functional_tests/gluster-swift-gswauth-functionalnosetests-TC-report.xml \
+ --with-html-output \
+ --html-out-file functional_tests/gluster-swift-gswauth-functionalnosetests-result.html \
+ test/functionalnosetests || fail "Functional-nose tests failed"
+
+cleanup
+exit 0