Skip to content

Commit 9ada3b5

Browse files
Dean Troyerstevemar
authored andcommitted
Add server test for image and flavor lookups
Review Ia66e44e530799ce6531922dcf6a84e38528c8725 changes OSC's server commands to use the image client rather than compute clirnt (yay!) but we never really tested any of this in functional tests. This review adds a simple functional test (in the new style) to watch the client change; it passes locally for me without the client change, due to timing we went ahead and merged that first. Change-Id: I5529f412578c50090e70d17aa0129217bf803fed
1 parent bfad2ab commit 9ada3b5

1 file changed

Lines changed: 49 additions & 15 deletions

File tree

openstackclient/tests/functional/compute/v2/test_server.py

Lines changed: 49 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# License for the specific language governing permissions and limitations
1111
# under the License.
1212

13+
import json
1314
import time
1415

1516
from tempest.lib.common.utils import data_utils
@@ -59,12 +60,10 @@ def server_create(self, name=None):
5960
"""Create server. Add cleanup."""
6061
name = name or data_utils.rand_uuid()
6162
opts = self.get_opts(self.FIELDS)
62-
flavor = self.get_flavor()
63-
image = self.get_image()
64-
network = self.get_network()
6563
raw_output = self.openstack('--debug server create --flavor ' +
66-
flavor +
67-
' --image ' + image + network + ' ' +
64+
self.flavor_name +
65+
' --image ' + self.image_name +
66+
self.network_arg + ' ' +
6867
name + opts)
6968
if not raw_output:
7069
self.fail('Server has not been created!')
@@ -82,6 +81,10 @@ def server_delete(self, name):
8281
def setUp(self):
8382
"""Set necessary variables and create server."""
8483
super(ServerTests, self).setUp()
84+
self.flavor_name = self.get_flavor()
85+
self.image_name = self.get_image()
86+
self.network_arg = self.get_network()
87+
8588
self.NAME = data_utils.rand_name('TestServer')
8689
self.OTHER_NAME = data_utils.rand_name('TestServer')
8790
self.HEADERS = ['"Name"']
@@ -119,16 +122,47 @@ def test_server_list(self):
119122
self.assertIn(self.NAME, raw_output)
120123

121124
def test_server_show(self):
122-
"""Test server show command.
123-
124-
Test steps:
125-
1) Boot server in setUp
126-
2) Show server
127-
3) Check output
128-
"""
129-
opts = self.get_opts(self.FIELDS)
130-
raw_output = self.openstack('server show ' + self.NAME + opts)
131-
self.assertEqual(self.NAME + "\n", raw_output)
125+
"""Test server create, server delete commands"""
126+
name1 = data_utils.rand_name('TestServer')
127+
cmd_output = json.loads(self.openstack(
128+
'server create -f json ' +
129+
'--flavor ' + self.flavor_name + ' ' +
130+
'--image ' + self.image_name + ' ' +
131+
self.network_arg + ' ' +
132+
name1
133+
))
134+
self.assertIsNotNone(cmd_output["id"])
135+
self.addCleanup(self.openstack, 'server delete ' + name1)
136+
self.assertEqual(
137+
name1,
138+
cmd_output["name"],
139+
)
140+
141+
# Have a look at some other fields
142+
flavor = json.loads(self.openstack(
143+
'flavor show -f json ' +
144+
self.flavor_name
145+
))
146+
self.assertEqual(
147+
self.flavor_name,
148+
flavor['name'],
149+
)
150+
self.assertEqual(
151+
'%s (%s)' % (flavor['name'], flavor['id']),
152+
cmd_output["flavor"],
153+
)
154+
image = json.loads(self.openstack(
155+
'image show -f json ' +
156+
self.image_name
157+
))
158+
self.assertEqual(
159+
self.image_name,
160+
image['name'],
161+
)
162+
self.assertEqual(
163+
'%s (%s)' % (image['name'], image['id']),
164+
cmd_output["image"],
165+
)
132166

133167
def test_server_metadata(self):
134168
"""Test command to set server metadata.

0 commit comments

Comments
 (0)