Remove mox from test_neutron_loadbalancer 3/4 - PoolMemberTest

Change-Id: I7decb2d5dc85987ad6f4dafe9576c88c1daef867
goal: mox-removal
This commit is contained in:
ricolin 2018-04-02 22:23:06 +08:00
parent bee8f02b68
commit 97c0cf3161
1 changed files with 36 additions and 39 deletions

View File

@ -779,42 +779,38 @@ class PoolMemberTest(common.HeatTestCase):
def setUp(self): def setUp(self):
super(PoolMemberTest, self).setUp() super(PoolMemberTest, self).setUp()
self.fc = fakes_nova.FakeClient() self.fc = fakes_nova.FakeClient()
self.m.StubOutWithMock(neutronclient.Client, 'create_member') self.mc = mock.Mock(spec=neutronclient.Client)
self.m.StubOutWithMock(neutronclient.Client, 'delete_member') self.patchobject(neutronclient, 'Client', return_value=self.mc)
self.m.StubOutWithMock(neutronclient.Client, 'update_member')
self.m.StubOutWithMock(neutronclient.Client, 'show_member')
self.patchobject(neutron.NeutronClientPlugin, 'has_extension', self.patchobject(neutron.NeutronClientPlugin, 'has_extension',
return_value=True) return_value=True)
def create_member(self): def create_member(self):
neutronclient.Client.create_member({ self.mc.create_member.return_value = {'member': {'id': 'member5678'}}
'member': {
'pool_id': 'pool123', 'protocol_port': 8080,
'address': '1.2.3.4', 'admin_state_up': True}}
).AndReturn({'member': {'id': 'member5678'}})
snippet = template_format.parse(member_template) snippet = template_format.parse(member_template)
self.stack = utils.parse_stack(snippet) self.stack = utils.parse_stack(snippet)
self.tmpl = snippet self.tmpl = snippet
resource_defns = self.stack.t.resource_definitions(self.stack) resource_defns = self.stack.t.resource_definitions(self.stack)
return loadbalancer.PoolMember( result = loadbalancer.PoolMember(
'member', resource_defns['member'], self.stack) 'member', resource_defns['member'], self.stack)
return result
def validate_create_member(self):
self.mc.create_member.assert_called_once_with({
'member': {
'pool_id': 'pool123', 'protocol_port': 8080,
'address': '1.2.3.4', 'admin_state_up': True}}
)
def test_create(self): def test_create(self):
rsrc = self.create_member() rsrc = self.create_member()
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.create)() scheduler.TaskRunner(rsrc.create)()
self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state) self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
self.assertEqual('member5678', rsrc.resource_id) self.assertEqual('member5678', rsrc.resource_id)
self.m.VerifyAll() self.validate_create_member()
def test_create_optional_parameters(self): def test_create_optional_parameters(self):
neutronclient.Client.create_member({ self.mc.create_member.return_value = {'member': {'id': 'member5678'}}
'member': {
'pool_id': 'pool123', 'protocol_port': 8080,
'weight': 100, 'admin_state_up': False,
'address': '1.2.3.4'}}
).AndReturn({'member': {'id': 'member5678'}})
snippet = template_format.parse(member_template) snippet = template_format.parse(member_template)
snippet['resources']['member']['properties']['admin_state_up'] = False snippet['resources']['member']['properties']['admin_state_up'] = False
snippet['resources']['member']['properties']['weight'] = 100 snippet['resources']['member']['properties']['weight'] = 100
@ -823,29 +819,28 @@ class PoolMemberTest(common.HeatTestCase):
rsrc = loadbalancer.PoolMember( rsrc = loadbalancer.PoolMember(
'member', resource_defns['member'], self.stack) 'member', resource_defns['member'], self.stack)
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.create)() scheduler.TaskRunner(rsrc.create)()
self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state) self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state)
self.assertEqual('member5678', rsrc.resource_id) self.assertEqual('member5678', rsrc.resource_id)
self.m.VerifyAll() self.mc.create_member.assert_called_once_with({
'member': {
'pool_id': 'pool123', 'protocol_port': 8080,
'weight': 100, 'admin_state_up': False,
'address': '1.2.3.4'}}
)
def test_attribute(self): def test_attribute(self):
rsrc = self.create_member() rsrc = self.create_member()
neutronclient.Client.show_member('member5678').MultipleTimes( self.mc.show_member.return_value = {
).AndReturn( 'member': {'admin_state_up': True, 'weight': 5}}
{'member': {'admin_state_up': True, 'weight': 5}})
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.create)() scheduler.TaskRunner(rsrc.create)()
self.assertIs(True, rsrc.FnGetAtt('admin_state_up')) self.assertIs(True, rsrc.FnGetAtt('admin_state_up'))
self.assertEqual(5, rsrc.FnGetAtt('weight')) self.assertEqual(5, rsrc.FnGetAtt('weight'))
self.m.VerifyAll() self.mc.show_member.assert_called_with('member5678')
self.validate_create_member()
def test_update(self): def test_update(self):
rsrc = self.create_member() rsrc = self.create_member()
neutronclient.Client.update_member(
'member5678', {'member': {'pool_id': 'pool456'}})
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.create)() scheduler.TaskRunner(rsrc.create)()
props = self.tmpl['resources']['member']['properties'].copy() props = self.tmpl['resources']['member']['properties'].copy()
@ -853,30 +848,32 @@ class PoolMemberTest(common.HeatTestCase):
update_template = rsrc.t.freeze(properties=props) update_template = rsrc.t.freeze(properties=props)
scheduler.TaskRunner(rsrc.update, update_template)() scheduler.TaskRunner(rsrc.update, update_template)()
self.m.VerifyAll() self.mc.update_member.assert_called_once_with(
'member5678', {'member': {'pool_id': 'pool456'}})
self.validate_create_member()
def test_delete(self): def test_delete(self):
rsrc = self.create_member() rsrc = self.create_member()
neutronclient.Client.delete_member(u'member5678') self.mc.show_member.side_effect = [exceptions.NeutronClientException(
neutronclient.Client.show_member(u'member5678').AndRaise( status_code=404)]
exceptions.NeutronClientException(status_code=404))
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.create)() scheduler.TaskRunner(rsrc.create)()
scheduler.TaskRunner(rsrc.delete)() scheduler.TaskRunner(rsrc.delete)()
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state) self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
self.m.VerifyAll() self.mc.delete_member.assert_called_once_with(u'member5678')
self.mc.show_member.assert_called_once_with(u'member5678')
self.validate_create_member()
def test_delete_missing_member(self): def test_delete_missing_member(self):
rsrc = self.create_member() rsrc = self.create_member()
neutronclient.Client.delete_member(u'member5678').AndRaise( self.mc.delete_member.side_effect = [exceptions.NeutronClientException(
exceptions.NeutronClientException(status_code=404)) status_code=404)]
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.create)() scheduler.TaskRunner(rsrc.create)()
scheduler.TaskRunner(rsrc.delete)() scheduler.TaskRunner(rsrc.delete)()
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state) self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
self.m.VerifyAll() self.validate_create_member()
self.mc.delete_member.assert_called_once_with(u'member5678')
class LoadBalancerTest(common.HeatTestCase): class LoadBalancerTest(common.HeatTestCase):