Skip to content

Commit

Permalink
Merge "Consolidates scheduler utils tests into a single file."
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins authored and openstack-gerrit committed Jun 15, 2015
2 parents 9b37a9c + 2a1c595 commit 93811b5
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 96 deletions.
Empty file.
75 changes: 75 additions & 0 deletions nova/tests/unit/scheduler/filters/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,86 @@
from nova import test
from nova.tests.unit.scheduler import fakes

_AGGREGATE_FIXTURES = [
objects.Aggregate(
id=1,
name='foo',
hosts=['fake-host'],
metadata={'k1': '1', 'k2': '2'},
),
objects.Aggregate(
id=2,
name='bar',
hosts=['fake-host'],
metadata={'k1': '3', 'k2': '4'},
),
objects.Aggregate(
id=3,
name='bar',
hosts=['fake-host'],
metadata={'k1': '6,7', 'k2': '8, 9'},
),
]


class TestUtils(test.NoDBTestCase):
def setUp(self):
super(TestUtils, self).setUp()

def test_aggregate_values_from_key(self):
host_state = fakes.FakeHostState(
'fake', 'node', {'aggregates': _AGGREGATE_FIXTURES})

values = utils.aggregate_values_from_key(host_state, key_name='k1')

self.assertEqual(set(['1', '3', '6,7']), values)

def test_aggregate_values_from_key_with_wrong_key(self):
host_state = fakes.FakeHostState(
'fake', 'node', {'aggregates': _AGGREGATE_FIXTURES})

values = utils.aggregate_values_from_key(host_state, key_name='k3')

self.assertEqual(set(), values)

def test_aggregate_metadata_get_by_host_no_key(self):
host_state = fakes.FakeHostState(
'fake', 'node', {'aggregates': _AGGREGATE_FIXTURES})

metadata = utils.aggregate_metadata_get_by_host(host_state)

self.assertIn('k1', metadata)
self.assertEqual(set(['1', '3', '7', '6']), metadata['k1'])
self.assertIn('k2', metadata)
self.assertEqual(set(['9', '8', '2', '4']), metadata['k2'])

def test_aggregate_metadata_get_by_host_with_key(self):
host_state = fakes.FakeHostState(
'fake', 'node', {'aggregates': _AGGREGATE_FIXTURES})

metadata = utils.aggregate_metadata_get_by_host(host_state, 'k1')

self.assertIn('k1', metadata)
self.assertEqual(set(['1', '3', '7', '6']), metadata['k1'])

def test_aggregate_metadata_get_by_host_empty_result(self):
host_state = fakes.FakeHostState(
'fake', 'node', {'aggregates': []})

metadata = utils.aggregate_metadata_get_by_host(host_state, 'k3')

self.assertEqual({}, metadata)

def test_validate_num_values(self):
f = utils.validate_num_values

self.assertEqual("x", f(set(), default="x"))
self.assertEqual(1, f(set(["1"]), cast_to=int))
self.assertEqual(1.0, f(set(["1"]), cast_to=float))
self.assertEqual(1, f(set([1, 2]), based_on=min))
self.assertEqual(2, f(set([1, 2]), based_on=max))
self.assertEqual(9, f(set(['10', '9']), based_on=min))

def test_instance_uuids_overlap(self):
inst1 = objects.Instance(uuid='aa')
inst2 = objects.Instance(uuid='bb')
Expand Down
96 changes: 0 additions & 96 deletions nova/tests/unit/scheduler/test_filters_utils.py

This file was deleted.

0 comments on commit 93811b5

Please sign in to comment.