pep8 in tests

This commit is contained in:
Christopher MacGown 2011-08-06 18:15:35 -07:00 committed by termie
parent f54367490d
commit 0efc51ec9d
9 changed files with 77 additions and 54 deletions

View File

@ -2,8 +2,8 @@
A fake server that "responds" to API methods with pre-canned responses. A fake server that "responds" to API methods with pre-canned responses.
All of these responses come from the spec, so if for some reason the spec's All of these responses come from the spec, so if for some reason the spec's
wrong the tests might raise AssertionError. I've indicated in comments the places where actual wrong the tests might raise AssertionError. I've indicated in comments the
behavior differs from the spec. places where actual behavior differs from the spec.
""" """
import novaclient.client import novaclient.client
@ -17,7 +17,8 @@ def assert_has_keys(dict, required=[], optional=[]):
except AssertionError: except AssertionError:
allowed_keys = set(required) | set(optional) allowed_keys = set(required) | set(optional)
extra_keys = set(keys).difference(set(required + optional)) extra_keys = set(keys).difference(set(required + optional))
raise AssertionError("found unexpected keys: %s" % list(extra_keys)) raise AssertionError("found unexpected keys: %s" %
list(extra_keys))
class FakeClient(object): class FakeClient(object):

View File

@ -28,7 +28,7 @@ class ClientTest(utils.TestCase):
@mock.patch('time.time', mock.Mock(return_value=1234)) @mock.patch('time.time', mock.Mock(return_value=1234))
def test_get_call(): def test_get_call():
resp, body = cl.get("/hi") resp, body = cl.get("/hi")
headers={"X-Auth-Token": "token", headers = {"X-Auth-Token": "token",
"X-Auth-Project-Id": "project_id", "X-Auth-Project-Id": "project_id",
"User-Agent": cl.USER_AGENT, "User-Agent": cl.USER_AGENT,
} }
@ -39,14 +39,13 @@ class ClientTest(utils.TestCase):
test_get_call() test_get_call()
def test_post(self): def test_post(self):
cl = get_client() cl = get_client()
@mock.patch.object(httplib2.Http, "request", mock_request) @mock.patch.object(httplib2.Http, "request", mock_request)
def test_post_call(): def test_post_call():
cl.post("/hi", body=[1, 2, 3]) cl.post("/hi", body=[1, 2, 3])
headers={ headers = {
"X-Auth-Token": "token", "X-Auth-Token": "token",
"X-Auth-Project-Id": "project_id", "X-Auth-Project-Id": "project_id",
"Content-Type": "application/json", "Content-Type": "application/json",

View File

@ -20,8 +20,8 @@ class ShellTest(utils.TestCase):
} }
_old_env, os.environ = os.environ, fake_env.copy() _old_env, os.environ = os.environ, fake_env.copy()
# Make a fake shell object, a helping wrapper to call it, and a quick way # Make a fake shell object, a helping wrapper to call it, and a quick
# of asserting that certain API calls were made. # way of asserting that certain API calls were made.
global shell, _shell, assert_called, assert_called_anytime global shell, _shell, assert_called, assert_called_anytime
_shell = OpenStackComputeShell() _shell = OpenStackComputeShell()
shell = lambda cmd: _shell.main(cmd.split()) shell = lambda cmd: _shell.main(cmd.split())

View File

@ -33,7 +33,8 @@ class FakeHTTPClient(base_client.HTTPClient):
munged_url = url.strip('/').replace('/', '_').replace('.', '_') munged_url = url.strip('/').replace('/', '_').replace('.', '_')
callback = "%s_%s" % (method.lower(), munged_url) callback = "%s_%s" % (method.lower(), munged_url)
if not hasattr(self, callback): if not hasattr(self, callback):
raise AssertionError('Called unknown API method: %s %s' % (method, url)) raise AssertionError('Called unknown API method: %s %s' % (method,
url))
# Note the call # Note the call
self.callstack.append((method, url, kwargs.get('body', None))) self.callstack.append((method, url, kwargs.get('body', None)))
@ -411,5 +412,3 @@ class FakeHTTPClient(base_client.HTTPClient):
for pfile in body['server']['personality']: for pfile in body['server']['personality']:
fakes.assert_has_keys(pfile, required=['path', 'contents']) fakes.assert_has_keys(pfile, required=['path', 'contents'])
return (202, self.get_servers_1234()[1]) return (202, self.get_servers_1234()[1])

View File

@ -22,7 +22,7 @@ class AuthenticationTests(utils.TestCase):
@mock.patch.object(httplib2.Http, "request", mock_request) @mock.patch.object(httplib2.Http, "request", mock_request)
def test_auth_call(): def test_auth_call():
cs.client.authenticate() cs.client.authenticate()
headers={ headers = {
'X-Auth-User': 'username', 'X-Auth-User': 'username',
'X-Auth-Key': 'apikey', 'X-Auth-Key': 'apikey',
'X-Auth-Project-Id': 'project_id', 'X-Auth-Project-Id': 'project_id',

View File

@ -73,7 +73,8 @@ class ShellTest(utils.TestCase):
'min_count': 1, 'max_count': 1}} 'min_count': 1, 'max_count': 1}}
) )
self.run_command('boot --image 1 --meta foo=bar --meta spam=eggs some-server ') self.run_command('boot --image 1 --meta foo=bar'
' --meta spam=eggs some-server ')
self.assert_called( self.assert_called(
'POST', '/servers', 'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1', {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
@ -85,7 +86,8 @@ class ShellTest(utils.TestCase):
testfile = os.path.join(os.path.dirname(__file__), 'testfile.txt') testfile = os.path.join(os.path.dirname(__file__), 'testfile.txt')
expected_file_data = open(testfile).read().encode('base64') expected_file_data = open(testfile).read().encode('base64')
self.run_command('boot some-server --image 1 --file /tmp/foo=%s --file /tmp/bar=%s' % self.run_command('boot some-server --image 1 '
'--file /tmp/foo=%s --file /tmp/bar=%s' %
(testfile, testfile)) (testfile, testfile))
self.assert_called( self.assert_called(
@ -100,8 +102,10 @@ class ShellTest(utils.TestCase):
) )
def test_boot_invalid_file(self): def test_boot_invalid_file(self):
invalid_file = os.path.join(os.path.dirname(__file__), 'asdfasdfasdfasdf') invalid_file = os.path.join(os.path.dirname(__file__),
self.assertRaises(exceptions.CommandError, self.run_command, 'boot some-server --image 1 ' 'asdfasdfasdfasdf')
self.assertRaises(exceptions.CommandError, self.run_command,
'boot some-server --image 1 '
'--file /foo=%s' % invalid_file) '--file /foo=%s' % invalid_file)
def test_boot_key_auto(self): def test_boot_key_auto(self):
@ -116,8 +120,8 @@ class ShellTest(utils.TestCase):
self.run_command('boot some-server --image 1 --key') self.run_command('boot some-server --image 1 --key')
self.assert_called( self.assert_called(
'POST', '/servers', 'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1', {'server': {'flavorId': 1, 'name': 'some-server',
'min_count': 1, 'max_count': 1, 'imageId': '1', 'min_count': 1, 'max_count': 1,
'personality': [{ 'personality': [{
'path': '/root/.ssh/authorized_keys2', 'path': '/root/.ssh/authorized_keys2',
'contents': ('SSHKEY').encode('base64')}, 'contents': ('SSHKEY').encode('base64')},
@ -153,9 +157,10 @@ class ShellTest(utils.TestCase):
) )
def test_boot_invalid_keyfile(self): def test_boot_invalid_keyfile(self):
invalid_file = os.path.join(os.path.dirname(__file__), 'asdfasdfasdfasdf') invalid_file = os.path.join(os.path.dirname(__file__),
self.assertRaises(exceptions.CommandError, self.run_command, 'boot some-server ' 'asdfasdfasdfasdf')
'--image 1 --key %s' % invalid_file) self.assertRaises(exceptions.CommandError, self.run_command,
'boot some-server --image 1 --key %s' % invalid_file)
def test_boot_ipgroup(self): def test_boot_ipgroup(self):
self.run_command('boot --image 1 --ipgroup 1 some-server') self.run_command('boot --image 1 --ipgroup 1 some-server')
@ -238,29 +243,36 @@ class ShellTest(utils.TestCase):
def test_reboot(self): def test_reboot(self):
self.run_command('reboot sample-server') self.run_command('reboot sample-server')
self.assert_called('POST', '/servers/1234/action', {'reboot': {'type': 'SOFT'}}) self.assert_called('POST', '/servers/1234/action',
{'reboot': {'type': 'SOFT'}})
self.run_command('reboot sample-server --hard') self.run_command('reboot sample-server --hard')
self.assert_called('POST', '/servers/1234/action', {'reboot': {'type': 'HARD'}}) self.assert_called('POST', '/servers/1234/action',
{'reboot': {'type': 'HARD'}})
def test_rebuild(self): def test_rebuild(self):
self.run_command('rebuild sample-server 1') self.run_command('rebuild sample-server 1')
self.assert_called('POST', '/servers/1234/action', {'rebuild': {'imageId': 1}}) self.assert_called('POST', '/servers/1234/action',
{'rebuild': {'imageId': 1}})
def test_rename(self): def test_rename(self):
self.run_command('rename sample-server newname') self.run_command('rename sample-server newname')
self.assert_called('PUT', '/servers/1234', {'server': {'name': 'newname'}}) self.assert_called('PUT', '/servers/1234',
{'server': {'name': 'newname'}})
def test_resize(self): def test_resize(self):
self.run_command('resize sample-server 1') self.run_command('resize sample-server 1')
self.assert_called('POST', '/servers/1234/action', {'resize': {'flavorId': 1}}) self.assert_called('POST', '/servers/1234/action',
{'resize': {'flavorId': 1}})
def test_resize_confirm(self): def test_resize_confirm(self):
self.run_command('resize-confirm sample-server') self.run_command('resize-confirm sample-server')
self.assert_called('POST', '/servers/1234/action', {'confirmResize': None}) self.assert_called('POST', '/servers/1234/action',
{'confirmResize': None})
def test_resize_revert(self): def test_resize_revert(self):
self.run_command('resize-revert sample-server') self.run_command('resize-revert sample-server')
self.assert_called('POST', '/servers/1234/action', {'revertResize': None}) self.assert_called('POST', '/servers/1234/action',
{'revertResize': None})
def test_backup(self): def test_backup(self):
self.run_command('backup sample-server mybackup daily 1') self.run_command('backup sample-server mybackup daily 1')
@ -273,7 +285,8 @@ class ShellTest(utils.TestCase):
@mock.patch('getpass.getpass', mock.Mock(return_value='p')) @mock.patch('getpass.getpass', mock.Mock(return_value='p'))
def test_root_password(self): def test_root_password(self):
self.run_command('root-password sample-server') self.run_command('root-password sample-server')
self.assert_called('PUT', '/servers/1234', {'server': {'adminPass': 'p'}}) self.assert_called('PUT', '/servers/1234',
{'server': {'adminPass': 'p'}})
def test_show(self): def test_show(self):
self.run_command('show 1234') self.run_command('show 1234')
@ -291,7 +304,8 @@ class ShellTest(utils.TestCase):
self.run_command('zone 1') self.run_command('zone 1')
self.assert_called('GET', '/zones/1') self.assert_called('GET', '/zones/1')
self.run_command('zone 1 --api_url=http://zzz --zone_username=frank --password=xxx') self.run_command('zone 1 --api_url=http://zzz '
'--zone_username=frank --password=xxx')
self.assert_called( self.assert_called(
'PUT', '/zones/1', 'PUT', '/zones/1',
{'zone': {'api_url': 'http://zzz', 'username': 'frank', {'zone': {'api_url': 'http://zzz', 'username': 'frank',

View File

@ -34,7 +34,8 @@ class FakeHTTPClient(base_client.HTTPClient):
munged_url = url.strip('/').replace('/', '_').replace('.', '_') munged_url = url.strip('/').replace('/', '_').replace('.', '_')
callback = "%s_%s" % (method.lower(), munged_url) callback = "%s_%s" % (method.lower(), munged_url)
if not hasattr(self, callback): if not hasattr(self, callback):
raise AssertionError('Called unknown API method: %s %s' % (method, url)) raise AssertionError('Called unknown API method: %s %s' % (method,
url))
# Note the call # Note the call
self.callstack.append((method, url, kwargs.get('body', None))) self.callstack.append((method, url, kwargs.get('body', None)))
@ -372,5 +373,3 @@ class FakeHTTPClient(base_client.HTTPClient):
def delete_zones_1(self, **kw): def delete_zones_1(self, **kw):
return (202, None) return (202, None)

View File

@ -77,7 +77,7 @@ class AuthenticationTests(utils.TestCase):
@mock.patch.object(httplib2.Http, "request", mock_request) @mock.patch.object(httplib2.Http, "request", mock_request)
def test_auth_call(): def test_auth_call():
cs.client.authenticate() cs.client.authenticate()
headers={ headers = {
'X-Auth-User': 'username', 'X-Auth-User': 'username',
'X-Auth-Key': 'apikey', 'X-Auth-Key': 'apikey',
'X-Auth-Project-Id': 'project_id', 'X-Auth-Project-Id': 'project_id',

View File

@ -49,7 +49,8 @@ class ShellTest(utils.TestCase):
}} }}
) )
self.run_command('boot --image 1 --meta foo=bar --meta spam=eggs some-server ') self.run_command('boot --image 1 --meta foo=bar'
' --meta spam=eggs some-server ')
self.assert_called_anytime( self.assert_called_anytime(
'POST', '/servers', 'POST', '/servers',
{'server': { {'server': {
@ -85,7 +86,8 @@ class ShellTest(utils.TestCase):
) )
def test_boot_invalid_file(self): def test_boot_invalid_file(self):
invalid_file = os.path.join(os.path.dirname(__file__), 'asdfasdfasdfasdf') invalid_file = os.path.join(os.path.dirname(__file__),
'asdfasdfasdfasdf')
cmd = 'boot some-server --image 1 --file /foo=%s' % invalid_file cmd = 'boot some-server --image 1 --file /foo=%s' % invalid_file
self.assertRaises(exceptions.CommandError, self.run_command, cmd) self.assertRaises(exceptions.CommandError, self.run_command, cmd)
@ -146,9 +148,10 @@ class ShellTest(utils.TestCase):
) )
def test_boot_invalid_keyfile(self): def test_boot_invalid_keyfile(self):
invalid_file = os.path.join(os.path.dirname(__file__), 'asdfasdfasdfasdf') invalid_file = os.path.join(os.path.dirname(__file__),
self.assertRaises(exceptions.CommandError, self.run_command, 'boot some-server ' 'asdfasdfasdfasdf')
'--image 1 --key %s' % invalid_file) self.assertRaises(exceptions.CommandError, self.run_command,
'boot some-server --image 1 --key %s' % invalid_file)
def test_flavor_list(self): def test_flavor_list(self):
self.run_command('flavor-list') self.run_command('flavor-list')
@ -175,34 +178,42 @@ class ShellTest(utils.TestCase):
def test_reboot(self): def test_reboot(self):
self.run_command('reboot sample-server') self.run_command('reboot sample-server')
self.assert_called('POST', '/servers/1234/action', {'reboot': {'type': 'SOFT'}}) self.assert_called('POST', '/servers/1234/action',
{'reboot': {'type': 'SOFT'}})
self.run_command('reboot sample-server --hard') self.run_command('reboot sample-server --hard')
self.assert_called('POST', '/servers/1234/action', {'reboot': {'type': 'HARD'}}) self.assert_called('POST', '/servers/1234/action',
{'reboot': {'type': 'HARD'}})
def test_rebuild(self): def test_rebuild(self):
self.run_command('rebuild sample-server 1') self.run_command('rebuild sample-server 1')
self.assert_called('POST', '/servers/1234/action', {'rebuild': {'imageRef': 1}}) self.assert_called('POST', '/servers/1234/action',
{'rebuild': {'imageRef': 1}})
def test_rename(self): def test_rename(self):
self.run_command('rename sample-server newname') self.run_command('rename sample-server newname')
self.assert_called('PUT', '/servers/1234', {'server': {'name': 'newname'}}) self.assert_called('PUT', '/servers/1234',
{'server': {'name': 'newname'}})
def test_resize(self): def test_resize(self):
self.run_command('resize sample-server 1') self.run_command('resize sample-server 1')
self.assert_called('POST', '/servers/1234/action', {'resize': {'flavorRef': 1}}) self.assert_called('POST', '/servers/1234/action',
{'resize': {'flavorRef': 1}})
def test_resize_confirm(self): def test_resize_confirm(self):
self.run_command('resize-confirm sample-server') self.run_command('resize-confirm sample-server')
self.assert_called('POST', '/servers/1234/action', {'confirmResize': None}) self.assert_called('POST', '/servers/1234/action',
{'confirmResize': None})
def test_resize_revert(self): def test_resize_revert(self):
self.run_command('resize-revert sample-server') self.run_command('resize-revert sample-server')
self.assert_called('POST', '/servers/1234/action', {'revertResize': None}) self.assert_called('POST', '/servers/1234/action',
{'revertResize': None})
@mock.patch('getpass.getpass', mock.Mock(return_value='p')) @mock.patch('getpass.getpass', mock.Mock(return_value='p'))
def test_root_password(self): def test_root_password(self):
self.run_command('root-password sample-server') self.run_command('root-password sample-server')
self.assert_called('POST', '/servers/1234/action', {'changePassword': {'adminPass': 'p'}}) self.assert_called('POST', '/servers/1234/action',
{'changePassword': {'adminPass': 'p'}})
def test_show(self): def test_show(self):
self.run_command('show 1234') self.run_command('show 1234')