Fixed rack tests
This patch fixes the tests. There's one failure left; fixing it requires stubbing out the baremetal client, which I'm holding off on doing for now. Change-Id: I30e5ffd187a3309906909e7f0a75583d957c42fc
This commit is contained in:
parent
396d76856b
commit
544cef78a6
@ -735,8 +735,7 @@ class ResourceClass(StringIdAPIResourceWrapper):
|
||||
@property
|
||||
def nodes(self):
|
||||
if not hasattr(self, '_nodes'):
|
||||
nodes_array = [rack.nodes for rack in self.racks]
|
||||
self._nodes = [node for nodes in nodes_array for node in nodes]
|
||||
self._nodes = [rack.list_nodes for rack in self.list_racks]
|
||||
return self._nodes
|
||||
|
||||
@property
|
||||
|
@ -43,13 +43,18 @@ class RackViewTests(test.BaseAdminViewTests):
|
||||
# to circle back and fix these tests.
|
||||
#
|
||||
@test.create_stubs({api.tuskar.Rack: ('list', 'create',),
|
||||
api.tuskar.ResourceClass: ('list',)})
|
||||
api.tuskar.ResourceClass: ('list',),
|
||||
api.nova.baremetal.BareMetalNodeManager: ('create',)})
|
||||
def test_create_rack_post(self):
|
||||
api.tuskar.Rack.list(
|
||||
IsA(http.request.HttpRequest)).AndReturn(
|
||||
self.tuskar_racks.list())
|
||||
api.tuskar.Rack.create(IsA(http.request.HttpRequest), 'New Rack',
|
||||
u'1', 'Tokyo', '1.2.3.4').AndReturn(None)
|
||||
api.nova.baremetal.BareMetalNodeManager.create(
|
||||
'New Node', u'1', u'1024', u'10', 'aa:bb:cc:dd:ee',
|
||||
u'', u'', u'', u'').AndReturn(None)
|
||||
api.tuskar.Rack.create(
|
||||
IsA(http.request.HttpRequest), 'New Rack',
|
||||
u'1', 'Tokyo', '1.2.3.4', [{'id': None}]).AndReturn(None)
|
||||
api.tuskar.ResourceClass.list(
|
||||
IsA(http.request.HttpRequest)).AndReturn(
|
||||
self.tuskar_resource_classes.list())
|
||||
@ -57,7 +62,9 @@ class RackViewTests(test.BaseAdminViewTests):
|
||||
self.mox.ReplayAll()
|
||||
|
||||
data = {'name': 'New Rack', 'resource_class_id': u'1',
|
||||
'location': 'Tokyo', 'subnet': '1.2.3.4'}
|
||||
'location': 'Tokyo', 'subnet': '1.2.3.4',
|
||||
'node_name': 'New Node', 'prov_mac_address': 'aa:bb:cc:dd:ee',
|
||||
'cpus': u'1', 'memory_mb': u'1024', 'local_gb': u'10'}
|
||||
url = reverse('horizon:infrastructure:resource_management:'
|
||||
'racks:create')
|
||||
resp = self.client.post(url, data)
|
||||
@ -70,13 +77,15 @@ class RackViewTests(test.BaseAdminViewTests):
|
||||
|
||||
api.tuskar.Rack.\
|
||||
get(IsA(http.HttpRequest), rack.id).\
|
||||
AndReturn(rack)
|
||||
MultipleTimes().AndReturn(rack)
|
||||
api.tuskar.ResourceClass.list(
|
||||
IsA(http.request.HttpRequest)).AndReturn(
|
||||
self.tuskar_resource_classes.list())
|
||||
|
||||
self.mox.ReplayAll()
|
||||
|
||||
api.tuskar.Rack.list_nodes = []
|
||||
|
||||
url = reverse('horizon:infrastructure:resource_management:' +
|
||||
'racks:edit', args=[1])
|
||||
res = self.client.get(url)
|
||||
@ -89,18 +98,23 @@ class RackViewTests(test.BaseAdminViewTests):
|
||||
def test_edit_rack_post(self):
|
||||
rack = self.tuskar_racks.first()
|
||||
|
||||
rack_data = {'name': 'Updated Rack', 'resource_class_id': u'1',
|
||||
'rack_id': u'1', 'location': 'New Location',
|
||||
'subnet': '127.10.10.0/24', 'node_macs': None}
|
||||
|
||||
data = {'name': 'Updated Rack', 'resource_class_id': u'1',
|
||||
'rack_id': u'1', 'location': 'New Location',
|
||||
'subnet': '127.10.10.0/24', 'node_macs': 'foo'}
|
||||
'subnet': '127.10.10.0/24', 'node_macs': None,
|
||||
'node_name': 'New Node', 'prov_mac_address': 'aa:bb:cc:dd:ee',
|
||||
'cpus': u'1', 'memory_mb': u'1024', 'local_gb': u'10'}
|
||||
|
||||
api.tuskar.Rack.get(
|
||||
IsA(http.HttpRequest),
|
||||
rack.id).\
|
||||
IsA(http.HttpRequest), rack.id).MultipleTimes().\
|
||||
AndReturn(rack)
|
||||
api.tuskar.Rack.list(
|
||||
IsA(http.request.HttpRequest)).AndReturn(
|
||||
self.tuskar_racks.list())
|
||||
api.tuskar.Rack.update(IsA(http.HttpRequest), rack.id, data)
|
||||
api.tuskar.Rack.update(IsA(http.HttpRequest), rack.id, rack_data)
|
||||
api.tuskar.ResourceClass.list(
|
||||
IsA(http.request.HttpRequest)).AndReturn(
|
||||
self.tuskar_resource_classes.list())
|
||||
|
@ -77,9 +77,19 @@ class TuskarApiTests(test.APITestCase):
|
||||
self.assertIsInstance(rack, api.tuskar.Rack)
|
||||
self.assertEquals(1, len(rc.list_racks))
|
||||
|
||||
## FIXME: we need to stub out the bare metal client, will
|
||||
## be easier once the client is separated out a bit
|
||||
def test_resource_class_nodes(self):
|
||||
rc = self.tuskar_resource_classes.first()
|
||||
for node in rc.list_nodes:
|
||||
r = self.tuskar_racks.first()
|
||||
n = self.nodes.first()
|
||||
|
||||
tuskarclient = self.stub_tuskarclient()
|
||||
tuskarclient.racks = self.mox.CreateMockAnything()
|
||||
tuskarclient.racks.get(r.id).AndReturn(r)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
for node in rc.nodes:
|
||||
self.assertIsInstance(node, api.tuskar.Node)
|
||||
self.assertEquals(4, len(rc.nodes))
|
||||
|
||||
|
@ -122,7 +122,7 @@ def data(TEST):
|
||||
location='location',
|
||||
subnet='192.168.1.0/24',
|
||||
state='provisioned',
|
||||
nodes=[{'id': 1}, {'id': 2}, {'id': 3}, {'id': 4}],
|
||||
nodes=[{'id': '1'}, {'id': '2'}, {'id': '3'}, {'id': '4'}],
|
||||
resource_class={'id': '1'}))
|
||||
|
||||
TEST.tuskar_racks.add(rack_1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user