Skip to content

Commit 9f91ead

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add a unit test for "flavor create" command"
2 parents 4d85a3f + 68224ea commit 9f91ead

2 files changed

Lines changed: 162 additions & 2 deletions

File tree

openstackclient/tests/compute/v2/fakes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,8 +543,8 @@ def create_one_flavor(attrs=None):
543543
'ram': 8192,
544544
'vcpus': 4,
545545
'disk': 128,
546-
'swap': '',
547-
'rxtx_factor': '1.0',
546+
'swap': 0,
547+
'rxtx_factor': 1.0,
548548
'OS-FLV-DISABLED:disabled': False,
549549
'os-flavor-access:is_public': True,
550550
'OS-FLV-EXT-DATA:ephemeral': 0,

openstackclient/tests/compute/v2/test_flavor.py

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,166 @@ def setUp(self):
3030
self.flavors_mock.reset_mock()
3131

3232

33+
class TestFlavorCreate(TestFlavor):
34+
35+
flavor = compute_fakes.FakeFlavor.create_one_flavor(
36+
attrs={'links': 'flavor-links'})
37+
38+
columns = (
39+
'OS-FLV-DISABLED:disabled',
40+
'OS-FLV-EXT-DATA:ephemeral',
41+
'disk',
42+
'id',
43+
'name',
44+
'os-flavor-access:is_public',
45+
'ram',
46+
'rxtx_factor',
47+
'swap',
48+
'vcpus',
49+
)
50+
data = (
51+
flavor.disabled,
52+
flavor.ephemeral,
53+
flavor.disk,
54+
flavor.id,
55+
flavor.name,
56+
flavor.is_public,
57+
flavor.ram,
58+
flavor.rxtx_factor,
59+
flavor.swap,
60+
flavor.vcpus,
61+
)
62+
63+
def setUp(self):
64+
super(TestFlavorCreate, self).setUp()
65+
66+
self.flavors_mock.create.return_value = self.flavor
67+
self.cmd = flavor.CreateFlavor(self.app, None)
68+
69+
def test_flavor_create_default_options(self):
70+
71+
arglist = [
72+
self.flavor.name
73+
]
74+
verifylist = [
75+
('name', self.flavor.name),
76+
]
77+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
78+
79+
default_args = (
80+
self.flavor.name,
81+
256,
82+
1,
83+
0,
84+
'auto',
85+
0,
86+
0,
87+
1.0,
88+
True
89+
)
90+
columns, data = self.cmd.take_action(parsed_args)
91+
self.flavors_mock.create.assert_called_once_with(*default_args)
92+
93+
self.assertEqual(self.columns, columns)
94+
self.assertEqual(self.data, data)
95+
96+
def test_flavor_create_all_options(self):
97+
98+
arglist = [
99+
self.flavor.name,
100+
'--id', self.flavor.id,
101+
'--ram', str(self.flavor.ram),
102+
'--disk', str(self.flavor.disk),
103+
'--ephemeral', str(self.flavor.ephemeral),
104+
'--swap', str(self.flavor.swap),
105+
'--vcpus', str(self.flavor.vcpus),
106+
'--rxtx-factor', str(self.flavor.rxtx_factor),
107+
'--public',
108+
]
109+
verifylist = [
110+
('name', self.flavor.name),
111+
('id', self.flavor.id),
112+
('ram', self.flavor.ram),
113+
('disk', self.flavor.disk),
114+
('ephemeral', self.flavor.ephemeral),
115+
('swap', self.flavor.swap),
116+
('vcpus', self.flavor.vcpus),
117+
('rxtx_factor', self.flavor.rxtx_factor),
118+
('public', True),
119+
]
120+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
121+
122+
args = (
123+
self.flavor.name,
124+
self.flavor.ram,
125+
self.flavor.vcpus,
126+
self.flavor.disk,
127+
self.flavor.id,
128+
self.flavor.ephemeral,
129+
self.flavor.swap,
130+
self.flavor.rxtx_factor,
131+
self.flavor.is_public,
132+
)
133+
columns, data = self.cmd.take_action(parsed_args)
134+
self.flavors_mock.create.assert_called_once_with(*args)
135+
136+
self.assertEqual(self.columns, columns)
137+
self.assertEqual(self.data, data)
138+
139+
def test_flavor_create_other_options(self):
140+
141+
self.flavor.is_public = False
142+
arglist = [
143+
self.flavor.name,
144+
'--id', self.flavor.id,
145+
'--ram', str(self.flavor.ram),
146+
'--disk', str(self.flavor.disk),
147+
'--ephemeral', str(self.flavor.ephemeral),
148+
'--swap', str(self.flavor.swap),
149+
'--vcpus', str(self.flavor.vcpus),
150+
'--rxtx-factor', str(self.flavor.rxtx_factor),
151+
'--private',
152+
]
153+
verifylist = [
154+
('name', self.flavor.name),
155+
('id', self.flavor.id),
156+
('ram', self.flavor.ram),
157+
('disk', self.flavor.disk),
158+
('ephemeral', self.flavor.ephemeral),
159+
('swap', self.flavor.swap),
160+
('vcpus', self.flavor.vcpus),
161+
('rxtx_factor', self.flavor.rxtx_factor),
162+
('public', False),
163+
]
164+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
165+
166+
args = (
167+
self.flavor.name,
168+
self.flavor.ram,
169+
self.flavor.vcpus,
170+
self.flavor.disk,
171+
self.flavor.id,
172+
self.flavor.ephemeral,
173+
self.flavor.swap,
174+
self.flavor.rxtx_factor,
175+
self.flavor.is_public,
176+
)
177+
columns, data = self.cmd.take_action(parsed_args)
178+
self.flavors_mock.create.assert_called_once_with(*args)
179+
180+
self.assertEqual(self.columns, columns)
181+
self.assertEqual(self.data, data)
182+
183+
def test_flavor_create_no_options(self):
184+
arglist = []
185+
verifylist = None
186+
self.assertRaises(tests_utils.ParserException,
187+
self.check_parser,
188+
self.cmd,
189+
arglist,
190+
verifylist)
191+
192+
33193
class TestFlavorDelete(TestFlavor):
34194

35195
flavor = compute_fakes.FakeFlavor.create_one_flavor()

0 commit comments

Comments
 (0)