Add Tests for non-existing resources
This patch adds tests for action on non-existing queues, messages & claims. Change-Id: I68517b1b98f668eff86a0bcad19dc9ed8d01267c Tests-Bug: #1243752
This commit is contained in:
parent
a24ce88789
commit
e515053dd1
@ -219,6 +219,31 @@ class TestClaims(base.FunctionalTestBase):
|
||||
|
||||
test_patch_claim_invalid_ttl.tags = ['negative']
|
||||
|
||||
def test_query_non_existing_claim(self):
|
||||
"""Query Non Existing Claim."""
|
||||
path = '/non-existing-claim'
|
||||
result = self.client.get(path)
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
test_query_non_existing_claim.tags = ['negative']
|
||||
|
||||
def test_patch_non_existing_claim(self):
|
||||
"""Patch Non Existing Claim."""
|
||||
path = '/non-existing-claim'
|
||||
doc = {"ttl": 400}
|
||||
result = self.client.patch(path, data=doc)
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
test_patch_non_existing_claim.tags = ['negative']
|
||||
|
||||
def test_delete_non_existing_claim(self):
|
||||
"""Patch Non Existing Claim."""
|
||||
path = '/non-existing-claim'
|
||||
result = self.client.delete(path)
|
||||
self.assertEqual(result.status_code, 204)
|
||||
|
||||
test_delete_non_existing_claim.tags = ['negative']
|
||||
|
||||
def tearDown(self):
|
||||
"""Delete Queue after Claim Test."""
|
||||
super(TestClaims, self).tearDown()
|
||||
|
@ -301,6 +301,30 @@ class TestMessages(base.FunctionalTestBase):
|
||||
|
||||
test_get_messages_invalid_client_id.tags = ['negative']
|
||||
|
||||
def test_query_non_existing_message(self):
|
||||
"""Get Non Existing Message."""
|
||||
path = '/non-existing-message'
|
||||
result = self.client.get(path)
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
test_query_non_existing_message.tags = ['negative']
|
||||
|
||||
def test_query_non_existing_message_set(self):
|
||||
"""Get Set of Non Existing Messages."""
|
||||
path = '?ids=not_there1,not_there2'
|
||||
result = self.client.get(path)
|
||||
self.assertEqual(result.status_code, 204)
|
||||
|
||||
test_query_non_existing_message_set.tags = ['negative']
|
||||
|
||||
def test_delete_non_existing_message(self):
|
||||
"""Delete Non Existing Message."""
|
||||
path = '/non-existing-message'
|
||||
result = self.client.delete(path)
|
||||
self.assertEqual(result.status_code, 204)
|
||||
|
||||
test_delete_non_existing_message.tags = ['negative']
|
||||
|
||||
def tearDown(self):
|
||||
super(TestMessages, self).tearDown()
|
||||
self.client.delete(self.queue_url)
|
||||
|
@ -24,11 +24,14 @@ from marconi.tests.functional import helpers
|
||||
|
||||
|
||||
class NamedBinaryStr(six.binary_type):
|
||||
|
||||
"""Wrapper for six.binary_type to facilitate overriding __name__."""
|
||||
|
||||
|
||||
class NamedUnicodeStr(object):
|
||||
|
||||
"""Unicode string look-alike to facilitate overriding __name__."""
|
||||
|
||||
def __init__(self, value):
|
||||
self.value = value
|
||||
|
||||
@ -48,6 +51,7 @@ class NamedUnicodeStr(object):
|
||||
|
||||
|
||||
class NamedDict(dict):
|
||||
|
||||
"""Wrapper for dict to facilitate overriding __name__."""
|
||||
|
||||
|
||||
@ -65,6 +69,7 @@ def annotated(test_name, test_input):
|
||||
|
||||
@ddt.ddt
|
||||
class TestInsertQueue(base.FunctionalTestBase):
|
||||
|
||||
"""Tests for Insert queue."""
|
||||
|
||||
server_class = base.MarconiServer
|
||||
@ -185,6 +190,7 @@ class TestInsertQueue(base.FunctionalTestBase):
|
||||
|
||||
@ddt.ddt
|
||||
class TestQueueMetaData(base.FunctionalTestBase):
|
||||
|
||||
"""Tests for queue metadata."""
|
||||
|
||||
server_class = base.MarconiServer
|
||||
@ -359,7 +365,7 @@ class TestQueueMisc(base.FunctionalTestBase):
|
||||
|
||||
stats_url = self.queue_url + '/stats'
|
||||
|
||||
#Get stats on an empty queue
|
||||
# Get stats on an empty queue
|
||||
result = self.client.get(stats_url)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
@ -376,7 +382,7 @@ class TestQueueMisc(base.FunctionalTestBase):
|
||||
self.addCleanup(self.client.delete, self.queue_url)
|
||||
self.assertEqual(result.status_code, 201)
|
||||
|
||||
#Post Messages to the test queue
|
||||
# Post Messages to the test queue
|
||||
doc = helpers.create_message_body(messagecount=
|
||||
self.limits.message_paging_uplimit)
|
||||
message_url = self.queue_url + '/messages'
|
||||
@ -389,7 +395,7 @@ class TestQueueMisc(base.FunctionalTestBase):
|
||||
result = self.client.post(claim_url, data=doc)
|
||||
self.assertEqual(result.status_code, 201)
|
||||
|
||||
#Get stats on the queue.
|
||||
# Get stats on the queue.
|
||||
stats_url = self.queue_url + '/stats'
|
||||
result = self.client.get(stats_url)
|
||||
self.assertEqual(result.status_code, 200)
|
||||
@ -400,3 +406,59 @@ class TestQueueMisc(base.FunctionalTestBase):
|
||||
|
||||
def tearDown(self):
|
||||
super(TestQueueMisc, self).tearDown()
|
||||
|
||||
|
||||
class TestQueueNonExisting(base.FunctionalTestBase):
|
||||
|
||||
"""Test Actions on non existing queue."""
|
||||
|
||||
server_class = base.MarconiServer
|
||||
|
||||
def setUp(self):
|
||||
super(TestQueueNonExisting, self).setUp()
|
||||
self.base_url = '{0}/{1}'.format(self.cfg.marconi.url,
|
||||
self.cfg.marconi.version)
|
||||
self.queue_url = self.base_url + \
|
||||
'/queues/0a5b1b85-4263-11e3-b034-28cfe91478b9'
|
||||
self.client.set_base_url(self.queue_url)
|
||||
|
||||
self.header = helpers.create_marconi_headers(self.cfg)
|
||||
self.headers_response_empty = set(['location'])
|
||||
self.header = helpers.create_marconi_headers(self.cfg)
|
||||
|
||||
def test_get_queue(self):
|
||||
"""Get non existing Queue."""
|
||||
result = self.client.get()
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
def test_get_stats(self):
|
||||
"""Get stats on non existing Queue."""
|
||||
result = self.client.get('/stats')
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
def test_get_metadata(self):
|
||||
"""Get metadata on non existing Queue."""
|
||||
result = self.client.get('/metadata')
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
def test_get_messages(self):
|
||||
"""Get messages on non existing Queue."""
|
||||
result = self.client.get('/messages')
|
||||
self.assertEqual(result.status_code, 204)
|
||||
|
||||
def test_post_messages(self):
|
||||
"""Post messages to a non existing Queue."""
|
||||
doc = [{"ttl": 200, "body": {"Home": ""}}]
|
||||
result = self.client.post('/messages', data=doc)
|
||||
self.assertEqual(result.status_code, 404)
|
||||
|
||||
def test_claim_messages(self):
|
||||
"""Claim messages from a non existing Queue."""
|
||||
doc = {"ttl": 200, "grace": 300}
|
||||
result = self.client.post('/claims', data=doc)
|
||||
self.assertEqual(result.status_code, 204)
|
||||
|
||||
def test_delete_queue(self):
|
||||
"""Delete non existing Queue."""
|
||||
result = self.client.delete()
|
||||
self.assertEqual(result.status_code, 204)
|
||||
|
@ -208,11 +208,15 @@ class ClaimsBaseTest(base.TestBase):
|
||||
self.simulate_patch(claim['href'], body=doc)
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_404)
|
||||
|
||||
def test_nonexistent(self):
|
||||
def test_post_claim_nonexistent_queue(self):
|
||||
self.simulate_post('/v1/queues/nonexistent/claims', self.project_id,
|
||||
body='{"ttl": 100, "grace": 60}')
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_204)
|
||||
|
||||
def test_get_claim_nonexistent_queue(self):
|
||||
self.simulate_get('/v1/queues/nonexistent/claims/aaabbbba')
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_404)
|
||||
|
||||
# NOTE(cpp-cabrera): regression test against bug #1203842
|
||||
def test_get_nonexistent_claim_404s(self):
|
||||
self.simulate_get(self.claims_path + '/a')
|
||||
|
@ -184,6 +184,12 @@ class MessagesBaseTest(base.TestBase):
|
||||
self._post_messages('/v1/queues/nonexistent/messages')
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_404)
|
||||
|
||||
def test_get_from_missing_queue(self):
|
||||
self.simulate_get('/v1/queues/nonexistent/messages', self.project_id,
|
||||
headers={'Client-ID':
|
||||
'dfcd3238-425c-11e3-8a80-28cfe91478b9'})
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_204)
|
||||
|
||||
@ddt.data('', '0xdeadbeef', '550893e0-2b6e-11e3-835a-5cf9dd72369')
|
||||
def test_bad_client_id(self, text_id):
|
||||
self.simulate_post(self.queue_path + '/messages',
|
||||
|
Loading…
x
Reference in New Issue
Block a user