Implementing delete-group endpoint and appropriate test case

This commit is contained in:
Robin Taylor 2019-04-20 22:50:28 +01:00 committed by Bert Blommers
parent 0c3d7c4f04
commit 876ff476f1
3 changed files with 23 additions and 0 deletions

View File

@ -1221,6 +1221,12 @@ class IAMBackend(BaseBackend):
group = self.get_group(group_name)
return group.get_policy(policy_name)
def delete_group(self, group_name):
try:
del self.groups[group_name]
except KeyError:
raise IAMNotFoundException("Group {0} not found".format(group_name))
def create_user(self, user_name, path="/"):
if user_name in self.users:
raise IAMConflictException(

View File

@ -428,6 +428,12 @@ class IamResponse(BaseResponse):
template = self.response_template(GET_GROUP_POLICY_TEMPLATE)
return template.render(name="GetGroupPolicyResponse", **policy_result)
def delete_group(self):
group_name = self._get_param('GroupName')
iam_backend.delete_group(group_name)
template = self.response_template(GENERIC_EMPTY_TEMPLATE)
return template.render(name='DeleteGroup')
def create_user(self):
user_name = self._get_param("UserName")
path = self._get_param("Path")

View File

@ -182,3 +182,14 @@ def test_list_group_policies():
conn.list_group_policies(GroupName="my-group")["PolicyNames"].should.equal(
["my-policy"]
)
@mock_iam
def test_delete_group():
conn = boto3.client('iam', region_name='us-east-1')
conn.create_group(GroupName='my-group')
groups = conn.list_groups()
assert groups['Groups'][0]['GroupName'] == 'my-group'
assert len(groups['Groups']) == 1
conn.delete_group(GroupName='my-group')
conn.list_groups()['Groups'].should.be.empty