Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get user credentials #31

Closed
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Get Admin User Implemented- with small corrections
  • Loading branch information
Anantha Arunachalam committed May 28, 2015
commit ebdf04a724ff9b41321bb549c7aa32cde22271be
200 changes: 1 addition & 199 deletions openstackinabox/tests/test_get_admin_user.py
Original file line number Diff line number Diff line change
@@ -114,202 +114,4 @@ def test_get_admin_user_invalid_token(self):
data='')
self.assertEqual(res.status_code, 401)

'''def test_get_admin_no_token(self):
stackinabox.util_httpretty.httpretty_registration('localhost')

res = requests.post('http://localhost/keystone/v2.0/users',
data=json_data)
self.assertEqual(res.status_code, 403)

def test_user_add_invalid_token(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
json_data = json.dumps(self.user_info)
self.headers['x-auth-token'] = 'new_token'
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 401)

def test_user_add_bad_request(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
del self.user_info['user']['username']
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 400)

def test_user_add_same_user(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
self.user_info['user']['username'] = 'tom'
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 409)

def test_user_add_invalid_username(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
self.user_info['user']['username'] = 'trinity$'
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 400)

def test_user_add_no_password(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
del self.user_info['user']['OS-KSADM:password']
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 201)

def test_user_add_invalid_password(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
self.user_info['user']['OS-KSADM:password'] = 'Inl0veWithNeo$'
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 400)

def __fail_add_user(self, *args, **kwargs):
raise Exception('mock error')

def test_user_add_failed(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']

with mock.patch(
'openstackinabox.models.keystone.model.'
'KeystoneModel.add_user') as mok_keystone_model:
mok_keystone_model.side_effect = Exception('mock error')
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 404)

def test_user_add(self):
stackinabox.util_httpretty.httpretty_registration('localhost')
neo_tenant_id = self.keystone.model.add_tenant(tenantname='neo',
description='The One')
tom = self.keystone.model.add_user(neo_tenant_id,
'tom',
'tom@theone.matrix',
'bluepill',
'iamnottheone',
enabled=True)
self.keystone.model.add_user_role_by_rolename(neo_tenant_id,
tom,
'identity:user-admin')

self.keystone.model.add_token(neo_tenant_id, tom)
json_data = json.dumps(self.user_info)
user_data = self.keystone.model.get_token_by_userid(tom)
self.headers['x-auth-token'] = user_data['token']
res = requests.post('http://localhost/keystone/v2.0/users',
headers=self.headers,
data=json_data)
self.assertEqual(res.status_code, 201)

user_info = self.keystone.model.get_user_by_id(neo_tenant_id,
tom)
self.assertEqual(user_info['userid'], tom)
self.assertEqual(user_info['username'], 'tom')
self.assertEqual(user_info['email'], 'tom@theone.matrix')
self.assertEqual(user_info['password'], 'bluepill')
self.assertEqual(user_info['apikey'], 'iamnottheone')
self.assertTrue(user_info['enabled'])
'''