)]}'
{"tempest/api/queuing/base.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"a1649734cc0c516ee5d36953d34696a3efc73fef","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @classmethod"},{"line_number":38,"context_line":"    def setUpClass(cls):"},{"line_number":39,"context_line":"        super(BaseQueuingTest, cls).setUpClass()"},{"line_number":40,"context_line":"        if not cls.config.service_available.queuing:"},{"line_number":41,"context_line":"            raise cls.skipException(\"Queuing support is required\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAT3%2F%2Fye0%3D","line":38,"updated":"2013-12-31 15:29:17.000000000","message":"it looks like setUp and tearDown could be used instead of messing with the class. Thoughts?\n\nI discourage the use of *Class methods because they tend to break tests isolation.","commit_id":"6019c11de85eda9adf49412851dc5a1c57816915"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2014 Rackspace, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b88%3D","line":1,"updated":"2014-02-06 22:45:07.000000000","message":"See https://review.openstack.org/#/c/66507/","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"70ddeb6b011ba0ddde48e443cbe89614a68d3e58","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2014 Rackspace, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9arE%3D","line":1,"in_reply_to":"AAAAUH%2F9b88%3D","updated":"2014-02-07 02:48:14.000000000","message":"I will update the patchset to remove this","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d743025671c0fa3b413024f3bd66dd5725408678","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from tempest.common.utils import data_utils"},{"line_number":18,"context_line":"from tempest import config"},{"line_number":19,"context_line":"from tempest.openstack.common import log as logging"},{"line_number":20,"context_line":"import tempest.test"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONF \u003d config.CONF"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F9ZcU%3D","line":20,"updated":"2014-02-07 07:09:15.000000000","message":"It will be good to make it similar to other places in your patch.\n\nCan you make it as \"from tempest import test\"?","commit_id":"9f11c7527f1c3ff6f8a9976ddbb301630bf5847a"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"92fa048d49962faa94ab90fc4ee4d001ca1e9b6c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        if not CONF.service_available.marconi:"},{"line_number":42,"context_line":"            raise cls.skipException(\"Marconi support is required\")"},{"line_number":43,"context_line":"        os \u003d clients.Manager(interface\u003dcls._interface)"},{"line_number":44,"context_line":"        cls.queuing_cfg \u003d CONF.queuing"},{"line_number":45,"context_line":"        cls.client \u003d os.queuing_client"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2Bqpc%3D","line":44,"updated":"2014-02-19 22:27:56.000000000","message":"What purpose of using here config as class attr?","commit_id":"200e2a7653025340773e79a5d6b9c4e97ebd28e8"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"60c39ca20a71e14b5262df61bbba202d2aa32ca0","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class BaseQueuingTest(test.BaseTestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    Base class for the Queuing tests that use the Tempest Neutron REST client"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    It is assumed that the following option is defined in the"},{"line_number":33,"context_line":"    [service_available] section of etc/tempest.conf"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FmEo%3D","line":30,"updated":"2014-03-05 06:18:52.000000000","message":"s/Neutron/Marconi/ ?","commit_id":"86c4f8dc42dc5ae8c4ca2cf432b5583a95c958d5"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"ad30822521f5d70080be99445e0ac2911a15288a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class BaseQueuingTest(test.BaseTestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    Base class for the Queuing tests that use the Tempest Neutron REST client"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    It is assumed that the following option is defined in the"},{"line_number":33,"context_line":"    [service_available] section of etc/tempest.conf"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2Fjq0%3D","line":30,"in_reply_to":"AAAAVn%2F%2FmEo%3D","updated":"2014-03-05 12:24:00.000000000","message":"Thanks! will fix this.","commit_id":"86c4f8dc42dc5ae8c4ca2cf432b5583a95c958d5"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"eeec53298deaf47d5ba091998ce75db79a97045c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        super(BaseQueuingTest, cls).setUpClass()"},{"line_number":41,"context_line":"        if not CONF.service_available.marconi:"},{"line_number":42,"context_line":"            raise cls.skipException(\"Marconi support is required\")"},{"line_number":43,"context_line":"        os \u003d clients.Manager(interface\u003dcls._interface)"},{"line_number":44,"context_line":"        cls.queuing_cfg \u003d CONF.queuing"},{"line_number":45,"context_line":"        cls.client \u003d os.queuing_client"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FLr0%3D","line":43,"updated":"2014-03-07 19:59:31.000000000","message":"This should use\n\nos \u003d cls.get_client_manager()\n\nto work with tenant isolation.","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f24237fbb40f71c7b6cd47ee7620ed997264aba9","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        super(BaseQueuingTest, cls).setUpClass()"},{"line_number":41,"context_line":"        if not CONF.service_available.marconi:"},{"line_number":42,"context_line":"            raise cls.skipException(\"Marconi support is required\")"},{"line_number":43,"context_line":"        os \u003d clients.Manager(interface\u003dcls._interface)"},{"line_number":44,"context_line":"        cls.queuing_cfg \u003d CONF.queuing"},{"line_number":45,"context_line":"        cls.client \u003d os.queuing_client"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FAZQ%3D","line":43,"in_reply_to":"AAAAVn%2F%2FLr0%3D","updated":"2014-03-10 18:44:22.000000000","message":"Done","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"eeec53298deaf47d5ba091998ce75db79a97045c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        cls.client \u003d os.queuing_client"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def create_queue(cls, queue_name\u003dNone):"},{"line_number":49,"context_line":"        \"\"\"Wrapper utility that returns a test queue.\"\"\""},{"line_number":50,"context_line":"        queue_name \u003d queue_name or data_utils.rand_name(\u0027test-\u0027)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FLq0%3D","line":48,"updated":"2014-03-07 19:59:31.000000000","message":"The pattern we use in tempest is that these create methods on the base test classes also remember them and then delete them in tearDownClass. That way the callers do not have to remember to call addCleanup, or use setUp and tearDown.  You can look at one of the other services like compute or image to see that.","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f24237fbb40f71c7b6cd47ee7620ed997264aba9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        cls.client \u003d os.queuing_client"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def create_queue(cls, queue_name\u003dNone):"},{"line_number":49,"context_line":"        \"\"\"Wrapper utility that returns a test queue.\"\"\""},{"line_number":50,"context_line":"        queue_name \u003d queue_name or data_utils.rand_name(\u0027test-\u0027)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FAZM%3D","line":48,"in_reply_to":"AAAAVn%2F%2FLq0%3D","updated":"2014-03-10 18:44:22.000000000","message":"Done","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"}],"tempest/api/queuing/test_queues.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2014 Rackspace, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b8E%3D","line":1,"updated":"2014-02-06 22:45:07.000000000","message":"See https://review.openstack.org/#/c/66507/","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"70ddeb6b011ba0ddde48e443cbe89614a68d3e58","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2014 Rackspace, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9aoU%3D","line":1,"in_reply_to":"AAAAUH%2F9b8E%3D","updated":"2014-02-07 02:48:14.000000000","message":"Will Fix","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":16,"context_line":"# limitations under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.queuing import base"},{"line_number":21,"context_line":"from tempest.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b8Q%3D","line":18,"updated":"2014-02-06 22:45:07.000000000","message":"Why is it here, if it is not used?","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"70ddeb6b011ba0ddde48e443cbe89614a68d3e58","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":16,"context_line":"# limitations under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.queuing import base"},{"line_number":21,"context_line":"from tempest.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9apA%3D","line":18,"in_reply_to":"AAAAUH%2F9b8Q%3D","updated":"2014-02-07 02:48:14.000000000","message":"This patch aims to have a basic Marconi-Tempest test running.I plan to add more tests soon after this patch is merged. The tests in my next patch will use logging. But if there is a strong objection, I can remove logging for now \u0026 add it in my next patch","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.queuing import base"},{"line_number":21,"context_line":"from tempest.common.utils import data_utils"},{"line_number":22,"context_line":"from tempest.test import attr"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b50%3D","line":22,"updated":"2014-02-06 22:45:07.000000000","message":"See http://docs.openstack.org/developer/hacking/\n\nShould be imported \u0027test\u0027 module, not its part.","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"70ddeb6b011ba0ddde48e443cbe89614a68d3e58","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.queuing import base"},{"line_number":21,"context_line":"from tempest.common.utils import data_utils"},{"line_number":22,"context_line":"from tempest.test import attr"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9aoY%3D","line":22,"in_reply_to":"AAAAUH%2F9b50%3D","updated":"2014-02-07 02:48:14.000000000","message":"Will fix this","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from tempest.test import attr"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class TestQueues(base.BaseQueuingTest):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b8U%3D","line":25,"updated":"2014-02-06 22:45:07.000000000","message":"ditto","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d743025671c0fa3b413024f3bd66dd5725408678","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2014 Rackspace, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F9Zco%3D","line":1,"updated":"2014-02-07 07:09:15.000000000","message":"This one left","commit_id":"9f11c7527f1c3ff6f8a9976ddbb301630bf5847a"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"26077d6b2562e9b6376c0e8f411a579131600779","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        super(TestQueues, self).setUp()"},{"line_number":31,"context_line":"        self.queue_name \u003d data_utils.rand_name(\u0027Queues-Test\u0027)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":34,"context_line":"    def test_create_queue(self):"},{"line_number":35,"context_line":"        # Create Queue"},{"line_number":36,"context_line":"        resp, body \u003d self.create_queue(self.queue_name)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2FY%2BE%3D","line":33,"updated":"2014-02-13 15:05:33.000000000","message":"The job is smoke but the is flagged as gate.\n\nSo this is the reason, why it is even not listed as skipped.","commit_id":"4a405f384a2892ea1836e7e1c394b0e53224c65f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"92fa048d49962faa94ab90fc4ee4d001ca1e9b6c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":34,"context_line":"    def test_create_queue(self):"},{"line_number":35,"context_line":"        # Create Queue"},{"line_number":36,"context_line":"        resp, body \u003d self.create_queue(self.queue_name)"},{"line_number":37,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":38,"context_line":"        self.assertEqual(\u0027\u0027, body)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2BqmY%3D","line":36,"updated":"2014-02-19 22:27:56.000000000","message":"In \"create_queue\" method already used generation of name. Is there any purpose to overwright it?","commit_id":"200e2a7653025340773e79a5d6b9c4e97ebd28e8"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"92fa048d49962faa94ab90fc4ee4d001ca1e9b6c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.assertEqual(\u0027\u0027, body)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def tearDown(self):"},{"line_number":41,"context_line":"        self.client.delete_queue(self.queue_name)"},{"line_number":42,"context_line":"        super(TestQueues, self).tearDown()"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAUX%2F%2Bqn8%3D","line":41,"updated":"2014-02-19 22:27:56.000000000","message":"Here could be used \"addCleanup\" method, that runs after each test.\n\nThis method could be inserted in base-class methods and here removed tearDown.","commit_id":"200e2a7653025340773e79a5d6b9c4e97ebd28e8"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1fdb3af1d820757aee22b54436cc3e6a497ce0b4","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class TestQueues(base.BaseQueuingTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestQueues, self).setUp()"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FK74%3D","line":27,"updated":"2014-03-07 21:50:01.000000000","message":"_interface can be added to base.BaseQueuingTest \n\nIn that case it will be inherited by all test suites.","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f24237fbb40f71c7b6cd47ee7620ed997264aba9","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class TestQueues(base.BaseQueuingTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestQueues, self).setUp()"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FAXI%3D","line":27,"in_reply_to":"AAAAVn%2F%2FK74%3D","updated":"2014-03-10 18:44:22.000000000","message":"I am updating base.py to use os \u003d cls.get_client_manager()\nSo _interface will no longer be needed","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"eeec53298deaf47d5ba091998ce75db79a97045c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class TestQueues(base.BaseQueuingTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestQueues, self).setUp()"},{"line_number":31,"context_line":"        self.queue_name \u003d data_utils.rand_name(\u0027Queues-Test\u0027)"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FLqU%3D","line":29,"updated":"2014-03-07 19:59:31.000000000","message":"This method not needed if self.create_queue handles cleanup.","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f24237fbb40f71c7b6cd47ee7620ed997264aba9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class TestQueues(base.BaseQueuingTest):"},{"line_number":27,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestQueues, self).setUp()"},{"line_number":31,"context_line":"        self.queue_name \u003d data_utils.rand_name(\u0027Queues-Test\u0027)"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FAYs%3D","line":29,"in_reply_to":"AAAAVn%2F%2FLqU%3D","updated":"2014-03-10 18:44:22.000000000","message":"Done","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"eeec53298deaf47d5ba091998ce75db79a97045c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":38,"context_line":"        self.assertEqual(\u0027\u0027, body)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def tearDown(self):"},{"line_number":41,"context_line":"        self.client.delete_queue(self.queue_name)"},{"line_number":42,"context_line":"        super(TestQueues, self).tearDown()"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FLqQ%3D","line":40,"updated":"2014-03-07 19:59:31.000000000","message":"Same here.","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f24237fbb40f71c7b6cd47ee7620ed997264aba9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":38,"context_line":"        self.assertEqual(\u0027\u0027, body)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def tearDown(self):"},{"line_number":41,"context_line":"        self.client.delete_queue(self.queue_name)"},{"line_number":42,"context_line":"        super(TestQueues, self).tearDown()"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FAYk%3D","line":40,"in_reply_to":"AAAAVn%2F%2FLqQ%3D","updated":"2014-03-10 18:44:22.000000000","message":"Done","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"}],"tempest/config.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"ef17740475a0c99ba01b0303cf4eab488360db1b","unresolved":false,"context_lines":[{"line_number":661,"context_line":"    cfg.BoolOpt(\u0027ironic\u0027,"},{"line_number":662,"context_line":"                default\u003dFalse,"},{"line_number":663,"context_line":"                help\u003d\"Whether or not Ironic is expected to be available\"),"},{"line_number":664,"context_line":"    cfg.BoolOpt(\u0027queuing\u0027,"},{"line_number":665,"context_line":"                default\u003dFalse,"},{"line_number":666,"context_line":"                help\u003d\"Whether or not Queuing is expected to be available\"),"},{"line_number":667,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUX%2F%2FXqc%3D","line":664,"updated":"2014-02-13 17:13:08.000000000","message":"\u0027marconi\u0027. use the service name not the type as  it done with other projects.","commit_id":"a564f1ca01db85205cd557aa1763b613fd12f3a0"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"865591bc9ca2378f197720b5602f466c3fee6b2b","unresolved":false,"context_lines":[{"line_number":829,"context_line":"    register_opt_group(cfg.CONF, image_group, ImageGroup)"},{"line_number":830,"context_line":"    register_opt_group(cfg.CONF, image_feature_group, ImageFeaturesGroup)"},{"line_number":831,"context_line":"    register_opt_group(cfg.CONF, network_group, NetworkGroup)"},{"line_number":832,"context_line":"    register_opt_group(cfg.CONF, network_feature_group,"},{"line_number":833,"context_line":"                       NetworkFeaturesGroup)"},{"line_number":834,"context_line":"    register_opt_group(cfg.CONF, volume_group, VolumeGroup)"},{"line_number":835,"context_line":"    register_opt_group(cfg.CONF, volume_feature_group,"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVn%2F%2FUUc%3D","line":832,"updated":"2014-03-06 21:30:57.000000000","message":"Somehow you lost your register_opt_group here\n\nregister_opt_group(cfg.CONF, queuing_group, QueuingGroup)","commit_id":"5a0ae7761ad39190ee20e5b72549bfb7f52a21f8"}],"tempest/services/queuing/json/queuing_client.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"1674741d0c657d4c52ff139b2d2b1af70056ec31","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2013 Rackspace, Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":6,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F9c7A%3D","line":3,"updated":"2014-02-06 20:18:17.000000000","message":"2014*","commit_id":"02788b9fbba6f03c08f2d3ee3d7fa460c0211302"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2014 Rackspace, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b4k%3D","line":1,"updated":"2014-02-06 22:45:07.000000000","message":"See https://review.openstack.org/#/c/66507/","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a2798eb0000d67ba50d701faa1c518bf8e7617a9","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# limitations under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import json"},{"line_number":19,"context_line":"from tempest.common.rest_client import RestClient"},{"line_number":20,"context_line":"from tempest import config"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAUH%2F9b48%3D","line":19,"updated":"2014-02-06 22:45:07.000000000","message":"See http://docs.openstack.org/developer/hacking/\n\nModule should be imported.","commit_id":"206a8ac4de9a8b8ac3af96d82e20cb61d0277b83"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d743025671c0fa3b413024f3bd66dd5725408678","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        super(QueuingClientJSON, self).__init__(auth_provider)"},{"line_number":27,"context_line":"        self.service \u003d CONF.queuing.catalog_type"},{"line_number":28,"context_line":"        self.version \u003d \u00271\u0027"},{"line_number":29,"context_line":"        self.uri_prefix \u003d \u0027v{}\u0027.format(self.version)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def list_queues(self):"},{"line_number":32,"context_line":"        uri \u003d \u0027{}/queues\u0027.format(self.uri_prefix)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F9Zc0%3D","line":29,"updated":"2014-02-07 07:09:15.000000000","message":"Formatting without ids are not compatible with python 2.6\n\nIs it ok?","commit_id":"9f11c7527f1c3ff6f8a9976ddbb301630bf5847a"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"d743025671c0fa3b413024f3bd66dd5725408678","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        self.uri_prefix \u003d \u0027v{}\u0027.format(self.version)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def list_queues(self):"},{"line_number":32,"context_line":"        uri \u003d \u0027{}/queues\u0027.format(self.uri_prefix)"},{"line_number":33,"context_line":"        resp, body \u003d self.get(uri, self.headers)"},{"line_number":34,"context_line":"        body \u003d json.loads(body)"},{"line_number":35,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F9Zcw%3D","line":32,"updated":"2014-02-07 07:09:15.000000000","message":"ditto","commit_id":"9f11c7527f1c3ff6f8a9976ddbb301630bf5847a"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a69ab0ccf4292b4bcc31633b06b78b0bf12e7ca1","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def list_queues(self):"},{"line_number":32,"context_line":"        uri \u003d \u0027{0}/queues\u0027.format(self.uri_prefix)"},{"line_number":33,"context_line":"        resp, body \u003d self.get(uri, self.headers)"},{"line_number":34,"context_line":"        body \u003d json.loads(body)"},{"line_number":35,"context_line":"        return resp, body"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Fe7I%3D","line":33,"updated":"2014-02-12 22:01:49.000000000","message":"Now, headers is set by default in rest client, self.headers can be omitted.\n\nSee https://review.openstack.org/#/c/62923/","commit_id":"4a405f384a2892ea1836e7e1c394b0e53224c65f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a69ab0ccf4292b4bcc31633b06b78b0bf12e7ca1","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def create_queue(self, queue_name):"},{"line_number":38,"context_line":"        uri \u003d \u0027{0}/queues/{1}\u0027.format(self.uri_prefix, queue_name)"},{"line_number":39,"context_line":"        resp, body \u003d self.put(uri, body\u003dNone, headers\u003dself.headers)"},{"line_number":40,"context_line":"        return resp, body"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def get_queue(self, queue_name):"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Fe6s%3D","line":39,"updated":"2014-02-12 22:01:49.000000000","message":"ditto","commit_id":"4a405f384a2892ea1836e7e1c394b0e53224c65f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a69ab0ccf4292b4bcc31633b06b78b0bf12e7ca1","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def get_queue(self, queue_name):"},{"line_number":43,"context_line":"        uri \u003d \u0027{0}/queues/{1}\u0027.format(self.uri_prefix, queue_name)"},{"line_number":44,"context_line":"        resp, body \u003d self.get(uri, headers\u003dself.headers)"},{"line_number":45,"context_line":"        body \u003d json.loads(body)"},{"line_number":46,"context_line":"        return resp, body"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Fe6k%3D","line":44,"updated":"2014-02-12 22:01:49.000000000","message":"ditto","commit_id":"4a405f384a2892ea1836e7e1c394b0e53224c65f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a69ab0ccf4292b4bcc31633b06b78b0bf12e7ca1","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def head_queue(self, queue_name):"},{"line_number":49,"context_line":"        uri \u003d \u0027{0}/queues/{1}\u0027.format(self.uri_prefix, queue_name)"},{"line_number":50,"context_line":"        resp, body \u003d self.head(uri, headers\u003dself.headers)"},{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return resp, body"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Fe6c%3D","line":50,"updated":"2014-02-12 22:01:49.000000000","message":"ditto","commit_id":"4a405f384a2892ea1836e7e1c394b0e53224c65f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"a69ab0ccf4292b4bcc31633b06b78b0bf12e7ca1","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def delete_queue(self, queue_name):"},{"line_number":55,"context_line":"        uri \u003d \u0027{0}/queues/{1}\u0027.format(self.uri_prefix, queue_name)"},{"line_number":56,"context_line":"        resp \u003d self.delete(uri, headers\u003dself.headers)"},{"line_number":57,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Fe6Y%3D","line":56,"updated":"2014-02-12 22:01:49.000000000","message":"ditto","commit_id":"4a405f384a2892ea1836e7e1c394b0e53224c65f"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"60c39ca20a71e14b5262df61bbba202d2aa32ca0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        self.version \u003d \u00271\u0027"},{"line_number":29,"context_line":"        self.uri_prefix \u003d \u0027v{0}\u0027.format(self.version)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def list_queues(self):"},{"line_number":32,"context_line":"        uri \u003d \u0027{0}/queues\u0027.format(self.uri_prefix)"},{"line_number":33,"context_line":"        resp, body \u003d self.get(uri)"},{"line_number":34,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FmAo%3D","line":31,"updated":"2014-03-05 06:18:52.000000000","message":"It seems list_queues(), get_queue() and head_queue() are not used in this test patch. Is this intentional?","commit_id":"86c4f8dc42dc5ae8c4ca2cf432b5583a95c958d5"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"ad30822521f5d70080be99445e0ac2911a15288a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        self.version \u003d \u00271\u0027"},{"line_number":29,"context_line":"        self.uri_prefix \u003d \u0027v{0}\u0027.format(self.version)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def list_queues(self):"},{"line_number":32,"context_line":"        uri \u003d \u0027{0}/queues\u0027.format(self.uri_prefix)"},{"line_number":33,"context_line":"        resp, body \u003d self.get(uri)"},{"line_number":34,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2Fjqk%3D","line":31,"in_reply_to":"AAAAVn%2F%2FmAo%3D","updated":"2014-03-05 12:24:00.000000000","message":"Yes. But I am planning to add tests for these in the next patchset.","commit_id":"86c4f8dc42dc5ae8c4ca2cf432b5583a95c958d5"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"1fdb3af1d820757aee22b54436cc3e6a497ce0b4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import json"},{"line_number":17,"context_line":"from tempest.common import rest_client"},{"line_number":18,"context_line":"from tempest import config"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FK9A%3D","line":16,"updated":"2014-03-07 21:50:01.000000000","message":"If new patch-set uploaded, would like to have here line separation between different groups of import.\n\nSee http://docs.openstack.org/developer/hacking/#imports","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f24237fbb40f71c7b6cd47ee7620ed997264aba9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import json"},{"line_number":17,"context_line":"from tempest.common import rest_client"},{"line_number":18,"context_line":"from tempest import config"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAVn%2F%2FBsY%3D","line":16,"in_reply_to":"AAAAVn%2F%2FK9A%3D","updated":"2014-03-10 18:44:22.000000000","message":"Done","commit_id":"ac3fdc4b8a9135d1d2062649a93b6570068073dd"}]}
