blob: 956829ed97e7d974ffab890eec759bc6102e9aa6 [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
Eiichi Aikawa9012f462014-03-05 16:43:32 +090019 @test.attr(type='gate')
Attila Fazekas689e2652013-10-07 18:06:57 +020020 def test_image_share_accept(self):
21 image_id = self._create_image()
David Kranz34f18782015-01-06 13:43:55 -050022 member = self.os_img_client.add_member(image_id,
23 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020024 self.assertEqual(member['member_id'], self.alt_tenant_id)
25 self.assertEqual(member['image_id'], image_id)
26 self.assertEqual(member['status'], 'pending')
27 self.assertNotIn(image_id, self._list_image_ids_as_alt())
28 self.alt_img_client.update_member_status(image_id,
29 self.alt_tenant_id,
30 'accepted')
31 self.assertIn(image_id, self._list_image_ids_as_alt())
David Kranz34f18782015-01-06 13:43:55 -050032 body = self.os_img_client.get_image_membership(image_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020033 members = body['members']
34 member = members[0]
35 self.assertEqual(len(members), 1, str(members))
36 self.assertEqual(member['member_id'], self.alt_tenant_id)
37 self.assertEqual(member['image_id'], image_id)
38 self.assertEqual(member['status'], 'accepted')
39
Eiichi Aikawa9012f462014-03-05 16:43:32 +090040 @test.attr(type='gate')
Attila Fazekas689e2652013-10-07 18:06:57 +020041 def test_image_share_reject(self):
42 image_id = self._create_image()
David Kranz34f18782015-01-06 13:43:55 -050043 member = self.os_img_client.add_member(image_id,
44 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020045 self.assertEqual(member['member_id'], self.alt_tenant_id)
46 self.assertEqual(member['image_id'], image_id)
47 self.assertEqual(member['status'], 'pending')
48 self.assertNotIn(image_id, self._list_image_ids_as_alt())
David Kranz9c3b3b62014-06-19 16:05:53 -040049 self.alt_img_client.update_member_status(image_id,
50 self.alt_tenant_id,
51 'rejected')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040052 self.assertNotIn(image_id, self._list_image_ids_as_alt())
53
Eiichi Aikawa9012f462014-03-05 16:43:32 +090054 @test.attr(type='gate')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040055 def test_get_image_member(self):
56 image_id = self._create_image()
57 self.os_img_client.add_member(image_id,
58 self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020059 self.alt_img_client.update_member_status(image_id,
60 self.alt_tenant_id,
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040061 'accepted')
62
63 self.assertIn(image_id, self._list_image_ids_as_alt())
David Kranz34f18782015-01-06 13:43:55 -050064 member = self.os_img_client.get_member(image_id,
65 self.alt_tenant_id)
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040066 self.assertEqual(self.alt_tenant_id, member['member_id'])
67 self.assertEqual(image_id, member['image_id'])
68 self.assertEqual('accepted', member['status'])
69
Eiichi Aikawa9012f462014-03-05 16:43:32 +090070 @test.attr(type='gate')
Sergey Nikitinc6b2ee82014-02-03 17:13:50 +040071 def test_remove_image_member(self):
72 image_id = self._create_image()
73 self.os_img_client.add_member(image_id,
74 self.alt_tenant_id)
75 self.alt_img_client.update_member_status(image_id,
76 self.alt_tenant_id,
77 'accepted')
78
79 self.assertIn(image_id, self._list_image_ids_as_alt())
David Kranz9c3b3b62014-06-19 16:05:53 -040080 self.os_img_client.remove_member(image_id, self.alt_tenant_id)
Attila Fazekas689e2652013-10-07 18:06:57 +020081 self.assertNotIn(image_id, self._list_image_ids_as_alt())
raiesmh084b980eb2014-03-11 09:40:49 +053082
83 @test.attr(type='gate')
84 def test_get_image_member_schema(self):
David Kranz34f18782015-01-06 13:43:55 -050085 body = self.os_img_client.get_schema("member")
raiesmh084b980eb2014-03-11 09:40:49 +053086 self.assertEqual("member", body['name'])
87
88 @test.attr(type='gate')
89 def test_get_image_members_schema(self):
David Kranz34f18782015-01-06 13:43:55 -050090 body = self.os_img_client.get_schema("members")
raiesmh084b980eb2014-03-11 09:40:49 +053091 self.assertEqual("members", body['name'])