Adding some new flavors tests

This commit is contained in:
Nirmal Ranganathan
2012-06-13 15:31:13 -05:00
parent f4f995a51e
commit d5eda92de5
3 changed files with 53 additions and 16 deletions

View File

@@ -18,16 +18,18 @@ import os
from nose.tools import assert_equal
from nose.tools import assert_false
from nose.tools import assert_true
from novaclient import exceptions as nova_exceptions
from proboscis import before_class
from proboscis import test
from proboscis.asserts import assert_raises
import tests
from tests.util import create_dbaas_client
from tests.util import create_nova_client
from tests.util import test_config
from tests.util.users import Requirements
from tests.util.check import AttrCheck
GROUP = "dbaas.api.flavors"
@@ -119,3 +121,29 @@ class Flavors(object):
assert_false(found_index is None, msg)
for flavor in dbaas_flavors:
assert_link_list_is_equal(flavor)
@test
def test_flavor_list_attrs(self):
expected_attrs =['id', 'name', 'ram', 'links']
flavors = self.rd_client.flavors.list()
attrcheck = AttrCheck()
for flavor in flavors:
flavor_dict = flavor._info
attrcheck.attrs_exist(flavor_dict, expected_attrs,
msg="Flavors list")
attrcheck.links(flavor_dict['links'])
@test
def test_flavor_get_attrs(self):
expected_attrs =['id', 'name', 'ram', 'links']
flavor = self.rd_client.flavors.get(1)
attrcheck = AttrCheck()
flavor_dict = flavor._info
attrcheck.attrs_exist(flavor_dict, expected_attrs,
msg="Flavor Get 1")
attrcheck.links(flavor_dict['links'])
@test
def test_flavor_not_found(self):
assert_raises(nova_exceptions.NotFound,
self.rd_client.flavors.get, "detail")

View File

@@ -60,6 +60,7 @@ from tests.util import process
from tests.util.users import Requirements
from tests.util import string_in_list
from tests.util import poll_until
from tests.util.check import AttrCheck
from tests import TEST_MGMT
from tests import WHITE_BOX
@@ -841,27 +842,13 @@ class VerifyInstanceMgmtInfo(object):
assert_true('name' in user, "'name' not in users element.")
class CheckInstance(Check):
class CheckInstance(AttrCheck):
"""Class to check various attributes of Instance details"""
def __init__(self, instance):
super(CheckInstance, self).__init__()
self.instance = instance
def fail(self, msg):
self.true(False, msg)
def attrs_exist(self, list, expected_attrs, msg=None):
# Check these attrs only are returned in create response
for attr in list:
if attr not in expected_attrs:
self.fail("%s should not contain '%s'" % (msg, attr))
def links(self, links):
expected_attrs = ['href', 'rel']
for link in links:
self.attrs_exist(link, expected_attrs, msg="Links")
def flavor(self):
if 'flavor' not in self.instance:
self.fail("'flavor' not found in instance.")

View File

@@ -21,6 +21,7 @@ from proboscis.asserts import assert_equal
from proboscis.asserts import assert_false
from proboscis.asserts import assert_not_equal
from proboscis.asserts import assert_true
from proboscis.asserts import Check
def get_stack_trace_of_caller(level_up):
@@ -103,3 +104,24 @@ class Checker(object):
def true(self, *args, **kwargs):
self._run_assertion(assert_true, *args, **kwargs)
class AttrCheck(Check):
"""Class for attr checks, links and other common items."""
def __init__(self):
super(AttrCheck, self).__init__()
def fail(self, msg):
self.true(False, msg)
def attrs_exist(self, list, expected_attrs, msg=None):
# Check these attrs only are returned in create response
for attr in list:
if attr not in expected_attrs:
self.fail("%s should not contain '%s'" % (msg, attr))
def links(self, links):
expected_attrs = ['href', 'rel']
for link in links:
self.attrs_exist(link, expected_attrs, msg="Links")