summaryrefslogtreecommitdiffstats
path: root/test/functional_auth/gswauth
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional_auth/gswauth')
-rw-r--r--test/functional_auth/gswauth/test_gswauth.py7
-rw-r--r--test/functional_auth/gswauth/test_gswauth_cli.py72
2 files changed, 75 insertions, 4 deletions
diff --git a/test/functional_auth/gswauth/test_gswauth.py b/test/functional_auth/gswauth/test_gswauth.py
index 3ee3f5d..5219f13 100644
--- a/test/functional_auth/gswauth/test_gswauth.py
+++ b/test/functional_auth/gswauth/test_gswauth.py
@@ -227,15 +227,16 @@ class TestGSWauth(unittest.TestCase):
# attempt to change password
path = '%sv2/%s/%s' % (config['auth_prefix'], config['account'],
config['username'])
- headers = self._get_admin_headers()
+ headers = {'X-Auth-Admin-User':
+ config['account'] + ':' + config['username'],
+ 'X-Auth-Admin-Key': config['password']}
headers.update({'X-Auth-User-Key': 'newpassword',
'Content-Length': '0',
- 'X-Auth-Admin-Key': config['password'],
'X-Auth-User-Admin': 'true'})
conn = http_connect(config['auth_host'], config['auth_port'], 'PUT',
path, headers)
resp = conn.getresponse()
- self.assertTrue(resp.status == 401)
+ self.assertTrue(resp.status == 201)
finally:
try:
diff --git a/test/functional_auth/gswauth/test_gswauth_cli.py b/test/functional_auth/gswauth/test_gswauth_cli.py
index e128b54..8cac619 100644
--- a/test/functional_auth/gswauth/test_gswauth_cli.py
+++ b/test/functional_auth/gswauth/test_gswauth_cli.py
@@ -278,4 +278,74 @@ class TestUser(unittest.TestCase):
#TODO:more testcases?
-
+ def testChangeKey(self):
+ # Create account and users
+ (status, output) = Utils.addAccount('test')
+ self.assertEqual(status, 0, 'Account creation failed: ' + output)
+
+ (status, output) = Utils.addAdminUser('test', 'admin', 'password')
+ self.assertEqual(status, 0, 'User addition failed: ' + output)
+
+ (status, output) = Utils.addUser('test', 'user', 'password')
+ self.assertEqual(status, 0, 'User addition failed: ' + output)
+
+ (status, output) = Utils.addResellerAdminUser('test', 'radmin', 'password')
+ self.assertEqual(status, 0, 'User addition failed: ' + output)
+
+ # Change acccount admin password/key
+ (status, output) = Utils.addAdminUser('test', 'admin', 'new_password', user='test:admin', key='password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Change regular user password/key
+ (status, output) = Utils.addUser('test', 'user', 'new_password', user='test:user', key='password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Change reseller admin password/key
+ (status, output) = Utils.addResellerAdminUser('test', 'radmin', 'new_password', user='test:radmin', key='password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # To verify that password was changed for real, re-run the above commands, but with the new password
+ # Change acccount admin password/key using the new password
+ (status, output) = Utils.addAdminUser('test', 'admin', 'password', user='test:admin', key='new_password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Change regular user password/key using the new password
+ (status, output) = Utils.addUser('test', 'user', 'password', user='test:user', key='new_password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Change reseller admin password/key using the new password
+ (status, output) = Utils.addResellerAdminUser('test', 'radmin', 'password', user='test:radmin', key='new_password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Make sure that regular user cannot upgrade to admin
+ (status, output) = Utils.addAdminUser('test', 'user', 'password', user='test:user', key='password')
+ self.assertEqual('User creation failed' in output, True, 'Update key failed: ' + output)
+
+ # Make sure that regular user cannot upgrade to reseller_admin
+ (status, output) = Utils.addResellerAdminUser('test', 'user', 'password', user='test:user', key='password')
+ self.assertEqual('User creation failed' in output, True, 'Update key failed: ' + output)
+
+ # Make sure admin cannot update himself to reseller_admin
+ (status, output) = Utils.addResellerAdminUser('test', 'admin', 'password', user='test:admin', key='password')
+ self.assertEqual('User creation failed' in output, True, 'Update key failed: ' + output)
+
+ # Account admin changing regular user password/key
+ (status, output) = Utils.addUser('test', 'user', 'new_password', user='test:admin', key='password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+ # Verify by running the command with new password
+ (status, output) = Utils.addUser('test', 'user', 'password', user='test:user', key='new_password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Reseller admin changing regular user password/key
+ (status, output) = Utils.addUser('test', 'user', 'new_password', user='test:radmin', key='password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+ # Verify by running the command with new password
+ (status, output) = Utils.addUser('test', 'user', 'password', user='test:user', key='new_password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+
+ # Reseller admin changing account admin password/key
+ (status, output) = Utils.addAdminUser('test', 'admin', 'new_password', user='test:radmin', key='password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)
+ # Verify by running the command with new password
+ (status, output) = Utils.addAdminUser('test', 'admin', 'password', user='test:admin', key='new_password')
+ self.assertEqual(status, 0, 'Update key failed: ' + output)