Fix tests/benchmark/scenarios/nova/test_utils.py

One test per method with proper mocking.

Change-Id: Ib0762d1034c71efc9751e81b75a6f2f0755d40d7
Related: blueprint unit-tests-refactoring
This commit is contained in:
Maksym Iarmak 2014-01-15 14:37:53 +02:00
parent a4e906dcfc
commit 70ae62560a

View File

@ -55,59 +55,53 @@ class NovaScenarioTestCase(test.TestCase):
butils.get_from_manager(), butils.get_from_manager(),
server_manager.create('fails', '1', '2')) server_manager.create('fails', '1', '2'))
@mock.patch("rally.utils") @mock.patch(NOVA_UTILS + '.NovaScenario.clients')
@mock.patch(BM_UTILS + ".osclients") def test__boot_server(self, mock_clients):
def test_server_helper_methods(self, mock_osclients, mock_rally_utils): mock_clients("nova").servers.create.return_value = self.server
def _is_ready(resource): return_server = utils.NovaScenario()._boot_server('server_name',
return resource.status == "ACTIVE" 'image_id',
'flavor_id')
self.wait_for.mock.assert_called_once_with(self.server,
update_resource=self.gfm(),
is_ready=self.res_is.mock(),
check_interval=3,
timeout=600)
self.res_is.mock.assert_has_calls(mock.call('ACTIVE'))
self.assertEqual(self.wait_for.mock(), return_server)
self.res_is.mock.return_value = _is_ready def test__suspend_server(self):
get_from_mgr = butils.get_from_manager() utils.NovaScenario()._suspend_server(self.server)
self.server.suspend.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.server,
update_resource=self.gfm(),
is_ready=self.res_is.mock(),
check_interval=3,
timeout=600)
self.res_is.mock.assert_has_calls(mock.call('SUSPENDED'))
fc = fakes.FakeClients() @mock.patch(NOVA_UTILS + '.NovaScenario.clients')
mock_osclients.Clients.return_value = fc def test__create_image(self, mock_clients):
fake_nova = fakes.FakeNovaClient() mock_clients("nova").images.get.return_value = self.image
fc.get_nova_client = lambda: fake_nova return_image = utils.NovaScenario()._create_image(self.server)
fsm = fakes.FakeServerManager(fake_nova.images) self.wait_for.mock.assert_called_once_with(self.image,
fake_server = fsm.create("s1", "i1", 1) update_resource=self.gfm(),
fsm.create = lambda name, iid, fid, **kwargs: fake_server is_ready=self.res_is.mock(),
fake_nova.servers = fsm check_interval=3,
fake_image_id = fsm.create_image(fake_server, 'img') timeout=600)
fake_image = fsm.images.get(fake_image_id) self.res_is.mock.assert_has_calls(mock.call('ACTIVE'))
fsm.create_image = lambda svr, name: fake_image.id self.assertEqual(self.wait_for.mock(), return_image)
temp_keys = ["username", "password", "tenant_name", "auth_url"]
users_endpoints = [dict(zip(temp_keys, temp_keys))]
tmp_clients = butils.create_openstack_clients(users_endpoints, @mock.patch(BM_UTILS + ".is_none")
temp_keys)[0] def test__delete_server(self, mock_isnone):
novascenario = utils.NovaScenario(clients=tmp_clients) utils.NovaScenario()._delete_server(self.server)
self.server.delete.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.server,
is_ready=mock_isnone,
update_resource=self.gfm(),
check_interval=3,
timeout=600)
utils.utils = mock_rally_utils def test__reboot_server(self):
utils.bench_utils.get_from_manager = lambda: get_from_mgr
novascenario._boot_server("s1", "i1", 1)
novascenario._create_image(fake_server)
novascenario._suspend_server(fake_server)
novascenario._delete_server(fake_server)
expected = [
mock.call.wait_for(fake_server, is_ready=_is_ready,
update_resource=butils.get_from_manager(),
check_interval=3, timeout=600),
mock.call.wait_for(fake_image, is_ready=_is_ready,
update_resource=butils.get_from_manager(),
check_interval=3, timeout=600),
mock.call.wait_for(fake_server, is_ready=_is_ready,
update_resource=butils.get_from_manager(),
check_interval=3, timeout=600),
mock.call.wait_for(fake_server, is_ready=butils.is_none,
update_resource=butils.get_from_manager(),
check_interval=3, timeout=600)
]
self.assertEqual(expected, mock_rally_utils.mock_calls)
def test_server_reboot(self):
utils.NovaScenario()._reboot_server(self.server) utils.NovaScenario()._reboot_server(self.server)
self.server.reboot.assert_called_once_with(reboot_type='SOFT') self.server.reboot.assert_called_once_with(reboot_type='SOFT')
self.wait_for.mock.assert_called_once_with(self.server, self.wait_for.mock.assert_called_once_with(self.server,
@ -117,7 +111,7 @@ class NovaScenarioTestCase(test.TestCase):
timeout=600) timeout=600)
self.res_is.mock.assert_has_calls(mock.call('ACTIVE')) self.res_is.mock.assert_has_calls(mock.call('ACTIVE'))
def test_server_start(self): def test__start_server(self):
utils.NovaScenario()._start_server(self.server) utils.NovaScenario()._start_server(self.server)
self.server.start.assert_called_once_with() self.server.start.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.server, self.wait_for.mock.assert_called_once_with(self.server,
@ -127,7 +121,7 @@ class NovaScenarioTestCase(test.TestCase):
timeout=600) timeout=600)
self.res_is.mock.assert_has_calls(mock.call('ACTIVE')) self.res_is.mock.assert_has_calls(mock.call('ACTIVE'))
def test_server_stop(self): def test__stop_server(self):
utils.NovaScenario()._stop_server(self.server) utils.NovaScenario()._stop_server(self.server)
self.server.stop.assert_called_once_with() self.server.stop.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.server, self.wait_for.mock.assert_called_once_with(self.server,
@ -137,7 +131,7 @@ class NovaScenarioTestCase(test.TestCase):
timeout=600) timeout=600)
self.res_is.mock.assert_has_calls(mock.call('SHUTOFF')) self.res_is.mock.assert_has_calls(mock.call('SHUTOFF'))
def test_server_rescue(self): def test__rescue_server(self):
utils.NovaScenario()._rescue_server(self.server) utils.NovaScenario()._rescue_server(self.server)
self.server.rescue.assert_called_once_with() self.server.rescue.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.server, self.wait_for.mock.assert_called_once_with(self.server,
@ -147,7 +141,7 @@ class NovaScenarioTestCase(test.TestCase):
timeout=600) timeout=600)
self.res_is.mock.assert_has_calls(mock.call('RESCUE')) self.res_is.mock.assert_has_calls(mock.call('RESCUE'))
def test_server_unrescue(self): def test__unresque_server(self):
utils.NovaScenario()._unrescue_server(self.server) utils.NovaScenario()._unrescue_server(self.server)
self.server.unrescue.assert_called_once_with() self.server.unrescue.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.server, self.wait_for.mock.assert_called_once_with(self.server,
@ -159,7 +153,7 @@ class NovaScenarioTestCase(test.TestCase):
@mock.patch(BM_UTILS + ".is_none") @mock.patch(BM_UTILS + ".is_none")
@mock.patch(NOVA_UTILS + '.NovaScenario.clients') @mock.patch(NOVA_UTILS + '.NovaScenario.clients')
def test_delete_all_servers(self, mock_clients, mock_isnone): def test__delete_all_servers(self, mock_clients, mock_isnone):
mock_clients("nova").servers.list.return_value = [self.server, mock_clients("nova").servers.list.return_value = [self.server,
self.server1] self.server1]
utils.NovaScenario()._delete_all_servers() utils.NovaScenario()._delete_all_servers()
@ -173,7 +167,7 @@ class NovaScenarioTestCase(test.TestCase):
] ]
self.assertEqual(expected, self.wait_for.mock.mock_calls) self.assertEqual(expected, self.wait_for.mock.mock_calls)
def test_delete_image(self): def test__delete_image(self):
utils.NovaScenario()._delete_image(self.image) utils.NovaScenario()._delete_image(self.image)
self.image.delete.assert_called_once_with() self.image.delete.assert_called_once_with()
self.wait_for.mock.assert_called_once_with(self.image, self.wait_for.mock.assert_called_once_with(self.image,
@ -184,7 +178,7 @@ class NovaScenarioTestCase(test.TestCase):
self.res_is.mock.assert_has_calls(mock.call('DELETED')) self.res_is.mock.assert_has_calls(mock.call('DELETED'))
@mock.patch(NOVA_UTILS + '.NovaScenario.clients') @mock.patch(NOVA_UTILS + '.NovaScenario.clients')
def test_boot_servers(self, mock_clients): def test__boot_servers(self, mock_clients):
mock_clients("nova").servers.list.return_value = [self.server, mock_clients("nova").servers.list.return_value = [self.server,
self.server1] self.server1]
utils.NovaScenario()._boot_servers('prefix', 'image', 'flavor', 2) utils.NovaScenario()._boot_servers('prefix', 'image', 'flavor', 2)