Added environments tests

Change-Id: I4e343f44dd2ad405ee1e9050310f7836bf3d8936
Partly-Implements: blueprint murano-api-devstack-gates
This commit is contained in:
Sergey Murashov 2014-03-20 10:27:41 +04:00
parent 90fd7b72d7
commit fc8b256f6f
2 changed files with 135 additions and 5 deletions

View File

@ -12,9 +12,11 @@
# License for the specific language governing permissions and limitations
# under the License.
import json
from tempest import clients
from tempest.common import rest_client
from tempest import config
from tempest import exceptions
import testtools
CONF = config.CONF
@ -24,16 +26,63 @@ class MuranoClient(rest_client.RestClient):
def __init__(self, auth_provider):
super(MuranoClient, self).__init__(auth_provider)
self.service = 'application_catalog'
self.endpoint_url = 'publicURL'
def get_environments_list(self):
resp, body = self.get('environments')
return resp, json.loads(body)
def create_environment(self, name):
post_body = '{"name": "%s"}' % name
resp, body = self.post('environments', post_body)
return resp, json.loads(body)
def delete_environment(self, environment_id):
return self.delete('environments/{0}'.format(environment_id))
def update_environment(self, environment_id):
post_body = '{"name": "%s"}' % ("changed-environment-name")
resp, body = self.put('environments/{0}'.format(environment_id),
post_body)
return resp, json.loads(body)
def get_environment(self, environment_id):
resp, body = self.get('environments/{0}'.format(environment_id))
return resp, json.loads(body)
class TestCase(testtools.TestCase):
def setUp(self):
super(TestCase, self).setUp()
@classmethod
def setUpClass(cls):
super(TestCase, cls).setUpClass()
username = CONF.identity.username
password = CONF.identity.password
tenant_name = CONF.identity.tenant_name
mgr = clients.Manager(username, password, tenant_name)
auth_provider = mgr.get_auth_provider()
self.client = MuranoClient(auth_provider)
auth_provider = mgr.get_auth_provider(mgr.get_default_credentials())
cls.client = MuranoClient(auth_provider)
def setUp(self):
super(TestCase, self).setUp()
self.environments = []
def tearDown(self):
super(TestCase, self).tearDown()
for environment in self.environments:
try:
self.client.delete_environment(environment['id'])
except exceptions.NotFound:
pass

View File

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from tempest import exceptions
from tempest.test import attr
from functionaltests.api import base
@ -21,5 +22,85 @@ class TestEnvironments(base.TestCase):
@attr(type='smoke')
def test_list_environments(self):
resp, body = self.client.get('/environments')
resp, body = self.client.get_environments_list()
self.assertIn('environments', body)
self.assertEqual(resp.status, 200)
@attr(type='smoke')
def test_create_and_delete_environment(self):
_, environments_list_start = self.client.get_environments_list()
resp, env = self.client.create_environment('test')
self.environments.append(env)
self.assertEqual(resp.status, 200)
self.assertEqual('test', env['name'])
_, environments_list = self.client.get_environments_list()
self.assertEqual(len(environments_list_start['environments']) + 1,
len(environments_list['environments']))
self.client.delete_environment(env['id'])
_, environments_list = self.client.get_environments_list()
self.assertEqual(len(environments_list_start['environments']),
len(environments_list['environments']))
self.environments.pop(self.environments.index(env))
@attr(type='smoke')
def test_get_environment(self):
_, env = self.client.create_environment('test')
self.environments.append(env)
resp, environment = self.client.get_environment(env['id'])
self.assertEqual(resp.status, 200)
self.assertEqual(environment['name'], 'test')
@attr(type='smoke')
def test_update_environment(self):
_, env = self.client.create_environment('test')
self.environments.append(env)
resp, environment = self.client.update_environment(env['id'])
self.assertEqual(resp.status, 200)
self.assertEqual(environment['name'], 'changed-environment-name')
@attr(type='negative')
def test_update_environment_with_wrong_env_id(self):
self.assertRaises(exceptions.NotFound,
self.client.update_environment,
None)
@attr(type='negative')
def test_delete_environment_with_wrong_env_id(self):
self.assertRaises(exceptions.NotFound,
self.client.delete_environment,
None)
@attr(type='negative')
def test_double_delete_environment(self):
_, env = self.client.create_environment('test')
self.environments.append(env)
self.client.delete_environment(env['id'])
self.assertRaises(exceptions.NotFound,
self.client.delete_environment,
env['id'])
@attr(type='negative')
def test_get_deleted_environment(self):
_, env = self.client.create_environment('test')
self.environments.append(env)
self.client.delete_environment(env['id'])
self.assertRaises(exceptions.NotFound,
self.client.get_environment,
env['id'])