Merge "Create subscription return error id"

This commit is contained in:
Zuul 2017-11-02 11:39:39 +00:00 committed by Gerrit Code Review
commit 55568ea36f
2 changed files with 34 additions and 0 deletions

View File

@ -162,6 +162,7 @@ class SubscriptionController(base.Subscription):
@utils.raises_conn_error
def get_with_subscriber(self, queue, subscriber, project=None):
res = self._collection.find_one({'u': subscriber,
's': queue,
'p': project})
now = timeutils.utcnow_ts()
return _basic_subscription(res, now)

View File

@ -1218,6 +1218,39 @@ class SubscriptionControllerTest(ControllerBaseTest):
project=self.project)
self.assertIsNone(s_id)
def test_create_existed_and_get_correct_id(self):
queue_name1 = 'test_queue1'
queue_name2 = 'test_queue2'
subscriber = 'http://fake'
self.queue_controller.create(queue_name1, project=self.project)
self.queue_controller.create(queue_name2, project=self.project)
self.subscription_controller.create(queue_name1,
subscriber,
self.ttl,
self.options,
project=self.project)
s_id_2 = self.subscription_controller.create(queue_name2,
subscriber,
self.ttl,
self.options,
project=self.project)
s_id_3 = self.subscription_controller.create(queue_name2,
subscriber,
self.ttl,
self.options,
project=self.project)
self.assertIsNone(s_id_3)
s_id = self.subscription_controller. \
get_with_subscriber(queue_name2,
subscriber,
project=self.project)['id']
self.assertEqual(str(s_id_2), s_id)
def test_get_update_delete_on_non_existing_queue(self):
self._precreate_queue(precreate_queue=True)
s_id = self.subscription_controller.create(