Added tests form tuskar_ui.infrastructure.flavors.utils
Also moved _safe_int_cast and fixed the de_camel_case function Change-Id: I675f1e0911d21a6603164e77ce02c9d8d130ae40
This commit is contained in:
parent
bd8f4d6395
commit
36798da359
@ -21,6 +21,7 @@ from novaclient.v1_1 import servers
|
||||
from openstack_dashboard.test.test_data import utils
|
||||
|
||||
from tuskar_ui import api
|
||||
from tuskar_ui.infrastructure.flavors import utils as flavors_utils
|
||||
from tuskar_ui.test import helpers as test
|
||||
from tuskar_ui.test.test_data import flavor_data
|
||||
from tuskar_ui.test.test_data import heat_data
|
||||
@ -223,3 +224,38 @@ class FlavorsTest(test.BaseAdminViewTests):
|
||||
self.assertEqual(get_mock.call_count, 1)
|
||||
self.assertEqual(plan_mock.call_count, 1)
|
||||
self.assertTemplateUsed(res, 'infrastructure/flavors/details.html')
|
||||
|
||||
|
||||
class FlavorsUtilsTest(test.TestCase):
|
||||
def test_get_unmached_suggestions(self):
|
||||
flavors = [api.flavor.Flavor(flavor)
|
||||
for flavor in TEST_DATA.novaclient_flavors.list()]
|
||||
nodes = [api.node.Node(api.node.IronicNode(node))
|
||||
for node in self.ironicclient_nodes.list()]
|
||||
with (
|
||||
patch('tuskar_ui.api.flavor.Flavor.list', return_value=flavors)
|
||||
), (
|
||||
patch('tuskar_ui.api.node.Node.list', return_value=nodes)
|
||||
):
|
||||
ret = flavors_utils.get_flavor_suggestions(None)
|
||||
FS = flavors_utils.FlavorSuggestion
|
||||
self.assertEqual(ret, set([
|
||||
FS(vcpus=8, ram_bytes=4294967296, disk_bytes=10737418240,
|
||||
cpu_arch='x86_64', node_id='aa-11'),
|
||||
FS(vcpus=16, ram_bytes=4294967296, disk_bytes=107374182400,
|
||||
cpu_arch='x86_64', node_id='bb-22'),
|
||||
FS(vcpus=32, ram_bytes=8589934592, disk_bytes=1073741824,
|
||||
cpu_arch='x86_64', node_id='cc-33'),
|
||||
FS(vcpus=8, ram_bytes=4294967296, disk_bytes=10737418240,
|
||||
cpu_arch='x86_64', node_id='cc-44'),
|
||||
FS(vcpus=8, ram_bytes=4294967296, disk_bytes=10737418240,
|
||||
cpu_arch='x86_64', node_id='dd-55'),
|
||||
FS(vcpus=8, ram_bytes=4294967296, disk_bytes=10737418240,
|
||||
cpu_arch='x86_64', node_id='ff-66'),
|
||||
FS(vcpus=8, ram_bytes=4294967296, disk_bytes=10737418240,
|
||||
cpu_arch='x86_64', node_id='gg-77'),
|
||||
FS(vcpus=8, ram_bytes=4294967296, disk_bytes=10737418240,
|
||||
cpu_arch='x86_64', node_id='hh-88'),
|
||||
FS(vcpus=16, ram_bytes=8589934592, disk_bytes=1073741824000,
|
||||
cpu_arch='x86_64', node_id='ii-99'),
|
||||
]))
|
||||
|
@ -15,6 +15,7 @@
|
||||
from django.conf import settings
|
||||
|
||||
from tuskar_ui import api
|
||||
from tuskar_ui.utils import utils
|
||||
|
||||
|
||||
def matching_deployment_mode():
|
||||
@ -22,13 +23,6 @@ def matching_deployment_mode():
|
||||
return deployment_mode.lower() == 'scale'
|
||||
|
||||
|
||||
def _safe_int_cast(value):
|
||||
try:
|
||||
return int(value)
|
||||
except (TypeError, ValueError):
|
||||
return 0
|
||||
|
||||
|
||||
def _get_unmatched_suggestions(request):
|
||||
unmatched_suggestions = []
|
||||
flavor_suggestions = [FlavorSuggestion.from_flavor(flavor)
|
||||
@ -62,9 +56,9 @@ class FlavorSuggestion(object):
|
||||
def from_node(cls, node):
|
||||
return cls(
|
||||
node_id=node.uuid,
|
||||
vcpus=_safe_int_cast(node.cpus),
|
||||
ram=_safe_int_cast(node.memory_mb),
|
||||
disk=_safe_int_cast(node.local_gb),
|
||||
vcpus=utils.safe_int_cast(node.cpus),
|
||||
ram=utils.safe_int_cast(node.memory_mb),
|
||||
disk=utils.safe_int_cast(node.local_gb),
|
||||
cpu_arch=node.cpu_arch
|
||||
)
|
||||
|
||||
|
@ -60,3 +60,15 @@ class UtilsTests(helpers.TestCase):
|
||||
self.assertEqual(ret, [Item(1), Item(2), Item(3)])
|
||||
ret = list(utils.filter_items(items, index__not_in=(1, 2, 3)))
|
||||
self.assertEqual(ret, [Item(0), Item(4), Item(5), Item(6)])
|
||||
|
||||
def test_safe_int_cast(self):
|
||||
ret = utils.safe_int_cast(1)
|
||||
self.assertEqual(ret, 1)
|
||||
ret = utils.safe_int_cast('1')
|
||||
self.assertEqual(ret, 1)
|
||||
ret = utils.safe_int_cast('')
|
||||
self.assertEqual(ret, 0)
|
||||
ret = utils.safe_int_cast(None)
|
||||
self.assertEqual(ret, 0)
|
||||
ret = utils.safe_int_cast(object())
|
||||
self.assertEqual(ret, 0)
|
||||
|
@ -85,3 +85,10 @@ def filter_items(items, **kwargs):
|
||||
break
|
||||
else:
|
||||
yield item
|
||||
|
||||
|
||||
def safe_int_cast(value):
|
||||
try:
|
||||
return int(value)
|
||||
except (TypeError, ValueError):
|
||||
return 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user