blob: e19d8c889ac84e838298e236f3b2be02966e10ae [file] [log] [blame]
Attila Fazekas689e2652013-10-07 18:06:57 +02001# Licensed under the Apache License, Version 2.0 (the "License"); you may
2# not use this file except in compliance with the License. You may obtain
3# a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10# License for the specific language governing permissions and limitations
11# under the License.
12
13from tempest.api.image import base
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080014from tempest.lib import decorators
Attila Fazekas689e2652013-10-07 18:06:57 +020015
16
JordanP236da422014-01-16 14:38:07 +000017class ImagesMemberTest(base.BaseV2MemberImageTest):
Attila Fazekas689e2652013-10-07 18:06:57 +020018
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080019 @decorators.idempotent_id('5934c6ea-27dc-4d6e-9421-eeb5e045494a')
Attila Fazekas689e2652013-10-07 18:06:57 +020020 def test_image_share_accept(self):
21 image_id = self._create_image()
ghanshyam8a3f49a2016-06-08 18:23:31 +090022 member = self.image_member_client.create_image_member(
Ken'ichi Ohmichi9dacbe02015-11-30 12:01:39 +000023 image_id, member=self.alt_tenant_id)
guo yunxian3ae19472016-12-01 18:54:29 +080024 self.addCleanup(self.image_member_client.delete_image_member,
25 image_id, self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020026 self.assertEqual(member['member_id'], self.alt_tenant_id)
27 self.assertEqual(member['image_id'], image_id)
28 self.assertEqual(member['status'], 'pending')
29 self.assertNotIn(image_id, self._list_image_ids_as_alt())
ghanshyam71db8f52016-06-07 17:02:38 +090030 self.alt_image_member_client.update_image_member(image_id,
31 self.alt_tenant_id,
32 status='accepted')
Attila Fazekas689e2652013-10-07 18:06:57 +020033 self.assertIn(image_id, self._list_image_ids_as_alt())
ghanshyam8a3f49a2016-06-08 18:23:31 +090034 body = self.image_member_client.list_image_members(image_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020035 members = body['members']
Attila Fazekas689e2652013-10-07 18:06:57 +020036 self.assertEqual(len(members), 1, str(members))
zhufla2de09b2018-09-12 17:51:01 +080037 member = members[0]
Attila Fazekas689e2652013-10-07 18:06:57 +020038 self.assertEqual(member['member_id'], self.alt_tenant_id)
39 self.assertEqual(member['image_id'], image_id)
40 self.assertEqual(member['status'], 'accepted')
41
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080042 @decorators.idempotent_id('d9e83e5f-3524-4b38-a900-22abcb26e90e')
Attila Fazekas689e2652013-10-07 18:06:57 +020043 def test_image_share_reject(self):
44 image_id = self._create_image()
ghanshyam8a3f49a2016-06-08 18:23:31 +090045 member = self.image_member_client.create_image_member(
Ken'ichi Ohmichi9dacbe02015-11-30 12:01:39 +000046 image_id, member=self.alt_tenant_id)
guo yunxian3ae19472016-12-01 18:54:29 +080047 self.addCleanup(self.image_member_client.delete_image_member,
48 image_id, self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020049 self.assertEqual(member['member_id'], self.alt_tenant_id)
50 self.assertEqual(member['image_id'], image_id)
51 self.assertEqual(member['status'], 'pending')
52 self.assertNotIn(image_id, self._list_image_ids_as_alt())
ghanshyam71db8f52016-06-07 17:02:38 +090053 self.alt_image_member_client.update_image_member(image_id,
54 self.alt_tenant_id,
55 status='rejected')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040056 self.assertNotIn(image_id, self._list_image_ids_as_alt())
57
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080058 @decorators.idempotent_id('a6ee18b9-4378-465e-9ad9-9a6de58a3287')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040059 def test_get_image_member(self):
60 image_id = self._create_image()
ghanshyam8a3f49a2016-06-08 18:23:31 +090061 self.image_member_client.create_image_member(
Ken'ichi Ohmichi9dacbe02015-11-30 12:01:39 +000062 image_id, member=self.alt_tenant_id)
guo yunxian3ae19472016-12-01 18:54:29 +080063 self.addCleanup(self.image_member_client.delete_image_member,
64 image_id, self.alt_tenant_id)
ghanshyam71db8f52016-06-07 17:02:38 +090065 self.alt_image_member_client.update_image_member(image_id,
66 self.alt_tenant_id,
67 status='accepted')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040068
69 self.assertIn(image_id, self._list_image_ids_as_alt())
ghanshyam8a3f49a2016-06-08 18:23:31 +090070 member = self.image_member_client.show_image_member(
ghanshyam71db8f52016-06-07 17:02:38 +090071 image_id, self.alt_tenant_id)
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040072 self.assertEqual(self.alt_tenant_id, member['member_id'])
73 self.assertEqual(image_id, member['image_id'])
74 self.assertEqual('accepted', member['status'])
75
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080076 @decorators.idempotent_id('72989bc7-2268-48ed-af22-8821e835c914')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040077 def test_remove_image_member(self):
78 image_id = self._create_image()
ghanshyam8a3f49a2016-06-08 18:23:31 +090079 self.image_member_client.create_image_member(
Ken'ichi Ohmichi9dacbe02015-11-30 12:01:39 +000080 image_id, member=self.alt_tenant_id)
ghanshyam71db8f52016-06-07 17:02:38 +090081 self.alt_image_member_client.update_image_member(image_id,
82 self.alt_tenant_id,
83 status='accepted')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040084
85 self.assertIn(image_id, self._list_image_ids_as_alt())
ghanshyam8a3f49a2016-06-08 18:23:31 +090086 self.image_member_client.delete_image_member(image_id,
87 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020088 self.assertNotIn(image_id, self._list_image_ids_as_alt())
raiesmh084b980eb2014-03-11 09:40:49 +053089
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080090 @decorators.idempotent_id('634dcc3f-f6e2-4409-b8fd-354a0bb25d83')
raiesmh084b980eb2014-03-11 09:40:49 +053091 def test_get_image_member_schema(self):
Ken'ichi Ohmichi190b24e2016-06-07 23:20:09 +090092 body = self.schemas_client.show_schema("member")
raiesmh084b980eb2014-03-11 09:40:49 +053093 self.assertEqual("member", body['name'])
94
Ken'ichi Ohmichif35efa22017-01-27 17:55:24 -080095 @decorators.idempotent_id('6ae916ef-1052-4e11-8d36-b3ae14853cbb')
raiesmh084b980eb2014-03-11 09:40:49 +053096 def test_get_image_members_schema(self):
Ken'ichi Ohmichi190b24e2016-06-07 23:20:09 +090097 body = self.schemas_client.show_schema("members")
raiesmh084b980eb2014-03-11 09:40:49 +053098 self.assertEqual("members", body['name'])