Convert server group tests to requests_mock

Change-Id: Ic4b137073e0c662d26cac254611708b3f31734e0
This commit is contained in:
Monty Taylor 2017-06-18 10:34:34 -05:00
parent 611ce3dca1
commit 3aec23cfd2
No known key found for this signature in database
GPG Key ID: 7BAE94BC7141A594
2 changed files with 55 additions and 26 deletions

View File

@ -258,11 +258,14 @@ class FakeFloatingIP(object):
self.instance_id = instance_id self.instance_id = instance_id
class FakeServerGroup(object): def make_fake_server_group(id, name, policies):
def __init__(self, id, name, policies): return json.loads(json.dumps({
self.id = id 'id': id,
self.name = name 'name': name,
self.policies = policies 'policies': policies,
'members': [],
'metadata': {},
}))
class FakeVolume(object): class FakeVolume(object):

View File

@ -11,32 +11,58 @@
# under the License. # under the License.
import mock import uuid
import shade
from shade.tests.unit import base from shade.tests.unit import base
from shade.tests import fakes from shade.tests import fakes
class TestServerGroup(base.TestCase): class TestServerGroup(base.RequestsMockTestCase):
@mock.patch.object(shade.OpenStackCloud, 'nova_client') def setUp(self):
def test_create_server_group(self, mock_nova): super(TestServerGroup, self).setUp()
server_group_name = 'my-server-group' self.group_id = uuid.uuid4().hex
self.cloud.create_server_group(name=server_group_name, self.group_name = self.getUniqueString('server-group')
policies=['affinity']) self.policies = ['affinity']
self.fake_group = fakes.make_fake_server_group(
self.group_id, self.group_name, self.policies)
mock_nova.server_groups.create.assert_called_once_with( def test_create_server_group(self):
name=server_group_name, policies=['affinity']
)
@mock.patch.object(shade.OpenStackCloud, 'nova_client') self.register_uris([
def test_delete_server_group(self, mock_nova): dict(method='POST',
mock_nova.server_groups.list.return_value = [ uri=self.get_mock_url(
fakes.FakeServerGroup('1234', 'name', ['affinity']) 'compute', 'public', append=['os-server-groups']),
] json={'server_group': self.fake_group},
self.assertTrue(self.cloud.delete_server_group('1234')) validate=dict(
mock_nova.server_groups.list.assert_called_once_with() json={'server_group': {
mock_nova.server_groups.delete.assert_called_once_with( 'name': self.group_name,
id='1234' 'policies': self.policies,
) }})),
dict(method='GET',
uri=self.get_mock_url(
'compute', 'public',
append=['os-server-groups', self.group_id],),
json={'server_group': self.fake_group}),
])
self.cloud.create_server_group(name=self.group_name,
policies=self.policies)
self.assert_calls()
def test_delete_server_group(self):
self.register_uris([
dict(method='GET',
uri=self.get_mock_url(
'compute', 'public', append=['os-server-groups']),
json={'server_groups': [self.fake_group]}),
dict(method='DELETE',
uri=self.get_mock_url(
'compute', 'public',
append=['os-server-groups', self.group_id]),
json={'server_groups': [self.fake_group]}),
])
self.assertTrue(self.cloud.delete_server_group(self.group_name))
self.assert_calls()