Merge "Add a unit test for "flavor create" command"

This commit is contained in:
Jenkins 2016-05-05 15:44:35 +00:00 committed by Gerrit Code Review
commit 9f91eadb2b
2 changed files with 162 additions and 2 deletions

View File

@ -543,8 +543,8 @@ class FakeFlavor(object):
'ram': 8192, 'ram': 8192,
'vcpus': 4, 'vcpus': 4,
'disk': 128, 'disk': 128,
'swap': '', 'swap': 0,
'rxtx_factor': '1.0', 'rxtx_factor': 1.0,
'OS-FLV-DISABLED:disabled': False, 'OS-FLV-DISABLED:disabled': False,
'os-flavor-access:is_public': True, 'os-flavor-access:is_public': True,
'OS-FLV-EXT-DATA:ephemeral': 0, 'OS-FLV-EXT-DATA:ephemeral': 0,

View File

@ -30,6 +30,166 @@ class TestFlavor(compute_fakes.TestComputev2):
self.flavors_mock.reset_mock() self.flavors_mock.reset_mock()
class TestFlavorCreate(TestFlavor):
flavor = compute_fakes.FakeFlavor.create_one_flavor(
attrs={'links': 'flavor-links'})
columns = (
'OS-FLV-DISABLED:disabled',
'OS-FLV-EXT-DATA:ephemeral',
'disk',
'id',
'name',
'os-flavor-access:is_public',
'ram',
'rxtx_factor',
'swap',
'vcpus',
)
data = (
flavor.disabled,
flavor.ephemeral,
flavor.disk,
flavor.id,
flavor.name,
flavor.is_public,
flavor.ram,
flavor.rxtx_factor,
flavor.swap,
flavor.vcpus,
)
def setUp(self):
super(TestFlavorCreate, self).setUp()
self.flavors_mock.create.return_value = self.flavor
self.cmd = flavor.CreateFlavor(self.app, None)
def test_flavor_create_default_options(self):
arglist = [
self.flavor.name
]
verifylist = [
('name', self.flavor.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
default_args = (
self.flavor.name,
256,
1,
0,
'auto',
0,
0,
1.0,
True
)
columns, data = self.cmd.take_action(parsed_args)
self.flavors_mock.create.assert_called_once_with(*default_args)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
def test_flavor_create_all_options(self):
arglist = [
self.flavor.name,
'--id', self.flavor.id,
'--ram', str(self.flavor.ram),
'--disk', str(self.flavor.disk),
'--ephemeral', str(self.flavor.ephemeral),
'--swap', str(self.flavor.swap),
'--vcpus', str(self.flavor.vcpus),
'--rxtx-factor', str(self.flavor.rxtx_factor),
'--public',
]
verifylist = [
('name', self.flavor.name),
('id', self.flavor.id),
('ram', self.flavor.ram),
('disk', self.flavor.disk),
('ephemeral', self.flavor.ephemeral),
('swap', self.flavor.swap),
('vcpus', self.flavor.vcpus),
('rxtx_factor', self.flavor.rxtx_factor),
('public', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
args = (
self.flavor.name,
self.flavor.ram,
self.flavor.vcpus,
self.flavor.disk,
self.flavor.id,
self.flavor.ephemeral,
self.flavor.swap,
self.flavor.rxtx_factor,
self.flavor.is_public,
)
columns, data = self.cmd.take_action(parsed_args)
self.flavors_mock.create.assert_called_once_with(*args)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
def test_flavor_create_other_options(self):
self.flavor.is_public = False
arglist = [
self.flavor.name,
'--id', self.flavor.id,
'--ram', str(self.flavor.ram),
'--disk', str(self.flavor.disk),
'--ephemeral', str(self.flavor.ephemeral),
'--swap', str(self.flavor.swap),
'--vcpus', str(self.flavor.vcpus),
'--rxtx-factor', str(self.flavor.rxtx_factor),
'--private',
]
verifylist = [
('name', self.flavor.name),
('id', self.flavor.id),
('ram', self.flavor.ram),
('disk', self.flavor.disk),
('ephemeral', self.flavor.ephemeral),
('swap', self.flavor.swap),
('vcpus', self.flavor.vcpus),
('rxtx_factor', self.flavor.rxtx_factor),
('public', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
args = (
self.flavor.name,
self.flavor.ram,
self.flavor.vcpus,
self.flavor.disk,
self.flavor.id,
self.flavor.ephemeral,
self.flavor.swap,
self.flavor.rxtx_factor,
self.flavor.is_public,
)
columns, data = self.cmd.take_action(parsed_args)
self.flavors_mock.create.assert_called_once_with(*args)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
def test_flavor_create_no_options(self):
arglist = []
verifylist = None
self.assertRaises(tests_utils.ParserException,
self.check_parser,
self.cmd,
arglist,
verifylist)
class TestFlavorDelete(TestFlavor): class TestFlavorDelete(TestFlavor):
flavor = compute_fakes.FakeFlavor.create_one_flavor() flavor = compute_fakes.FakeFlavor.create_one_flavor()