)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"722ac88e3bbb4f747a5b71f7164b9c6818e610f5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add update object testcase"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There is a update_object() in object_client, but it not be used."},{"line_number":10,"context_line":"So this patch add a testcase to use it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I94a729464ba5e366374e5bee3ada14c223d2f9ac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9ad45d7e_8cdf590c","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":64},"updated":"2016-08-10 14:47:55.000000000","message":"A couple of small typos in this line, should be something like this:\n\nThere is an update_object() in object_client, but it is not being used.","commit_id":"69a7282202876c2a5f074b077a7c2f050113e2c3"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"722ac88e3bbb4f747a5b71f7164b9c6818e610f5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add update object testcase"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There is a update_object() in object_client, but it not be used."},{"line_number":10,"context_line":"So this patch add a testcase to use it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I94a729464ba5e366374e5bee3ada14c223d2f9ac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9ad45d7e_6c0b058f","line":10,"range":{"start_line":10,"start_character":14,"end_line":10,"end_character":17},"updated":"2016-08-10 14:47:55.000000000","message":"s/add/adds","commit_id":"69a7282202876c2a5f074b077a7c2f050113e2c3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b0c68632113e1fa34e94a7c41655e9aa88304fee","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-08-31 11:09:15 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove the update_object() in object_client"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I94a729464ba5e366374e5bee3ada14c223d2f9ac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa7ab95a_f7b4a283","line":8,"updated":"2016-08-31 03:19:07.000000000","message":"nit: ideally nice to write the reason why we need to remove this method..","commit_id":"0e24b95aa2e33c60912ec27d70f9579a2337cdf6"}],"tempest/api/object_storage/test_object_services.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"ea91ec0f79b05f414a267f7107fd25e5389f3f96","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        object_name \u003d data_utils.rand_name(name\u003d\u0027TestObject2\u0027)"},{"line_number":116,"context_line":"        data \u003d data_utils.arbitrary_string()"},{"line_number":117,"context_line":"        resp, _ \u003d self.object_client.update_object(self.container_name,"},{"line_number":118,"context_line":"                                                   object_name, data)"},{"line_number":119,"context_line":"        self.assertHeaders(resp, \u0027Object\u0027, \u0027PUT\u0027)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        # check uploaded content"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_eef30207","line":118,"updated":"2016-08-08 08:20:27.000000000","message":"I was thinking you were updating the first object. But this code seems like just creating a new object. Is this your intention? Or do I miss something?","commit_id":"a2693dd6eda4870b035263a6d2ff48dfc5d7a41f"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"218f8f5496207757181c84c5297810e559fa251f","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        self.assertNotIn(\u0027x-object-meta-test-meta\u0027, resp)"},{"line_number":309,"context_line":"        self.assertEqual(data, body)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":312,"context_line":"    @test.idempotent_id(\u00275b4ce26f-3545-46c9-a2ba-7574348a4c00\u0027)"},{"line_number":313,"context_line":"    def test_update_object(self):"},{"line_number":314,"context_line":"        object_name, data \u003d self.create_object(self.container_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_b1a7894e","line":311,"range":{"start_line":311,"start_character":4,"end_line":311,"end_character":28},"updated":"2016-08-08 17:56:40.000000000","message":"I don\u0027t think this should be part of the smoke test suite","commit_id":"76bf3d6c75f3294fe8cf696eda46b48633252e5e"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"218f8f5496207757181c84c5297810e559fa251f","unresolved":false,"context_lines":[{"line_number":311,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":312,"context_line":"    @test.idempotent_id(\u00275b4ce26f-3545-46c9-a2ba-7574348a4c00\u0027)"},{"line_number":313,"context_line":"    def test_update_object(self):"},{"line_number":314,"context_line":"        object_name, data \u003d self.create_object(self.container_name)"},{"line_number":315,"context_line":"        # update object"},{"line_number":316,"context_line":"        resp, body \u003d self.object_client.update_object(self.container_name,"},{"line_number":317,"context_line":"                                                      object_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_8ca34c9e","line":314,"range":{"start_line":314,"start_character":28,"end_line":314,"end_character":46},"updated":"2016-08-08 17:56:40.000000000","message":"Might be better to use object_client.update_object to control the initial data","commit_id":"76bf3d6c75f3294fe8cf696eda46b48633252e5e"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"806a86b8463c0f6450be55799e3bdbb01110595b","unresolved":false,"context_lines":[{"line_number":313,"context_line":"    def test_update_object(self):"},{"line_number":314,"context_line":"        object_name, data \u003d self.create_object(self.container_name)"},{"line_number":315,"context_line":"        # update object"},{"line_number":316,"context_line":"        resp, body \u003d self.object_client.update_object(self.container_name,"},{"line_number":317,"context_line":"                                                      object_name)"},{"line_number":318,"context_line":"        self.assertHeaders(resp, \u0027Object\u0027, \u0027PUT\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_31ec39c7","line":316,"range":{"start_line":316,"start_character":40,"end_line":316,"end_character":53},"updated":"2016-08-08 17:35:03.000000000","message":"This function requires you to include also the data to be updated with:\nupdate_object(container, object_name, data_for_update)","commit_id":"76bf3d6c75f3294fe8cf696eda46b48633252e5e"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"806a86b8463c0f6450be55799e3bdbb01110595b","unresolved":false,"context_lines":[{"line_number":317,"context_line":"                                                      object_name)"},{"line_number":318,"context_line":"        self.assertHeaders(resp, \u0027Object\u0027, \u0027PUT\u0027)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        self.assertNotEqual(body, data)"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    @test.idempotent_id(\u002717738d45-03bd-4d45-9e0b-7b2f58f98687\u0027)"},{"line_number":323,"context_line":"    def test_delete_object(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_313a7937","line":320,"range":{"start_line":320,"start_character":13,"end_line":320,"end_character":38},"updated":"2016-08-08 17:35:03.000000000","message":"Instead of just checking that the original data and the new data is different why don\u0027t you specifically check the ned data is what you are expecting?","commit_id":"76bf3d6c75f3294fe8cf696eda46b48633252e5e"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"722ac88e3bbb4f747a5b71f7164b9c6818e610f5","unresolved":false,"context_lines":[{"line_number":311,"context_line":"    @test.idempotent_id(\u00275b4ce26f-3545-46c9-a2ba-7574348a4c00\u0027)"},{"line_number":312,"context_line":"    def test_update_object(self):"},{"line_number":313,"context_line":"        object_name, _ \u003d self.create_object(self.container_name)"},{"line_number":314,"context_line":"        data_for_update \u003d data_utils.arbitrary_string()"},{"line_number":315,"context_line":"        # update object"},{"line_number":316,"context_line":"        resp, _ \u003d self.object_client.update_object("},{"line_number":317,"context_line":"            self.container_name, object_name, data_for_update)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_6f0bf78e","line":314,"range":{"start_line":314,"start_character":8,"end_line":314,"end_character":55},"updated":"2016-08-10 14:47:55.000000000","message":"This looks mostly good now, only one thing, you are generating the new data (data_for_update) using the the arbitrary_string() method without using any parameters, which in turn will generate  this string \"test\". The create_object function is also using this arbitrary_string method to create its initial data, and since it is using without parameters too, it ends up using the same \"test\" string. So bottom line you are updating the object with the same data, which will make difficult to know if the update actually worked. You can change the data_for_update by either changing its base or its size, this should fix it:\n\ndata_for_update \u003d data_utils.arbitrary_string(10)","commit_id":"69a7282202876c2a5f074b077a7c2f050113e2c3"},{"author":{"_account_id":22692,"name":"guo yunxian","email":"yunxian.guo@easystack.cn","username":"guoyunxian"},"change_message_id":"327f4ed053af89fc7027a4e4617e885927ffbd0c","unresolved":false,"context_lines":[{"line_number":311,"context_line":"    @test.idempotent_id(\u00275b4ce26f-3545-46c9-a2ba-7574348a4c00\u0027)"},{"line_number":312,"context_line":"    def test_update_object(self):"},{"line_number":313,"context_line":"        object_name, _ \u003d self.create_object(self.container_name)"},{"line_number":314,"context_line":"        data_for_update \u003d data_utils.arbitrary_string()"},{"line_number":315,"context_line":"        # update object"},{"line_number":316,"context_line":"        resp, _ \u003d self.object_client.update_object("},{"line_number":317,"context_line":"            self.container_name, object_name, data_for_update)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_4e47f576","line":314,"range":{"start_line":314,"start_character":8,"end_line":314,"end_character":55},"in_reply_to":"9ad45d7e_6f0bf78e","updated":"2016-08-11 05:43:06.000000000","message":"Thanks!","commit_id":"69a7282202876c2a5f074b077a7c2f050113e2c3"}]}
