Merge "Add missing validation to consumer controller"
This commit is contained in:
commit
876e5eb940
@ -762,8 +762,8 @@ class ContainerConsumerValidator(ValidatorBase):
|
|||||||
self.schema = {
|
self.schema = {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"URL": {"type": "string"},
|
"URL": {"type": "string", "minLength": 1},
|
||||||
"name": {"type": "string", "maxLength": 255}
|
"name": {"type": "string", "maxLength": 255, "minLength": 1}
|
||||||
},
|
},
|
||||||
"required": ["name", "URL"]
|
"required": ["name", "URL"]
|
||||||
}
|
}
|
||||||
|
@ -263,6 +263,72 @@ class WhenTestingConsumersResource(utils.BarbicanAPIBaseTestCase):
|
|||||||
|
|
||||||
self.assertEqual(404, consumer_del_resp.status_int)
|
self.assertEqual(404, consumer_del_resp.status_int)
|
||||||
|
|
||||||
|
def test_fail_create_no_name(self):
|
||||||
|
resp, container_uuid = create_container(
|
||||||
|
self.app,
|
||||||
|
name=self.container_name,
|
||||||
|
container_type=self.container_type
|
||||||
|
)
|
||||||
|
self.assertEqual(201, resp.status_int)
|
||||||
|
|
||||||
|
consumer_resp, consumer = create_consumer(
|
||||||
|
self.app,
|
||||||
|
container_id=container_uuid,
|
||||||
|
url="http://theurl",
|
||||||
|
expect_errors=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, consumer_resp.status_int)
|
||||||
|
|
||||||
|
def test_fail_create_no_url(self):
|
||||||
|
resp, container_uuid = create_container(
|
||||||
|
self.app,
|
||||||
|
name=self.container_name,
|
||||||
|
container_type=self.container_type
|
||||||
|
)
|
||||||
|
self.assertEqual(201, resp.status_int)
|
||||||
|
|
||||||
|
consumer_resp, consumer = create_consumer(
|
||||||
|
self.app,
|
||||||
|
container_id=container_uuid,
|
||||||
|
name="thename",
|
||||||
|
expect_errors=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, consumer_resp.status_int)
|
||||||
|
|
||||||
|
def test_fail_create_empty_name(self):
|
||||||
|
resp, container_uuid = create_container(
|
||||||
|
self.app,
|
||||||
|
name=self.container_name,
|
||||||
|
container_type=self.container_type
|
||||||
|
)
|
||||||
|
self.assertEqual(201, resp.status_int)
|
||||||
|
|
||||||
|
consumer_resp, consumer = create_consumer(
|
||||||
|
self.app,
|
||||||
|
container_id=container_uuid,
|
||||||
|
name="",
|
||||||
|
url="http://theurl",
|
||||||
|
expect_errors=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, consumer_resp.status_int)
|
||||||
|
|
||||||
|
def test_fail_create_empty_url(self):
|
||||||
|
resp, container_uuid = create_container(
|
||||||
|
self.app,
|
||||||
|
name=self.container_name,
|
||||||
|
container_type=self.container_type
|
||||||
|
)
|
||||||
|
self.assertEqual(201, resp.status_int)
|
||||||
|
|
||||||
|
consumer_resp, consumer = create_consumer(
|
||||||
|
self.app,
|
||||||
|
container_id=container_uuid,
|
||||||
|
name="thename",
|
||||||
|
url="",
|
||||||
|
expect_errors=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, consumer_resp.status_int)
|
||||||
|
|
||||||
|
|
||||||
# ----------------------- Helper Functions ---------------------------
|
# ----------------------- Helper Functions ---------------------------
|
||||||
def create_container(app, name=None, container_type=None, expect_errors=False,
|
def create_container(app, name=None, container_type=None, expect_errors=False,
|
||||||
|
@ -239,7 +239,7 @@ class ConsumersCertContainerTestCase(ConsumersBaseTestCase):
|
|||||||
|
|
||||||
class ConsumersAuthedTestCase(ConsumersBaseTestCase):
|
class ConsumersAuthedTestCase(ConsumersBaseTestCase):
|
||||||
|
|
||||||
@testcase.attr('negative', 'security')
|
@testcase.attr('security')
|
||||||
def test_consumer_create_authed(self):
|
def test_consumer_create_authed(self):
|
||||||
"""Create a consumer as an authenticated user
|
"""Create a consumer as an authenticated user
|
||||||
|
|
||||||
@ -343,3 +343,83 @@ class ConsumersUnauthedTestCase(ConsumersBaseTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(401, resp.status_code)
|
self.assertEqual(401, resp.status_code)
|
||||||
|
|
||||||
|
|
||||||
|
class ConsumersValidationTestCase(ConsumersBaseTestCase):
|
||||||
|
|
||||||
|
def test_consumer_create_pass(self):
|
||||||
|
"""Create a valid consumer
|
||||||
|
|
||||||
|
Should return 200
|
||||||
|
"""
|
||||||
|
data = {
|
||||||
|
"name": "consumername",
|
||||||
|
"URL": "consumerURL"
|
||||||
|
}
|
||||||
|
model = consumer_model.ConsumerModel(**data)
|
||||||
|
resp, consumer_dat = self.consumer_behaviors.create_consumer(
|
||||||
|
model, self.generic_container_ref, use_auth=True
|
||||||
|
)
|
||||||
|
self.assertEqual(200, resp.status_code)
|
||||||
|
|
||||||
|
@testcase.attr('negative')
|
||||||
|
def test_consumer_create_fail_no_name(self):
|
||||||
|
"""Attempt to create invalid consumer (Missing name)
|
||||||
|
|
||||||
|
Should return 400
|
||||||
|
"""
|
||||||
|
data = {
|
||||||
|
"URL": "consumerURL"
|
||||||
|
}
|
||||||
|
model = consumer_model.ConsumerModel(**data)
|
||||||
|
resp, consumer_dat = self.consumer_behaviors.create_consumer(
|
||||||
|
model, self.generic_container_ref, use_auth=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, resp.status_code)
|
||||||
|
|
||||||
|
@testcase.attr('negative')
|
||||||
|
def test_consumer_create_fail_no_url(self):
|
||||||
|
"""Attempt to create invalid consumer (Missing URL)
|
||||||
|
|
||||||
|
Should return 400
|
||||||
|
"""
|
||||||
|
data = {
|
||||||
|
"name": "consumername"
|
||||||
|
}
|
||||||
|
model = consumer_model.ConsumerModel(**data)
|
||||||
|
resp, consumer_dat = self.consumer_behaviors.create_consumer(
|
||||||
|
model, self.generic_container_ref, use_auth=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, resp.status_code)
|
||||||
|
|
||||||
|
@testcase.attr('negative')
|
||||||
|
def test_consumer_create_fail_empty_name(self):
|
||||||
|
"""Attempt to create invalid consumer (Empty name)
|
||||||
|
|
||||||
|
Should return 400
|
||||||
|
"""
|
||||||
|
data = {
|
||||||
|
"name": "",
|
||||||
|
"URL": "consumerURL"
|
||||||
|
}
|
||||||
|
model = consumer_model.ConsumerModel(**data)
|
||||||
|
resp, consumer_dat = self.consumer_behaviors.create_consumer(
|
||||||
|
model, self.generic_container_ref, use_auth=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, resp.status_code)
|
||||||
|
|
||||||
|
@testcase.attr('negative')
|
||||||
|
def test_consumer_create_fail_empty_url(self):
|
||||||
|
"""Attempt to create invalid consumer (Empty URL)
|
||||||
|
|
||||||
|
Should return 400
|
||||||
|
"""
|
||||||
|
data = {
|
||||||
|
"name": "consumername",
|
||||||
|
"URL": ""
|
||||||
|
}
|
||||||
|
model = consumer_model.ConsumerModel(**data)
|
||||||
|
resp, consumer_dat = self.consumer_behaviors.create_consumer(
|
||||||
|
model, self.generic_container_ref, use_auth=True
|
||||||
|
)
|
||||||
|
self.assertEqual(400, resp.status_code)
|
||||||
|
Loading…
Reference in New Issue
Block a user