)]}'
{"tempest/api/object_storage/test_account_bulk.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"9f7e0deaabb9674ba29d5de9905cfd620d1fa0af","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        resp, body \u003d self.account_client.list_account_containers(param)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.assertIn(int(resp[\u0027status\u0027]), test.HTTP_SUCCESS)"},{"line_number":84,"context_line":"        self.assertHeaders(resp, \u0027Account\u0027, \u0027GET\u0027)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self.assertIn(container_name, [b[\u0027name\u0027] for b in body])"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_1f0cd041","side":"PARENT","line":84,"updated":"2014-08-27 16:52:48.000000000","message":"Why is the assertHeaders removed?","commit_id":"9c1ce58a22cfa1143fa8e8b4ddfc6f57d31db27e"}],"tempest/common/rest_client.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"31ee7edc5f40acd11a7dc0f38f13b6d52d31622c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"TOKEN_CHARS_RE \u003d re.compile(\u0027^[-A-Za-z0-9+/\u003d]*$\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# All the successful HTTP status codes from RFC 2616"},{"line_number":40,"context_line":"HTTP_SUCCESS \u003d [200, 201, 202, 203, 204, 205, 206]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class RestClient(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_7c749635","line":40,"updated":"2014-08-29 12:48:43.000000000","message":"Why this change?","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":37,"context_line":"TOKEN_CHARS_RE \u003d re.compile(\u0027^[-A-Za-z0-9+/\u003d]*$\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# All the successful HTTP status codes from RFC 2616"},{"line_number":40,"context_line":"HTTP_SUCCESS \u003d [200, 201, 202, 203, 204, 205, 206]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class RestClient(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_63d3fa38","line":40,"in_reply_to":"1abeadc6_7c749635","updated":"2014-09-01 01:13:09.000000000","message":"expected_success method checks whether expected_code attr is an instance of list or not. If it is not a list, it is regarded as a string value. \nI modified response checking code as self.expected_success(HTTP_SUCCESS, response_code) . This seems intuitive but current implementation of expected_success method complains because tuple is neither list nor string.\n\nI think tuple definition is better for HTTP_SUCCESS but above modification is simplest and not bad to avoid errors.","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d032fa66552450438df3cf251d773501ca654236","unresolved":false,"context_lines":[{"line_number":37,"context_line":"TOKEN_CHARS_RE \u003d re.compile(\u0027^[-A-Za-z0-9+/\u003d]*$\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# All the successful HTTP status codes from RFC 2616"},{"line_number":40,"context_line":"HTTP_SUCCESS \u003d [200, 201, 202, 203, 204, 205, 206]"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class RestClient(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa98f980_59a0de8f","line":40,"updated":"2014-09-15 09:01:03.000000000","message":"why this change?","commit_id":"6d568d8efbd3dd90ccf9f43b3b476279fb3b82d2"}],"tempest/services/object_storage/account_client.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            resp, body \u003d self.get(\u0027info\u0027)"},{"line_number":156,"context_line":"        finally:"},{"line_number":157,"context_line":"            self.reset_path()"},{"line_number":158,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":159,"context_line":"        body \u003d json.loads(body)"},{"line_number":160,"context_line":"        return resp, body"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_c46b08ef","line":158,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            resp, body \u003d self.get(\u0027info\u0027)"},{"line_number":156,"context_line":"        finally:"},{"line_number":157,"context_line":"            self.reset_path()"},{"line_number":158,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":159,"context_line":"        body \u003d json.loads(body)"},{"line_number":160,"context_line":"        return resp, body"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_03922e57","line":158,"in_reply_to":"1abeadc6_c46b08ef","updated":"2014-09-01 01:13:09.000000000","message":"I will fix.","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"}],"tempest/services/object_storage/container_client.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                headers[remove_metadata_prefix + key] \u003d remove_metadata[key]"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        resp, body \u003d self.put(url, body\u003dNone, headers\u003dheaders)"},{"line_number":57,"context_line":"        self.expected_success([201, 202], resp.status)"},{"line_number":58,"context_line":"        return resp, body"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def delete_container(self, container_name):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_647a34bb","line":57,"updated":"2014-08-29 18:38:46.000000000","message":"testing particular status codes","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                headers[remove_metadata_prefix + key] \u003d remove_metadata[key]"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        resp, body \u003d self.put(url, body\u003dNone, headers\u003dheaders)"},{"line_number":57,"context_line":"        self.expected_success([201, 202], resp.status)"},{"line_number":58,"context_line":"        return resp, body"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def delete_container(self, container_name):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_03794e2f","line":57,"in_reply_to":"1abeadc6_647a34bb","updated":"2014-09-01 01:13:09.000000000","message":"This is because document says a response code of creating container returns 201 or 202. See http://docs.openstack.org/api/openstack-object-storage/1.0/content/create-container.html","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"}],"tempest/services/object_storage/object_client.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"31ee7edc5f40acd11a7dc0f38f13b6d52d31622c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        resp, body \u003d self.put(url, data)"},{"line_number":146,"context_line":"        return resp, body"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def put_object_with_chunk(self, container, name, contents, chunk_size):"},{"line_number":149,"context_line":"        \"\"\""},{"line_number":150,"context_line":"        Put an object with Transfer-Encoding header"},{"line_number":151,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_7c9d7665","side":"PARENT","line":148,"updated":"2014-08-29 12:48:43.000000000","message":"The caller of this was checking response so it seems this method should be checking.","commit_id":"68988e346ae9d1d1534747027e9bfbc23af89d4c"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        resp, body \u003d self.put(url, data)"},{"line_number":146,"context_line":"        return resp, body"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def put_object_with_chunk(self, container, name, contents, chunk_size):"},{"line_number":149,"context_line":"        \"\"\""},{"line_number":150,"context_line":"        Put an object with Transfer-Encoding header"},{"line_number":151,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_e3a28a99","side":"PARENT","line":148,"in_reply_to":"1abeadc6_7c9d7665","updated":"2014-09-01 01:13:09.000000000","message":"I will fix.","commit_id":"68988e346ae9d1d1534747027e9bfbc23af89d4c"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        resp, body \u003d self.put(url, data, headers)"},{"line_number":50,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_object(self, container, object_name, data):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_844cb09f","line":50,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        resp, body \u003d self.put(url, data, headers)"},{"line_number":50,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_object(self, container, object_name, data):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_43aa7671","line":50,"in_reply_to":"1abeadc6_844cb09f","updated":"2014-09-01 01:13:09.000000000","message":"This is because document says a response code of creating object returns 201. See http://docs.openstack.org/api/openstack-object-storage/1.0/content/create-update-object.html","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                headers[str(key)] \u003d metadata[key]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        resp, body \u003d self.put(url, None, headers\u003dheaders)"},{"line_number":114,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":115,"context_line":"        return resp, body"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def copy_object_across_containers(self, src_container, src_object_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_a44fec90","line":114,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                headers[str(key)] \u003d metadata[key]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        resp, body \u003d self.put(url, None, headers\u003dheaders)"},{"line_number":114,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":115,"context_line":"        return resp, body"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def copy_object_across_containers(self, src_container, src_object_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_83bb7ec3","line":114,"in_reply_to":"1abeadc6_a44fec90","updated":"2014-09-01 01:13:09.000000000","message":"as remarked above","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                headers[str(key)] \u003d metadata[key]"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        resp, body \u003d self.put(url, None, headers\u003dheaders)"},{"line_number":132,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":133,"context_line":"        return resp, body"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def copy_object_2d_way(self, container, src_object_name, dest_object_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_c4422867","line":132,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                headers[str(key)] \u003d metadata[key]"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        resp, body \u003d self.put(url, None, headers\u003dheaders)"},{"line_number":132,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":133,"context_line":"        return resp, body"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def copy_object_2d_way(self, container, src_object_name, dest_object_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_a3b082de","line":132,"in_reply_to":"1abeadc6_c4422867","updated":"2014-09-01 01:13:09.000000000","message":"as remarked above","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                headers[str(key)] \u003d metadata[key]"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        resp, body \u003d self.copy(url, headers\u003dheaders)"},{"line_number":148,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":149,"context_line":"        return resp, body"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def create_object_segments(self, container, object_name, segment, data):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_0460a0ff","line":148,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                headers[str(key)] \u003d metadata[key]"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        resp, body \u003d self.copy(url, headers\u003dheaders)"},{"line_number":148,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":149,"context_line":"        return resp, body"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def create_object_segments(self, container, object_name, segment, data):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_43efd6b0","line":148,"in_reply_to":"1abeadc6_0460a0ff","updated":"2014-09-01 01:13:09.000000000","message":"There is no description of status code for COPY method in OpenStack document, but COPY is much the same as PUT.","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        \"\"\"Creates object segments.\"\"\""},{"line_number":153,"context_line":"        url \u003d \"{0}/{1}/{2}\".format(container, object_name, segment)"},{"line_number":154,"context_line":"        resp, body \u003d self.put(url, data)"},{"line_number":155,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":156,"context_line":"        return resp, body"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def put_object_with_chunk(self, container, name, contents, chunk_size):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_245bdc54","line":155,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        \"\"\"Creates object segments.\"\"\""},{"line_number":153,"context_line":"        url \u003d \"{0}/{1}/{2}\".format(container, object_name, segment)"},{"line_number":154,"context_line":"        resp, body \u003d self.put(url, data)"},{"line_number":155,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":156,"context_line":"        return resp, body"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def put_object_with_chunk(self, container, name, contents, chunk_size):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_632bfaeb","line":155,"in_reply_to":"1abeadc6_245bdc54","updated":"2014-09-01 01:13:09.000000000","message":"as remarked above","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"e5824d87c881ee54e9f4bd4a44298f0af3b570dc","unresolved":false,"context_lines":[{"line_number":245,"context_line":"            headers[\u0027content-length\u0027] \u003d \u00270\u0027"},{"line_number":246,"context_line":"        url \u003d \"%s/%s\" % (str(container), str(object_name))"},{"line_number":247,"context_line":"        resp, body \u003d self.put(url, data, headers\u003dheaders)"},{"line_number":248,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":249,"context_line":"        return resp, body"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def delete_object(self, container, object_name, metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_4456182b","line":248,"updated":"2014-08-29 18:38:46.000000000","message":"testing a particular status code","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"},{"author":{"_account_id":8859,"name":"Daisuke Morita","email":"morita.daisuke@ntti3.com","username":"morrisson"},"change_message_id":"556808d8db3ab66ab856f1e260629923fec10910","unresolved":false,"context_lines":[{"line_number":245,"context_line":"            headers[\u0027content-length\u0027] \u003d \u00270\u0027"},{"line_number":246,"context_line":"        url \u003d \"%s/%s\" % (str(container), str(object_name))"},{"line_number":247,"context_line":"        resp, body \u003d self.put(url, data, headers\u003dheaders)"},{"line_number":248,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":249,"context_line":"        return resp, body"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def delete_object(self, container, object_name, metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_8330de57","line":248,"in_reply_to":"1abeadc6_4456182b","updated":"2014-09-01 01:13:09.000000000","message":"as remarked above","commit_id":"c581c08a3ded830457180912779c0acc27ddb6a2"}]}
