Add zuul->np test for invalid node type

Also, go ahead and change hard-coded state strings to use those
defined in model.py.

Change-Id: Ic1bfb1c6ba9dc106d8b58a2664d9ac2248e788d2
This commit is contained in:
David Shrewsbury 2017-01-26 08:22:25 -05:00
parent b44a7efa27
commit e054b90885
1 changed files with 16 additions and 5 deletions

View File

@ -60,7 +60,7 @@ class TestNodepoolIntegration(BaseTestCase):
request = self.nodepool.requestNodes(None, job) request = self.nodepool.requestNodes(None, job)
self.waitForRequests() self.waitForRequests()
self.assertEqual(len(self.provisioned_requests), 1) self.assertEqual(len(self.provisioned_requests), 1)
self.assertEqual(request.state, 'fulfilled') self.assertEqual(request.state, model.STATE_FULFILLED)
# Accept the nodes # Accept the nodes
self.nodepool.acceptNodes(request) self.nodepool.acceptNodes(request)
@ -68,18 +68,29 @@ class TestNodepoolIntegration(BaseTestCase):
for node in nodeset.getNodes(): for node in nodeset.getNodes():
self.assertIsNotNone(node.lock) self.assertIsNotNone(node.lock)
self.assertEqual(node.state, 'ready') self.assertEqual(node.state, model.STATE_READY)
# Mark the nodes in use # Mark the nodes in use
self.nodepool.useNodeSet(nodeset) self.nodepool.useNodeSet(nodeset)
for node in nodeset.getNodes(): for node in nodeset.getNodes():
self.assertEqual(node.state, 'in-use') self.assertEqual(node.state, model.STATE_IN_USE)
# Return the nodes # Return the nodes
self.nodepool.returnNodeSet(nodeset) self.nodepool.returnNodeSet(nodeset)
for node in nodeset.getNodes(): for node in nodeset.getNodes():
self.assertIsNone(node.lock) self.assertIsNone(node.lock)
self.assertEqual(node.state, 'used') self.assertEqual(node.state, model.STATE_USED)
def test_invalid_node_request(self):
# Test requests with an invalid node type fail
nodeset = model.NodeSet()
nodeset.addNode(model.Node('controller', 'invalid-label'))
job = model.Job('testjob')
job.nodeset = nodeset
request = self.nodepool.requestNodes(None, job)
self.waitForRequests()
self.assertEqual(len(self.provisioned_requests), 1)
self.assertEqual(request.state, model.STATE_FAILED)
@skip("Disabled until nodepool is ready") @skip("Disabled until nodepool is ready")
def test_node_request_disconnect(self): def test_node_request_disconnect(self):
@ -97,7 +108,7 @@ class TestNodepoolIntegration(BaseTestCase):
self.fake_nodepool.paused = False self.fake_nodepool.paused = False
self.waitForRequests() self.waitForRequests()
self.assertEqual(len(self.provisioned_requests), 1) self.assertEqual(len(self.provisioned_requests), 1)
self.assertEqual(request.state, 'fulfilled') self.assertEqual(request.state, model.STATE_FULFILLED)
@skip("Disabled until nodepool is ready") @skip("Disabled until nodepool is ready")
def test_node_request_canceled(self): def test_node_request_canceled(self):