Merge "Remove mox usage from `aws/test_instance_network.py`"

This commit is contained in:
Zuul 2018-05-07 03:52:21 +00:00 committed by Gerrit Code Review
commit 1745e0c8ed
1 changed files with 55 additions and 57 deletions

View File

@ -155,10 +155,9 @@ class instancesTest(common.HeatTestCase):
self.fc = fakes_nova.FakeClient() self.fc = fakes_nova.FakeClient()
def _mock_get_image_id_success(self, imageId_input, imageId): def _mock_get_image_id_success(self, imageId_input, imageId):
self.m.StubOutWithMock(glance.GlanceClientPlugin, self.m_f_i = self.patchobject(glance.GlanceClientPlugin,
'find_image_by_name_or_id') 'find_image_by_name_or_id',
glance.GlanceClientPlugin.find_image_by_name_or_id( return_value=imageId)
imageId_input).MultipleTimes().AndReturn(imageId)
def _test_instance_create_delete(self, vm_status='ACTIVE', def _test_instance_create_delete(self, vm_status='ACTIVE',
vm_delete_status='NotFound'): vm_delete_status='NotFound'):
@ -179,22 +178,20 @@ class instancesTest(common.HeatTestCase):
d1 = {'server': self.fc.client.get_servers_detail()[1]['servers'][0]} d1 = {'server': self.fc.client.get_servers_detail()[1]['servers'][0]}
d1['server']['status'] = vm_status d1['server']['status'] = vm_status
self.m.StubOutWithMock(self.fc.client, 'get_servers_1234') m_gs_side_effects = [(200, d1)]
get = self.fc.client.get_servers_1234
get().AndReturn((200, d1))
d2 = copy.deepcopy(d1) d2 = copy.deepcopy(d1)
if vm_delete_status == 'DELETED': if vm_delete_status == 'DELETED':
d2['server']['status'] = vm_delete_status d2['server']['status'] = vm_delete_status
get().AndReturn((200, d2)) m_gs_side_effects.append((200, d2))
else: else:
get().AndRaise(fakes_nova.fake_exception()) m_gs_side_effects.append(fakes_nova.fake_exception)
self.m.ReplayAll()
self.patchobject(self.fc.client, 'get_servers_1234',
side_effect=m_gs_side_effects)
scheduler.TaskRunner(instance.delete)() scheduler.TaskRunner(instance.delete)()
self.assertEqual((instance.DELETE, instance.COMPLETE), instance.state) self.assertEqual((instance.DELETE, instance.COMPLETE), instance.state)
self.m.VerifyAll() self.assertEqual(2, self.fc.client.get_servers_1234.call_count)
def _create_test_instance(self, return_server, name): def _create_test_instance(self, return_server, name):
stack_name = '%s_s' % name stack_name = '%s_s' % name
@ -213,42 +210,43 @@ class instancesTest(common.HeatTestCase):
resource_defns['WebServer'], self.stack) resource_defns['WebServer'], self.stack)
metadata = instance.metadata_get() metadata = instance.metadata_get()
self.m.StubOutWithMock(nova.NovaClientPlugin, '_create') self.patchobject(nova.NovaClientPlugin, '_create',
nova.NovaClientPlugin._create().AndReturn(self.fc) return_value=self.fc)
self._mock_get_image_id_success(image_id, 1) self._mock_get_image_id_success(image_id, 1)
self.stub_SubnetConstraint_validate() self.stub_SubnetConstraint_validate()
self.m.StubOutWithMock(instance, 'neutron') self.patchobject(instance, 'neutron', return_value=FakeNeutron())
instance.neutron().MultipleTimes().AndReturn(FakeNeutron())
self.m.StubOutWithMock(neutron.NeutronClientPlugin, '_create') self.patchobject(neutron.NeutronClientPlugin, '_create',
neutron.NeutronClientPlugin._create().MultipleTimes().AndReturn( return_value=FakeNeutron())
FakeNeutron())
# need to resolve the template functions # need to resolve the template functions
server_userdata = instance.client_plugin().build_userdata( server_userdata = instance.client_plugin().build_userdata(
metadata, metadata,
instance.properties['UserData'], instance.properties['UserData'],
'ec2-user') 'ec2-user')
self.m.StubOutWithMock(nova.NovaClientPlugin, 'build_userdata') self.patchobject(nova.NovaClientPlugin, 'build_userdata',
nova.NovaClientPlugin.build_userdata( return_value=server_userdata)
metadata, self.patchobject(self.fc.servers, 'create', return_value=return_server)
instance.properties['UserData'],
'ec2-user').AndReturn(server_userdata)
self.m.StubOutWithMock(self.fc.servers, 'create') scheduler.TaskRunner(instance.create)()
self.fc.servers.create( self.m_f_i.assert_called_with(image_id)
self.fc.servers.create.assert_called_once_with(
image=1, flavor=3, key_name='test', image=1, flavor=3, key_name='test',
name=utils.PhysName(stack_name, instance.name), name=utils.PhysName(stack_name, instance.name),
security_groups=None, security_groups=None,
userdata=server_userdata, scheduler_hints=None, meta=None, userdata=server_userdata, scheduler_hints=None, meta=None,
nics=[{'port-id': '64d913c1-bcb1-42d2-8f0a-9593dbcaf251'}], nics=[{'port-id': '64d913c1-bcb1-42d2-8f0a-9593dbcaf251'}],
availability_zone=None, availability_zone=None,
block_device_mapping=None).AndReturn( block_device_mapping=None)
return_server) nova.NovaClientPlugin.build_userdata.assert_called_once_with(
self.m.ReplayAll() metadata,
instance.properties['UserData'],
scheduler.TaskRunner(instance.create)() 'ec2-user')
neutron.NeutronClientPlugin._create.assert_called_once_with()
nova.NovaClientPlugin._create.assert_called_once_with()
glance.GlanceClientPlugin.find_image_by_name_or_id.assert_called_with(
image_id)
return instance return instance
def _create_test_instance_with_nic(self, return_server, name): def _create_test_instance_with_nic(self, return_server, name):
@ -275,44 +273,46 @@ class instancesTest(common.HeatTestCase):
self._mock_get_image_id_success(image_id, 1) self._mock_get_image_id_success(image_id, 1)
self.stub_SubnetConstraint_validate() self.stub_SubnetConstraint_validate()
self.m.StubOutWithMock(nic, 'client') self.patchobject(nic, 'client', return_value=FakeNeutron())
nic.client().AndReturn(FakeNeutron())
self.m.StubOutWithMock(neutron.NeutronClientPlugin, '_create') self.patchobject(neutron.NeutronClientPlugin, '_create',
neutron.NeutronClientPlugin._create().MultipleTimes().AndReturn( return_value=FakeNeutron())
FakeNeutron())
self.m.StubOutWithMock(nova.NovaClientPlugin, '_create') self.patchobject(nova.NovaClientPlugin, '_create',
nova.NovaClientPlugin._create().AndReturn(self.fc) return_value=self.fc)
# need to resolve the template functions # need to resolve the template functions
server_userdata = instance.client_plugin().build_userdata( server_userdata = instance.client_plugin().build_userdata(
metadata, metadata,
instance.properties['UserData'], instance.properties['UserData'],
'ec2-user') 'ec2-user')
self.m.StubOutWithMock(nova.NovaClientPlugin, 'build_userdata') self.patchobject(nova.NovaClientPlugin, 'build_userdata',
nova.NovaClientPlugin.build_userdata( return_value=server_userdata)
metadata, self.patchobject(self.fc.servers, 'create', return_value=return_server)
instance.properties['UserData'],
'ec2-user').AndReturn(server_userdata)
self.m.StubOutWithMock(self.fc.servers, 'create')
self.fc.servers.create(
image=1, flavor=3, key_name='test',
name=utils.PhysName(stack_name, instance.name),
security_groups=None,
userdata=server_userdata, scheduler_hints=None, meta=None,
nics=[{'port-id': '64d913c1-bcb1-42d2-8f0a-9593dbcaf251'}],
availability_zone=None,
block_device_mapping=None).AndReturn(
return_server)
self.m.ReplayAll()
# create network interface # create network interface
scheduler.TaskRunner(nic.create)() scheduler.TaskRunner(nic.create)()
self.stack.resources["nic1"] = nic self.stack.resources["nic1"] = nic
scheduler.TaskRunner(instance.create)() scheduler.TaskRunner(instance.create)()
self.fc.servers.create.assert_called_once_with(
image=1, flavor=3, key_name='test',
name=utils.PhysName(stack_name, instance.name),
security_groups=None,
userdata=server_userdata, scheduler_hints=None, meta=None,
nics=[{'port-id': '64d913c1-bcb1-42d2-8f0a-9593dbcaf251'}],
availability_zone=None,
block_device_mapping=None)
self.m_f_i.assert_called_with(image_id)
nova.NovaClientPlugin.build_userdata.assert_called_once_with(
metadata,
instance.properties['UserData'],
'ec2-user')
neutron.NeutronClientPlugin._create.assert_called_once_with()
nova.NovaClientPlugin._create.assert_called_once_with()
glance.GlanceClientPlugin.find_image_by_name_or_id.assert_called_with(
image_id)
return instance return instance
def test_instance_create_delete_with_SubnetId(self): def test_instance_create_delete_with_SubnetId(self):
@ -331,5 +331,3 @@ class instancesTest(common.HeatTestCase):
self.assertEqual(expected_ip, instance.FnGetAtt('PrivateIp')) self.assertEqual(expected_ip, instance.FnGetAtt('PrivateIp'))
self.assertEqual(expected_ip, instance.FnGetAtt('PrivateDnsName')) self.assertEqual(expected_ip, instance.FnGetAtt('PrivateDnsName'))
self.assertEqual(expected_ip, instance.FnGetAtt('PublicDnsName')) self.assertEqual(expected_ip, instance.FnGetAtt('PublicDnsName'))
self.m.VerifyAll()