)]}'
{"tempest/api/object_storage/test_account_services.py":[{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"11cf087241f446d2394d1ca1cfee18a430c5d81f","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":56,"context_line":"    def test_list_containers_with_limit(self):"},{"line_number":57,"context_line":"        for l in (1, self.containers_count / 2, self.containers_count):"},{"line_number":58,"context_line":"            params \u003d {\u0027limit\u0027: l}"},{"line_number":59,"context_line":"            resp, container_list \u003d \\"},{"line_number":60,"context_line":"                self.account_client.list_account_containers(params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FJNI%3D","line":57,"updated":"2013-08-06 14:09:24.000000000","message":"According to Pep8, you should avoid calling your variables \"l\".\n\nhttp://www.python.org/dev/peps/pep-0008/#names-to-avoid","commit_id":"e1d05a4808fa36e0170c1365c4c4c77110126b74"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"8c5c81f9256a229c62979569f09dffa73988d222","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def setUpClass(cls):"},{"line_number":30,"context_line":"        super(AccountTest, cls).setUpClass()"},{"line_number":31,"context_line":"        cls.containers \u003d []"},{"line_number":32,"context_line":"        for i in xrange(97, 123):"},{"line_number":33,"context_line":"            name \u003d rand_name(name\u003d\u0027%s-\u0027 % chr(i))"},{"line_number":34,"context_line":"            cls.container_client.create_container(name)"},{"line_number":35,"context_line":"            cls.containers.append(name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FF1w%3D","line":32,"updated":"2013-08-07 11:22:53.000000000","message":"just to make this more clear can you make it\n\nfor i in xrange(ord(\u0027a\u0027), ord(\u0027z\u0027)+1):","commit_id":"52675fe3fb4e6f3f8f6040368b3ada3b31173299"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"8c5c81f9256a229c62979569f09dffa73988d222","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \u0027limit\u0027: limit}"},{"line_number":91,"context_line":"            resp, container_list \u003d \\"},{"line_number":92,"context_line":"                self.account_client.list_account_containers(params\u003dparams)"},{"line_number":93,"context_line":"            self.assertTrue(len(container_list) \u003c\u003d limit)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":96,"context_line":"    def test_list_account_metadata(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FF1E%3D","line":93,"updated":"2013-08-07 11:22:53.000000000","message":"please use assertLessEqual - http://docs.python.org/2/library/unittest.html#unittest.TestCase.assertGreaterEqual\n\nassertTrue is terrible to debug when this ever fails","commit_id":"52675fe3fb4e6f3f8f6040368b3ada3b31173299"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"ee736bab72f5ea8ee5e400534f06fcb99f023b68","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def tearDownClass(cls):"},{"line_number":40,"context_line":"        for container in cls.containers:"},{"line_number":41,"context_line":"            cls.container_client.delete_container(container)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":44,"context_line":"    def test_list_containers(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FEZw%3D","line":41,"updated":"2013-08-07 16:51:07.000000000","message":"BaseObjectTest has a delete_containers method, please use that.","commit_id":"d1a88bc52d14930ef4c41466ea12261001cec106"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"ee736bab72f5ea8ee5e400534f06fcb99f023b68","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            self.assertIn(container_name, container_names)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":56,"context_line":"    def test_list_containers_with_limit(self):"},{"line_number":57,"context_line":"        for limit in (1, self.containers_count / 2, self.containers_count):"},{"line_number":58,"context_line":"            params \u003d {\u0027limit\u0027: limit}"},{"line_number":59,"context_line":"            resp, container_list \u003d \\"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FEZk%3D","line":56,"updated":"2013-08-07 16:51:07.000000000","message":"add comment, e.g. \"limit container listing to 1, half of them and all of them\"","commit_id":"d1a88bc52d14930ef4c41466ea12261001cec106"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"ee736bab72f5ea8ee5e400534f06fcb99f023b68","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            self.assertEquals(len(container_list), limit)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":64,"context_line":"    def test_list_containers_with_marker(self):"},{"line_number":65,"context_line":"        params \u003d {\u0027marker\u0027: self.containers[-1]}"},{"line_number":66,"context_line":"        resp, container_list \u003d \\"},{"line_number":67,"context_line":"            self.account_client.list_account_containers(params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FEZg%3D","line":64,"updated":"2013-08-07 16:51:07.000000000","message":"Add some more comments here, e.g. \n\nlisting containers starting from marker\n * set marker to the last container, expected to get 0 containers as a result\n * set marker to a container in the middle, expected to get the bottom half of the containers as a result","commit_id":"d1a88bc52d14930ef4c41466ea12261001cec106"},{"author":{"_account_id":6847,"name":"Martina Kollarova","email":"mkollaro@gmail.com","username":"mkollaro"},"change_message_id":"ee736bab72f5ea8ee5e400534f06fcb99f023b68","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.assertEquals(len(container_list), self.containers_count / 2 - 1)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":75,"context_line":"    def test_list_containers_with_end_marker(self):"},{"line_number":76,"context_line":"        params \u003d {\u0027end_marker\u0027: self.containers[0]}"},{"line_number":77,"context_line":"        resp, container_list \u003d \\"},{"line_number":78,"context_line":"            self.account_client.list_account_containers(params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FEZc%3D","line":75,"updated":"2013-08-07 16:51:07.000000000","message":"Again, please more explanation.","commit_id":"d1a88bc52d14930ef4c41466ea12261001cec106"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"58c2b0d9d301a2c9dd825e53792287007b6f4eb4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def setUpClass(cls):"},{"line_number":30,"context_line":"        super(AccountTest, cls).setUpClass()"},{"line_number":31,"context_line":"        cls.containers \u003d []"},{"line_number":32,"context_line":"        for i in xrange(ord(\u0027a\u0027), ord(\u0027z\u0027) + 1):"},{"line_number":33,"context_line":"            name \u003d rand_name(name\u003d\u0027%s-\u0027 % chr(i))"},{"line_number":34,"context_line":"            cls.container_client.create_container(name)"},{"line_number":35,"context_line":"            cls.containers.append(name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FBQw%3D","line":32,"updated":"2013-08-08 11:45:24.000000000","message":"do we really need that many containers for an api test?","commit_id":"754bc9c1c590e5f19e590f08608030e66e521919"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"58c2b0d9d301a2c9dd825e53792287007b6f4eb4","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def tearDownClass(cls):"},{"line_number":40,"context_line":"        super(AccountTest, cls).delete_containers(cls.containers)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":43,"context_line":"    def test_list_containers(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FBQ8%3D","line":40,"updated":"2013-08-08 11:45:24.000000000","message":"can\u0027t you just call \"cls.delete_containers\" here?","commit_id":"754bc9c1c590e5f19e590f08608030e66e521919"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"76462c09c21dd733faa706bb08885baf80a22edc","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def tearDownClass(cls):"},{"line_number":34,"context_line":"        cls.container_client.delete_container(cls.container_name)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":37,"context_line":"    def test_list_containers(self):"},{"line_number":38,"context_line":"        # list of all containers should not be empty"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2B%2FVA%3D","side":"PARENT","line":35,"updated":"2013-08-08 20:04:20.000000000","message":"Need to call super.tearDownClass at end.","commit_id":"39f25f874296497122ff30f70dfc4444b951d414"}],"tempest/services/object_storage/account_client.py":[{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"06e117d1a1509811a02129962169b1c40f73b3a2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            DEFAULT:  Python-List returned in response body"},{"line_number":85,"context_line":"        \"\"\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        if \u0027format\u0027 not in params.keys():"},{"line_number":88,"context_line":"            params[\u0027format\u0027] \u003d self.format"},{"line_number":89,"context_line":"        url \u003d \u0027?\u0027 + urllib.urlencode(params)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FBLc%3D","line":87,"updated":"2013-08-08 12:15:39.000000000","message":"params.keys() will return a newly created list containing the keys if the dict. You really don\u0027t need to do this. You can test for existence against the dict, the \"in\" operator will automatically know how to do it.\n\n    if \u0027format\u0027 not in params:\n       ...\n\nFor instance, look at this:\n\n    \u003e\u003e\u003e \"foo\" in {\"foo\": 0, \"bar\": 1}\n    True\n    \u003e\u003e\u003e \"fool\" in {\"foo\": 0, \"bar\": 1}\n    False","commit_id":"754bc9c1c590e5f19e590f08608030e66e521919"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"58c2b0d9d301a2c9dd825e53792287007b6f4eb4","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        if \u0027format\u0027 not in params.keys():"},{"line_number":88,"context_line":"            params[\u0027format\u0027] \u003d self.format"},{"line_number":89,"context_line":"        url \u003d \u0027?\u0027 + urllib.urlencode(params)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":92,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FBSU%3D","line":89,"updated":"2013-08-08 11:45:24.000000000","message":"I\u0027d keep the check \"if params\" here as per original file","commit_id":"754bc9c1c590e5f19e590f08608030e66e521919"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"76462c09c21dd733faa706bb08885baf80a22edc","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                params[\u0027format\u0027] \u003d self.format"},{"line_number":90,"context_line":"            url \u003d \u0027?\u0027 + urllib.urlencode(params)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":93,"context_line":"        body \u003d json.loads(body)"},{"line_number":94,"context_line":"        return resp, body"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2B%2FUY%3D","line":92,"updated":"2013-08-08 20:04:20.000000000","message":"Isn\u0027t url unbound if not params?","commit_id":"aaeb2e9af8098c1dad0e649426c5db17f7a58050"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"55245597002fea9bf397e1102c7238e2cc8f1b49","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            DEFAULT:  Python-List returned in response body"},{"line_number":85,"context_line":"        \"\"\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        if params:"},{"line_number":88,"context_line":"            if \u0027format\u0027 not in params:"},{"line_number":89,"context_line":"                params[\u0027format\u0027] \u003d self.format"},{"line_number":90,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAQn%2F%2B9F4%3D","line":87,"updated":"2013-08-09 12:02:14.000000000","message":"so I think this is getting hard to read, I suggest:\n\nif params and \u0027format\u0027 not in params:\n  params[\u0027format\u0027] \u003d self.format\nelse:\n  params \u003d {\u0027format\u0027: self.format}","commit_id":"d5c7f9202959808ef823999eff0d186626889c59"}]}
