diff options
author | Thiago da Silva <thiago@redhat.com> | 2013-10-31 14:17:22 -0400 |
---|---|---|
committer | Luis Pabon <lpabon@redhat.com> | 2013-11-04 10:51:41 -0800 |
commit | 0c34fa6085f96666429cc1835f6d69854a70530b (patch) | |
tree | 1820d3cd8a217c8a89a96feea1d2c9fbb5c5e3c7 /test/functional_auth/gswauth/test_gswauth.py | |
parent | 9f8d2e61a79defd22fb4aa064ff5a5b936730b53 (diff) |
additional gswauth functional tests
These tests cover account registration and de-registration
user creation/delete, and listing of both account and user
Change-Id: Ie622daccfc8e2d2fb45565952a99d7d832ce1189
Signed-off-by: Thiago da Silva <thiago@redhat.com>
Reviewed-on: http://review.gluster.org/6212
Reviewed-by: Luis Pabon <lpabon@redhat.com>
Tested-by: Luis Pabon <lpabon@redhat.com>
Diffstat (limited to 'test/functional_auth/gswauth/test_gswauth.py')
-rw-r--r-- | test/functional_auth/gswauth/test_gswauth.py | 66 |
1 files changed, 55 insertions, 11 deletions
diff --git a/test/functional_auth/gswauth/test_gswauth.py b/test/functional_auth/gswauth/test_gswauth.py index 069270e..f14ff8a 100644 --- a/test/functional_auth/gswauth/test_gswauth.py +++ b/test/functional_auth/gswauth/test_gswauth.py @@ -15,6 +15,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +try: + import simplejson as json +except ImportError: + import json import unittest from nose import SkipTest from swift.common.bufferedhttp import http_connect_raw as http_connect @@ -36,7 +40,7 @@ class TestGSWauth(unittest.TestCase): return {'X-Auth-Admin-User': config['admin_user'], 'X-Auth-Admin-Key': config['admin_key']} - def _check_test_account_does_not_exist(self): + def _check_test_account_is_not_registered(self): # check account exists path = '%sv2/%s' % (config['auth_prefix'], config['account']) @@ -47,7 +51,7 @@ class TestGSWauth(unittest.TestCase): resp = conn.getresponse() self.assertTrue(resp.status == 404) - def _create_test_account(self): + def _register_test_account(self): # create account in swauth (not a swift account) # This current version only supports one account per volume # and the account name is the same as the volume name @@ -61,9 +65,9 @@ class TestGSWauth(unittest.TestCase): resp = conn.getresponse() self.assertTrue(resp.status == 201) - def _delete_test_account(self): + def _deregister_test_account(self): # delete account in swauth (not a swift account) - # @see _create_test_account + # @see _register_test_account path = '%sv2/%s' % (config['auth_prefix'], config['account']) headers = self._get_admin_headers() headers.update({'Content-Length': '0'}) @@ -72,15 +76,31 @@ class TestGSWauth(unittest.TestCase): resp = conn.getresponse() self.assertTrue(resp.status == 204) - def test_add_account(self): - self._check_test_account_does_not_exist() - self._create_test_account() - self._delete_test_account() + def test_register_account(self): + # check and register account + self._check_test_account_is_not_registered() + self._register_test_account() + + try: + # list account + path = '%sv2/%s' % (config['auth_prefix'], config['account']) + headers = self._get_admin_headers() + conn = http_connect(config['auth_host'], config['auth_port'], + 'GET', path, headers) + resp = conn.getresponse() + body = resp.read() + info = json.loads(body) + self.assertEqual(info['account_id'], 'AUTH_test') + self.assertTrue(resp.status == 200) + + finally: + # de-register account + self._deregister_test_account() def test_add_user(self): - # check and create account - self._check_test_account_does_not_exist() - self._create_test_account() + # check and register account + self._check_test_account_is_not_registered() + self._register_test_account() # create user path = '%sv2/%s/%s' % (config['auth_prefix'], config['account'], @@ -93,3 +113,27 @@ class TestGSWauth(unittest.TestCase): path, headers) resp = conn.getresponse() self.assertTrue(resp.status == 201) + + try: + # list user + headers = self._get_admin_headers() + conn = http_connect(config['auth_host'], config['auth_port'], + 'GET', path, headers) + resp = conn.getresponse() + body = resp.read() + self.assertEqual(body, '{"groups": [{"name": "test:tester"}, {"name":' + ' "test"}, {"name": ".admin"}], "auth": "plaintext:testing"}') + self.assertTrue(resp.status == 200) + + finally: + try: + # delete user + headers = self._get_admin_headers() + conn = http_connect(config['auth_host'], config['auth_port'], + 'DELETE', path, headers) + resp = conn.getresponse() + self.assertTrue(resp.status == 204) + + finally: + # de-register account + self._deregister_test_account() |