blob: ec1cf14bee7f8a27d9be574343352c1873afd31d [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
Eiichi Aikawa9012f462014-03-05 16:43:32 +090014from tempest import test
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 _interface = 'json'
19
Eiichi Aikawa9012f462014-03-05 16:43:32 +090020 @test.attr(type='gate')
Attila Fazekas689e2652013-10-07 18:06:57 +020021 def test_image_share_accept(self):
22 image_id = self._create_image()
David Kranz34f18782015-01-06 13:43:55 -050023 member = self.os_img_client.add_member(image_id,
24 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020025 self.assertEqual(member['member_id'], self.alt_tenant_id)
26 self.assertEqual(member['image_id'], image_id)
27 self.assertEqual(member['status'], 'pending')
28 self.assertNotIn(image_id, self._list_image_ids_as_alt())
29 self.alt_img_client.update_member_status(image_id,
30 self.alt_tenant_id,
31 'accepted')
32 self.assertIn(image_id, self._list_image_ids_as_alt())
David Kranz34f18782015-01-06 13:43:55 -050033 body = self.os_img_client.get_image_membership(image_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020034 members = body['members']
35 member = members[0]
36 self.assertEqual(len(members), 1, str(members))
37 self.assertEqual(member['member_id'], self.alt_tenant_id)
38 self.assertEqual(member['image_id'], image_id)
39 self.assertEqual(member['status'], 'accepted')
40
Eiichi Aikawa9012f462014-03-05 16:43:32 +090041 @test.attr(type='gate')
Attila Fazekas689e2652013-10-07 18:06:57 +020042 def test_image_share_reject(self):
43 image_id = self._create_image()
David Kranz34f18782015-01-06 13:43:55 -050044 member = self.os_img_client.add_member(image_id,
45 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020046 self.assertEqual(member['member_id'], self.alt_tenant_id)
47 self.assertEqual(member['image_id'], image_id)
48 self.assertEqual(member['status'], 'pending')
49 self.assertNotIn(image_id, self._list_image_ids_as_alt())
David Kranz9c3b3b62014-06-19 16:05:53 -040050 self.alt_img_client.update_member_status(image_id,
51 self.alt_tenant_id,
52 'rejected')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040053 self.assertNotIn(image_id, self._list_image_ids_as_alt())
54
Eiichi Aikawa9012f462014-03-05 16:43:32 +090055 @test.attr(type='gate')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040056 def test_get_image_member(self):
57 image_id = self._create_image()
58 self.os_img_client.add_member(image_id,
59 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020060 self.alt_img_client.update_member_status(image_id,
61 self.alt_tenant_id,
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040062 'accepted')
63
64 self.assertIn(image_id, self._list_image_ids_as_alt())
David Kranz34f18782015-01-06 13:43:55 -050065 member = self.os_img_client.get_member(image_id,
66 self.alt_tenant_id)
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040067 self.assertEqual(self.alt_tenant_id, member['member_id'])
68 self.assertEqual(image_id, member['image_id'])
69 self.assertEqual('accepted', member['status'])
70
Eiichi Aikawa9012f462014-03-05 16:43:32 +090071 @test.attr(type='gate')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040072 def test_remove_image_member(self):
73 image_id = self._create_image()
74 self.os_img_client.add_member(image_id,
75 self.alt_tenant_id)
76 self.alt_img_client.update_member_status(image_id,
77 self.alt_tenant_id,
78 'accepted')
79
80 self.assertIn(image_id, self._list_image_ids_as_alt())
David Kranz9c3b3b62014-06-19 16:05:53 -040081 self.os_img_client.remove_member(image_id, self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020082 self.assertNotIn(image_id, self._list_image_ids_as_alt())
raiesmh084b980eb2014-03-11 09:40:49 +053083
84 @test.attr(type='gate')
85 def test_get_image_member_schema(self):
David Kranz34f18782015-01-06 13:43:55 -050086 body = self.os_img_client.get_schema("member")
raiesmh084b980eb2014-03-11 09:40:49 +053087 self.assertEqual("member", body['name'])
88
89 @test.attr(type='gate')
90 def test_get_image_members_schema(self):
David Kranz34f18782015-01-06 13:43:55 -050091 body = self.os_img_client.get_schema("members")
raiesmh084b980eb2014-03-11 09:40:49 +053092 self.assertEqual("members", body['name'])