Added get_user and delete_access_key endpoints.
This commit is contained in:
parent
ac74af4085
commit
a3b02f3f8b
@ -135,6 +135,14 @@ class User(object):
|
||||
def get_all_access_keys(self):
|
||||
return self.access_keys
|
||||
|
||||
def delete_access_key(self, access_key_id):
|
||||
for key in self.access_keys:
|
||||
if key.access_key_id == access_key_id:
|
||||
self.access_keys.remove(key)
|
||||
break
|
||||
else:
|
||||
raise BotoServerError(404, 'Not Found')
|
||||
|
||||
|
||||
class IAMBackend(BaseBackend):
|
||||
|
||||
@ -207,7 +215,6 @@ class IAMBackend(BaseBackend):
|
||||
return group
|
||||
|
||||
def get_group(self, group_name, marker=None, max_items=None):
|
||||
|
||||
group = None
|
||||
try:
|
||||
group = self.groups[group_name]
|
||||
@ -224,6 +231,15 @@ class IAMBackend(BaseBackend):
|
||||
self.users[user_name] = user
|
||||
return user
|
||||
|
||||
def get_user(self, user_name):
|
||||
user = None
|
||||
try:
|
||||
user = self.users[user_name]
|
||||
except KeyError:
|
||||
raise BotoServerError(404, 'Not Found')
|
||||
|
||||
return user
|
||||
|
||||
def add_user_to_group(self, group_name, user_name):
|
||||
group = None
|
||||
user = None
|
||||
@ -292,6 +308,13 @@ class IAMBackend(BaseBackend):
|
||||
|
||||
return keys
|
||||
|
||||
def delete_access_key(self, access_key_id, user_name):
|
||||
try:
|
||||
user = self.users[user_name]
|
||||
user.delete_access_key(access_key_id)
|
||||
except KeyError:
|
||||
raise BotoServerError(404, 'Not Found')
|
||||
|
||||
def delete_user(self, user_name):
|
||||
try:
|
||||
del self.users[user_name]
|
||||
|
@ -106,6 +106,12 @@ class IamResponse(BaseResponse):
|
||||
template = Template(USER_TEMPLATE)
|
||||
return template.render(action='Create', user=user)
|
||||
|
||||
def get_user(self):
|
||||
user_name = self._get_param('UserName')
|
||||
user = iam_backend.get_user(user_name)
|
||||
template = Template(USER_TEMPLATE)
|
||||
return template.render(action='Get', user=user)
|
||||
|
||||
def add_user_to_group(self):
|
||||
group_name = self._get_param('GroupName')
|
||||
user_name = self._get_param('UserName')
|
||||
@ -165,6 +171,14 @@ class IamResponse(BaseResponse):
|
||||
template = Template(LIST_ACCESS_KEYS_TEMPLATE)
|
||||
return template.render(user_name=user_name, keys=keys)
|
||||
|
||||
def delete_access_key(self):
|
||||
user_name = self._get_param('UserName')
|
||||
access_key_id = self._get_param('AccessKeyId')
|
||||
|
||||
iam_backend.delete_access_key(access_key_id, user_name)
|
||||
template = Template(GENERIC_EMPTY_TEMPLATE)
|
||||
return template.render(name='DeleteAccessKey')
|
||||
|
||||
def delete_user(self):
|
||||
user_name = self._get_param('UserName')
|
||||
iam_backend.delete_user(user_name)
|
||||
|
@ -84,6 +84,14 @@ def test_create_user():
|
||||
assert_raises(BotoServerError, conn.create_user, 'my-user')
|
||||
|
||||
|
||||
@mock_iam()
|
||||
def test_get_user():
|
||||
conn = boto.connect_iam()
|
||||
assert_raises(BotoServerError, conn.get_user, 'my-user')
|
||||
conn.create_user('my-user')
|
||||
conn.get_user('my-user')
|
||||
|
||||
|
||||
@mock_iam()
|
||||
def test_add_user_to_group():
|
||||
conn = boto.connect_iam()
|
||||
@ -130,6 +138,13 @@ def test_get_all_access_keys():
|
||||
)
|
||||
|
||||
|
||||
@mock_iam()
|
||||
def test_delete_access_key():
|
||||
conn = boto.connect_iam()
|
||||
conn.create_user('my-user')
|
||||
access_key_id = conn.create_access_key('my-user')['create_access_key_response']['create_access_key_result']['access_key']['access_key_id']
|
||||
conn.delete_access_key(access_key_id, 'my-user')
|
||||
|
||||
|
||||
@mock_iam()
|
||||
def test_delete_user():
|
||||
|
Loading…
Reference in New Issue
Block a user