Set the node_id param as a required property

The node_id property is a required property to perform the re-assigning
a node with a given ID from one cluster to another.

Change-Id: I2442442260f19833db239b01856d0ff4f63ecfbb
Closes-Bug: #1483239
This commit is contained in:
Ilya Kharin 2015-08-18 14:37:25 +03:00 committed by Nikita Zubkov
parent f7f28096f1
commit fb27542463
3 changed files with 39 additions and 0 deletions

View File

@ -163,3 +163,23 @@ class TestNodeReassignHandler(base.BaseIntegrationTest):
self.assertEqual("Node {0} is already assigned to cluster {1}".
format(node_id, cluster_id),
resp.json_body['message'])
def test_node_reassign_handler_with_empty_data(self):
cluster = self.env.create_cluster(api=False)
resp = self.app.post(
reverse('NodeReassignHandler',
kwargs={'cluster_id': cluster.id}),
"{}",
headers=self.default_headers,
expect_errors=True)
self.assertEqual(400, resp.status_code)
def test_node_reassign_handler_with_empty_body(self):
cluster = self.env.create_cluster(api=False)
resp = self.app.post(
reverse('NodeReassignHandler',
kwargs={'cluster_id': cluster.id}),
"",
headers=self.default_headers,
expect_errors=True)
self.assertEqual(400, resp.status_code)

View File

@ -121,3 +121,21 @@ class TestNodeReassignValidator(base.BaseTestCase):
cluster = mock.Mock(id=42)
with self.assertRaises(errors.InvalidData):
self.validator.validate_node_cluster(node, cluster)
def test_validate_empty_data(self):
cluster = self.env.create_cluster(api=False)
node = self.env.create_node(cluster_id=cluster.id,
roles=["compute"],
status="ready")
msg = "^'node_id' is a required property"
with self.assertRaisesRegexp(errors.InvalidData, msg):
self.validator.validate("{}", node)
def test_validate_empty_body(self):
cluster = self.env.create_cluster(api=False)
node = self.env.create_node(cluster_id=cluster.id,
roles=["compute"],
status="ready")
msg = "^Empty request received$"
with self.assertRaisesRegexp(errors.InvalidData, msg):
self.validator.validate("", node)

View File

@ -93,6 +93,7 @@ class NodeReassignValidator(base.BasicValidator):
"properties": {
"node_id": {"type": "number"},
},
"required": ["node_id"],
}
@classmethod