Merge "Adds "list-groups" testcase to v3/test_groups"
diff --git a/tempest/api/identity/admin/v3/test_groups.py b/tempest/api/identity/admin/v3/test_groups.py
index 64dba7d..d8c7063 100644
--- a/tempest/api/identity/admin/v3/test_groups.py
+++ b/tempest/api/identity/admin/v3/test_groups.py
@@ -91,3 +91,22 @@
user_groups = self.client.list_user_groups(user['id'])
self.assertEqual(sorted(groups), sorted(user_groups))
self.assertEqual(2, len(user_groups))
+
+ @test.attr(type='smoke')
+ def test_list_groups(self):
+ # Test to list groups
+ group_ids = list()
+ fetched_ids = list()
+ for _ in range(3):
+ name = data_utils.rand_name('Group')
+ description = data_utils.rand_name('Description')
+ group = self.client.create_group(name,
+ description=description)
+ self.addCleanup(self.client.delete_group, group['id'])
+ group_ids.append(group['id'])
+ # List and Verify Groups
+ body = self.client.list_groups()
+ for g in body:
+ fetched_ids.append(g['id'])
+ missing_groups = [g for g in group_ids if g not in fetched_ids]
+ self.assertEqual([], missing_groups)
diff --git a/tempest/services/identity/v3/json/identity_client.py b/tempest/services/identity/v3/json/identity_client.py
index 4d333c0..6010249 100644
--- a/tempest/services/identity/v3/json/identity_client.py
+++ b/tempest/services/identity/v3/json/identity_client.py
@@ -316,6 +316,13 @@
body = json.loads(body)
return service_client.ResponseBody(resp, body['group'])
+ def list_groups(self):
+ """Lists the groups."""
+ resp, body = self.get('groups')
+ self.expected_success(200, resp.status)
+ body = json.loads(body)
+ return service_client.ResponseBodyList(resp, body['groups'])
+
def update_group(self, group_id, **kwargs):
"""Updates a group."""
body = self.get_group(group_id)