Fix nova.servers_set_meta unit test
The unit test for nova_servers_set_meta was not testing the nova
datasource method itself but rather testing the
DataSourceDriver.execute() method.
Also, align the format of arguments and description of the
nova.servers_set_meta method with commit
daca060c30
.
Closes-Bug: #1665594
Change-Id: Ibd78e62351bfbd07b20db746c8cb0a5ced40e2f9
This commit is contained in:
parent
0b46f4bbaf
commit
d76057271a
@ -177,9 +177,14 @@ class NovaDriver(datasource_driver.PollingDataSourceDriver,
|
||||
self.add_executable_method('servers_set_meta',
|
||||
[{'name': 'server',
|
||||
'description': 'server id'},
|
||||
{'name': 'meta',
|
||||
'description': 'metadata pairs, ' +
|
||||
'e.g. meta1=val1 meta2=val2'}],
|
||||
{'name': 'meta-key1',
|
||||
'description': 'meta key 1'},
|
||||
{'name': 'meta-value1',
|
||||
'description': 'value for meta key1'},
|
||||
{'name': 'meta-keyN',
|
||||
'description': 'meta key N'},
|
||||
{'name': 'meta-valueN',
|
||||
'description': 'value for meta keyN'}],
|
||||
"A wrapper for servers.set_meta()")
|
||||
self.add_executable_client_methods(self.nova_client, 'novaclient.v2.')
|
||||
self.initialize_update_methods()
|
||||
|
@ -301,25 +301,14 @@ class TestNovaDriver(base.TestCase):
|
||||
self.assertEqual(expected_ans, nova_client.testkey)
|
||||
|
||||
def test_execute_servers_set_meta(self):
|
||||
class server(object):
|
||||
def __init__(self):
|
||||
self.testkey = None
|
||||
|
||||
def set_meta(self, server=None, metadata=None):
|
||||
self.testkey = 'server=%s, metadata=%s' % (server, metadata)
|
||||
|
||||
class NovaClient(object):
|
||||
def __init__(self):
|
||||
self.servers = server()
|
||||
|
||||
nova_client = NovaClient()
|
||||
self.driver.nova_client = nova_client
|
||||
expected_ans = "server=1, metadata={'meta-key1': 'meta-value1'}"
|
||||
|
||||
action_args = {'positional': ['1', 'meta-key1', 'meta-value1']}
|
||||
self.driver.execute('servers_set_meta', action_args)
|
||||
|
||||
self.assertEqual(expected_ans, nova_client.servers.testkey)
|
||||
args = {'positional': ['1', 'meta-key1', 'meta-value1']}
|
||||
action_args = {'named': {'server': '1',
|
||||
'metadata': {'meta-key1': 'meta-value1'}}}
|
||||
with mock.patch.object(self.driver, '_execute_api') as mock_ea:
|
||||
self.driver.servers_set_meta(args)
|
||||
mock_ea.assert_called_with(self.driver.nova_client,
|
||||
'servers.set_meta',
|
||||
action_args)
|
||||
|
||||
def test_execute_with_non_executable_method(self):
|
||||
action_args = {'positional': ['1', 'meta-key1', 'meta-value1']}
|
||||
|
Loading…
Reference in New Issue
Block a user