Merge "Add basic Keystone CLI tests"
diff --git a/tempest/tests/compute/images/test_images.py b/tempest/tests/compute/images/test_images.py
index a61cef6..fb0364a 100644
--- a/tempest/tests/compute/images/test_images.py
+++ b/tempest/tests/compute/images/test_images.py
@@ -56,6 +56,14 @@
self.image_ids.remove(image_id)
super(ImagesTestJSON, self).tearDown()
+ def __create_image__(self, server_id, name, meta=None):
+ resp, body = self.client.create_image(server_id, name, meta)
+ image_id = parse_image_id(resp['location'])
+ self.client.wait_for_image_resp_code(image_id, 200)
+ self.client.wait_for_image_status(image_id, 'ACTIVE')
+ self.image_ids.append(image_id)
+ return resp, body
+
@attr(type='negative')
def test_create_image_from_deleted_server(self):
# An image should not be created if the server instance is removed
@@ -63,43 +71,24 @@
# Delete server before trying to create server
self.servers_client.delete_server(server['id'])
-
- try:
- # Create a new image after server is deleted
- name = rand_name('image')
- meta = {'image_type': 'test'}
- resp, body = self.client.create_image(server['id'], name, meta)
-
- except Exception:
- pass
-
- else:
- image_id = parse_image_id(resp['location'])
- self.client.wait_for_image_resp_code(image_id, 200)
- self.client.wait_for_image_status(image_id, 'ACTIVE')
- self.client.delete_image(image_id)
- self.fail("Should not create snapshot from deleted instance!")
+ self.servers_client.wait_for_server_termination(server['id'])
+ # Create a new image after server is deleted
+ name = rand_name('image')
+ meta = {'image_type': 'test'}
+ self.assertRaises(exceptions.NotFound,
+ self.__create_image__,
+ server['id'], name, meta)
@attr(type='negative')
def test_create_image_from_invalid_server(self):
# An image should not be created with invalid server id
- try:
- # Create a new image with invalid server id
- name = rand_name('image')
- meta = {'image_type': 'test'}
- resp = {}
- resp['status'] = None
- resp, body = self.client.create_image('!@#$%^&*()', name, meta)
-
- except exceptions.NotFound:
- pass
-
- finally:
- if (resp['status'] is not None):
- image_id = parse_image_id(resp['location'])
- resp, _ = self.client.delete_image(image_id)
- self.fail("An image should not be created "
- "with invalid server id")
+ # Create a new image with invalid server id
+ name = rand_name('image')
+ meta = {'image_type': 'test'}
+ resp = {}
+ resp['status'] = None
+ self.assertRaises(exceptions.NotFound, self.__create_image__,
+ '!@#$%^&*()', name, meta)
@attr(type='negative')
def test_create_image_when_server_is_terminating(self):
diff --git a/tempest/tests/compute/servers/test_servers.py b/tempest/tests/compute/servers/test_servers.py
index a8d28df..4796e86 100644
--- a/tempest/tests/compute/servers/test_servers.py
+++ b/tempest/tests/compute/servers/test_servers.py
@@ -28,111 +28,81 @@
super(ServersTestJSON, cls).setUpClass()
cls.client = cls.servers_client
+ def tearDown(self):
+ self.clear_servers()
+ super(ServersTestJSON, self).tearDown()
+
@attr(type='positive')
def test_create_server_with_admin_password(self):
# If an admin password is provided on server creation, the server's
# root password should be set to that password.
+ resp, server = self.create_server(adminPass='testpassword')
- try:
- server = None
- resp, server = self.create_server(adminPass='testpassword')
-
- #Verify the password is set correctly in the response
- self.assertEqual('testpassword', server['adminPass'])
-
- #Teardown
- finally:
- if server:
- self.client.delete_server(server['id'])
+ # Verify the password is set correctly in the response
+ self.assertEqual('testpassword', server['adminPass'])
def test_create_with_existing_server_name(self):
# Creating a server with a name that already exists is allowed
# TODO(sdague): clear out try, we do cleanup one layer up
- try:
- id1 = None
- id2 = None
- server_name = rand_name('server')
- resp, server = self.create_server(name=server_name,
- wait_until='ACTIVE')
- id1 = server['id']
- resp, server = self.create_server(name=server_name,
- wait_until='ACTIVE')
- id2 = server['id']
- self.assertNotEqual(id1, id2, "Did not create a new server")
- resp, server = self.client.get_server(id1)
- name1 = server['name']
- resp, server = self.client.get_server(id2)
- name2 = server['name']
- self.assertEqual(name1, name2)
- finally:
- for server_id in (id1, id2):
- if server_id:
- self.client.delete_server(server_id)
+ server_name = rand_name('server')
+ resp, server = self.create_server(name=server_name,
+ wait_until='ACTIVE')
+ id1 = server['id']
+ resp, server = self.create_server(name=server_name,
+ wait_until='ACTIVE')
+ id2 = server['id']
+ self.assertNotEqual(id1, id2, "Did not create a new server")
+ resp, server = self.client.get_server(id1)
+ name1 = server['name']
+ resp, server = self.client.get_server(id2)
+ name2 = server['name']
+ self.assertEqual(name1, name2)
@attr(type='positive')
def test_create_specify_keypair(self):
# Specify a keypair while creating a server
- try:
- server = None
- key_name = rand_name('key')
- resp, keypair = self.keypairs_client.create_keypair(key_name)
- resp, body = self.keypairs_client.list_keypairs()
- resp, server = self.create_server(key_name=key_name)
- self.assertEqual('202', resp['status'])
- self.client.wait_for_server_status(server['id'], 'ACTIVE')
- resp, server = self.client.get_server(server['id'])
- self.assertEqual(key_name, server['key_name'])
- finally:
- if server:
- self.client.delete_server(server['id'])
+ key_name = rand_name('key')
+ resp, keypair = self.keypairs_client.create_keypair(key_name)
+ resp, body = self.keypairs_client.list_keypairs()
+ resp, server = self.create_server(key_name=key_name)
+ self.assertEqual('202', resp['status'])
+ self.client.wait_for_server_status(server['id'], 'ACTIVE')
+ resp, server = self.client.get_server(server['id'])
+ self.assertEqual(key_name, server['key_name'])
@attr(type='positive')
def test_update_server_name(self):
# The server name should be changed to the the provided value
- try:
- server = None
- resp, server = self.create_server(wait_until='ACTIVE')
+ resp, server = self.create_server(wait_until='ACTIVE')
- #Update the server with a new name
- resp, server = self.client.update_server(server['id'],
- name='newname')
- self.assertEquals(200, resp.status)
- self.client.wait_for_server_status(server['id'], 'ACTIVE')
+ # Update the server with a new name
+ resp, server = self.client.update_server(server['id'],
+ name='newname')
+ self.assertEquals(200, resp.status)
+ self.client.wait_for_server_status(server['id'], 'ACTIVE')
- #Verify the name of the server has changed
- resp, server = self.client.get_server(server['id'])
- self.assertEqual('newname', server['name'])
-
- #Teardown
- finally:
- if server:
- self.client.delete_server(server['id'])
+ # Verify the name of the server has changed
+ resp, server = self.client.get_server(server['id'])
+ self.assertEqual('newname', server['name'])
@attr(type='positive')
def test_update_access_server_address(self):
# The server's access addresses should reflect the provided values
- try:
- server = None
- resp, server = self.create_server(wait_until='ACTIVE')
+ resp, server = self.create_server(wait_until='ACTIVE')
- #Update the IPv4 and IPv6 access addresses
- resp, body = self.client.update_server(server['id'],
- accessIPv4='1.1.1.1',
- accessIPv6='::babe:202:202')
- self.assertEqual(200, resp.status)
- self.client.wait_for_server_status(server['id'], 'ACTIVE')
+ # Update the IPv4 and IPv6 access addresses
+ resp, body = self.client.update_server(server['id'],
+ accessIPv4='1.1.1.1',
+ accessIPv6='::babe:202:202')
+ self.assertEqual(200, resp.status)
+ self.client.wait_for_server_status(server['id'], 'ACTIVE')
- #Verify the access addresses have been updated
- resp, server = self.client.get_server(server['id'])
- self.assertEqual('1.1.1.1', server['accessIPv4'])
- self.assertEqual('::babe:202:202', server['accessIPv6'])
-
- #Teardown
- finally:
- if server:
- self.client.delete_server(server['id'])
+ # Verify the access addresses have been updated
+ resp, server = self.client.get_server(server['id'])
+ self.assertEqual('1.1.1.1', server['accessIPv4'])
+ self.assertEqual('::babe:202:202', server['accessIPv6'])
def test_delete_server_while_in_building_state(self):
# Delete a server while it's VM state is Building