summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2017-01-24 17:41:00 -0600
committerArtom Lifshitz <alifshit@redhat.com>2017-02-06 11:34:31 -0500
commit76157bbad6dd8c6ce102679948c75113ae94c561 (patch)
tree211dac3af62c13ed2e3d65829b69d9f4663eb2ac
parenta31c8117b0819df90edaa4347b1c23b0d5a95e01 (diff)
downloadpython-openstackclient-76157bbad6dd8c6ce102679948c75113ae94c561.tar.gz
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 (cherry picked from commit 9ada3b529d60c174b7daa8db2a2fe5ebe619cced)
-rw-r--r--functional/tests/compute/v2/test_server.py64
1 files changed, 49 insertions, 15 deletions
diff --git a/functional/tests/compute/v2/test_server.py b/functional/tests/compute/v2/test_server.py
index a9d0e9c1..383976b6 100644
--- a/functional/tests/compute/v2/test_server.py
+++ b/functional/tests/compute/v2/test_server.py
@@ -10,6 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import json
import time
from tempest.lib.common.utils import data_utils
@@ -59,12 +60,10 @@ class ServerTests(test.TestCase):
"""Create server. Add cleanup."""
name = name or data_utils.rand_uuid()
opts = self.get_opts(self.FIELDS)
- flavor = self.get_flavor()
- image = self.get_image()
- network = self.get_network()
raw_output = self.openstack('--debug server create --flavor ' +
- flavor +
- ' --image ' + image + network + ' ' +
+ self.flavor_name +
+ ' --image ' + self.image_name +
+ self.network_arg + ' ' +
name + opts)
if not raw_output:
self.fail('Server has not been created!')
@@ -82,6 +81,10 @@ class ServerTests(test.TestCase):
def setUp(self):
"""Set necessary variables and create server."""
super(ServerTests, self).setUp()
+ self.flavor_name = self.get_flavor()
+ self.image_name = self.get_image()
+ self.network_arg = self.get_network()
+
self.NAME = data_utils.rand_name('TestServer')
self.OTHER_NAME = data_utils.rand_name('TestServer')
self.HEADERS = ['"Name"']
@@ -119,16 +122,47 @@ class ServerTests(test.TestCase):
self.assertIn(self.NAME, raw_output)
def test_server_show(self):
- """Test server show command.
-
- Test steps:
- 1) Boot server in setUp
- 2) Show server
- 3) Check output
- """
- opts = self.get_opts(self.FIELDS)
- raw_output = self.openstack('server show ' + self.NAME + opts)
- self.assertEqual(self.NAME + "\n", raw_output)
+ """Test server create, server delete commands"""
+ name1 = data_utils.rand_name('TestServer')
+ cmd_output = json.loads(self.openstack(
+ 'server create -f json ' +
+ '--flavor ' + self.flavor_name + ' ' +
+ '--image ' + self.image_name + ' ' +
+ self.network_arg + ' ' +
+ name1
+ ))
+ self.assertIsNotNone(cmd_output["id"])
+ self.addCleanup(self.openstack, 'server delete ' + name1)
+ self.assertEqual(
+ name1,
+ cmd_output["name"],
+ )
+
+ # Have a look at some other fields
+ flavor = json.loads(self.openstack(
+ 'flavor show -f json ' +
+ self.flavor_name
+ ))
+ self.assertEqual(
+ self.flavor_name,
+ flavor['name'],
+ )
+ self.assertEqual(
+ '%s (%s)' % (flavor['name'], flavor['id']),
+ cmd_output["flavor"],
+ )
+ image = json.loads(self.openstack(
+ 'image show -f json ' +
+ self.image_name
+ ))
+ self.assertEqual(
+ self.image_name,
+ image['name'],
+ )
+ self.assertEqual(
+ '%s (%s)' % (image['name'], image['id']),
+ cmd_output["image"],
+ )
def test_server_metadata(self):
"""Test command to set server metadata.