)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"a336b839d82eb7b1251b41a18d9261cfb4bd6d1f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     guo yunxian \u003cyunxian.guo@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-11-18 10:30:08 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Write a couple of test cases together"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In these test cases, use the same snapshot or volume,"},{"line_number":10,"context_line":"they have many of the same code, so write them together."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a74a57a_c25c787f","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":37},"updated":"2016-11-28 16:19:05.000000000","message":"Could you make this message a bit more specific about which tests?","commit_id":"8e33c2b6c15562a373f55b9a75bc2336bf720b0c"}],"tempest/api/volume/test_snapshot_metadata.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"457375c68b8abf981fd69ce06a01ff932acf2e81","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        super(SnapshotV2MetadataTestJSON, self).tearDown()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @test.idempotent_id(\u0027a2f20f99-e363-4584-be97-bc33afb1a56c\u0027)"},{"line_number":52,"context_line":"    def test_create_get_updata_delete_snapshot_metadata(self):"},{"line_number":53,"context_line":"        # Create metadata for the snapshot"},{"line_number":54,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":55,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_0023e3a7","line":52,"updated":"2016-11-10 12:20:39.000000000","message":"typo in test nale","commit_id":"4e3bf26885359a309c32ee993be9df10511de057"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"204e536407dc0609a748c01b9132675819b729d8","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        update_item \u003d {\"key3\": \"item3_update\"}"},{"line_number":59,"context_line":"        expect \u003d {\"key3\": \"item3_update\","},{"line_number":60,"context_line":"                  \"key4\": \"value4\"}"},{"line_number":61,"context_line":"        deleted \u003d {\"key4\": \"value4\"}"},{"line_number":62,"context_line":"        # Create metadata"},{"line_number":63,"context_line":"        body \u003d self.client.create_snapshot_metadata("},{"line_number":64,"context_line":"            self.snapshot[\u0027id\u0027], metadata)[\u0027metadata\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_07a83476","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":15},"updated":"2016-11-11 08:15:50.000000000","message":"this is confusing, we can just do after L89\ndel expected[\"key3\"]","commit_id":"76b23773cc9429c92aa9e8f3117fb944bd0ecbcf"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"204e536407dc0609a748c01b9132675819b729d8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        self.client.delete_snapshot_metadata_item("},{"line_number":87,"context_line":"            self.snapshot[\u0027id\u0027], \"key3\")"},{"line_number":88,"context_line":"        body \u003d self.client.show_snapshot_metadata("},{"line_number":89,"context_line":"            self.snapshot[\u0027id\u0027])[\u0027metadata\u0027]"},{"line_number":90,"context_line":"        self.assertThat(body.items(), matchers.ContainsAll(deleted.items()))"},{"line_number":91,"context_line":"        self.assertNotIn(\"key3\", body)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_c7cf1c54","line":89,"range":{"start_line":89,"start_character":42,"end_line":89,"end_character":44},"updated":"2016-11-11 08:15:50.000000000","message":"here","commit_id":"76b23773cc9429c92aa9e8f3117fb944bd0ecbcf"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dd69a26dc2e07ed544f5083f6536150f1f76237e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # Get the metadata of the snapshot"},{"line_number":66,"context_line":"        body \u003d self.client.show_snapshot_metadata("},{"line_number":67,"context_line":"            self.snapshot[\u0027id\u0027])[\u0027metadata\u0027]"},{"line_number":68,"context_line":"        self.assertThat(body.items(), matchers.ContainsAll(metadata.items()))"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        # Update metadata"},{"line_number":71,"context_line":"        body \u003d self.client.update_snapshot_metadata("}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_3ca5f4b4","line":68,"range":{"start_line":68,"start_character":64,"end_line":68,"end_character":77},"updated":"2016-11-16 00:14:47.000000000","message":"Since several actions are happening on the same test case. I think it would be a good idea to add messages to state the failed action.\nIn this case \"create_snapshot_methadata failed ... \"","commit_id":"e23eb872de57767cc2e6737a76747b56d276b5de"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dd69a26dc2e07ed544f5083f6536150f1f76237e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            self.snapshot[\u0027id\u0027], metadata\u003dupdate)[\u0027metadata\u0027]"},{"line_number":73,"context_line":"        body \u003d self.client.show_snapshot_metadata("},{"line_number":74,"context_line":"            self.snapshot[\u0027id\u0027])[\u0027metadata\u0027]"},{"line_number":75,"context_line":"        self.assertEqual(update, body)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Update metadata item for the snapshot"},{"line_number":78,"context_line":"        body \u003d self.client.update_snapshot_metadata_item("}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_bc78242d","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":38},"updated":"2016-11-16 00:14:47.000000000","message":"same state update failed","commit_id":"e23eb872de57767cc2e6737a76747b56d276b5de"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dd69a26dc2e07ed544f5083f6536150f1f76237e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            self.snapshot[\u0027id\u0027])[\u0027metadata\u0027]"},{"line_number":89,"context_line":"        del expect[\"key3\"]"},{"line_number":90,"context_line":"        self.assertThat(body.items(), matchers.ContainsAll(expect.items()))"},{"line_number":91,"context_line":"        self.assertNotIn(\"key3\", body)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"class SnapshotV1MetadataTestJSON(SnapshotV2MetadataTestJSON):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_e774a89d","line":91,"range":{"start_line":91,"start_character":13,"end_line":91,"end_character":24},"updated":"2016-11-16 00:14:47.000000000","message":"same","commit_id":"e23eb872de57767cc2e6737a76747b56d276b5de"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0d10aac9ba30784d1c0bf5775e429054c63235ae","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self.assertEqual(update, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @test.idempotent_id(\u0027e8ff85c5-8f97-477f-806a-3ac364a949ed\u0027)"},{"line_number":99,"context_line":"    def test_update_snapshot_metadata_item(self):"},{"line_number":100,"context_line":"        # Update metadata item for the snapshot"},{"line_number":101,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":102,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_148624db","side":"PARENT","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":42},"updated":"2016-12-01 01:31:05.000000000","message":"As per defcore feedback let\u0027s keep this test as it is.","commit_id":"f4f6d128484cd30ee5323a18ceee8c2d279b5128"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0d10aac9ba30784d1c0bf5775e429054c63235ae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        super(SnapshotV2MetadataTestJSON, self).tearDown()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    @test.idempotent_id(\u0027a2f20f99-e363-4584-be97-bc33afb1a56c\u0027)"},{"line_number":51,"context_line":"    def test_crud_snapshot_metadata_and_items(self):"},{"line_number":52,"context_line":"        # Create metadata for the snapshot"},{"line_number":53,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":54,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_140f0489","line":51,"range":{"start_line":51,"start_character":8,"end_line":51,"end_character":35},"updated":"2016-12-01 01:31:05.000000000","message":"Let\u0027s merge only metadata update tests as a single capabilities.","commit_id":"8e33c2b6c15562a373f55b9a75bc2336bf720b0c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6c9b26b57dcc976ccd051f2c6036838ba01ef183","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        super(SnapshotV2MetadataTestJSON, self).tearDown()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @test.idempotent_id(\u0027a2f20f99-e363-4584-be97-bc33afb1a56c\u0027)"},{"line_number":47,"context_line":"    def test_crud_snapshot_metadata_and(self):"},{"line_number":48,"context_line":"        # Create metadata for the snapshot"},{"line_number":49,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":50,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_bfa56505","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":39},"updated":"2016-12-02 02:46:49.000000000","message":"-\u003etest_crud_snapshot_metadata\n\nyou might forgot to remove \u0027and\u0027 :)","commit_id":"0b0a731077deab5bf51e85a20564032ff082e5fb"}],"tempest/api/volume/test_volume_metadata.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"204e536407dc0609a748c01b9132675819b729d8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        super(VolumesV2MetadataTest, self).tearDown()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @test.idempotent_id(\u00276f5b125b-f664-44bf-910f-751591fe5769\u0027)"},{"line_number":36,"context_line":"    def test_create_get_update_delete_volume_metadata(self):"},{"line_number":37,"context_line":"        # Create metadata for the volume"},{"line_number":38,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":39,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":5,"id":"9a629dbe_870e048a","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":53},"updated":"2016-11-11 08:15:50.000000000","message":"this also does update metadata item. how about\n\ntest_crud_volume_metadata_and_items","commit_id":"76b23773cc9429c92aa9e8f3117fb944bd0ecbcf"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"dd69a26dc2e07ed544f5083f6536150f1f76237e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            self.volume[\u0027id\u0027], \"key4\", update_item)[\u0027meta\u0027]"},{"line_number":65,"context_line":"        body \u003d self.volumes_client.show_volume_metadata("},{"line_number":66,"context_line":"            self.volume[\u0027id\u0027])[\u0027metadata\u0027]"},{"line_number":67,"context_line":"        self.assertThat(body.items(), matchers.ContainsAll(expected.items()))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        # Delete one item metadata of the volume"},{"line_number":70,"context_line":"        self.volumes_client.delete_volume_metadata_item("}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_8764d4e5","line":67,"range":{"start_line":67,"start_character":8,"end_line":67,"end_character":23},"updated":"2016-11-16 00:14:47.000000000","message":"add message related to the failed action","commit_id":"e23eb872de57767cc2e6737a76747b56d276b5de"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0d10aac9ba30784d1c0bf5775e429054c63235ae","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self.assertEqual(update, body)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @test.idempotent_id(\u0027862261c5-8df4-475a-8c21-946e50e36a20\u0027)"},{"line_number":84,"context_line":"    def test_update_volume_metadata_item(self):"},{"line_number":85,"context_line":"        # Update metadata item for the volume"},{"line_number":86,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":87,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_94723410","side":"PARENT","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":40},"updated":"2016-12-01 01:31:05.000000000","message":"ditto","commit_id":"f4f6d128484cd30ee5323a18ceee8c2d279b5128"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0d10aac9ba30784d1c0bf5775e429054c63235ae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        super(VolumesV2MetadataTest, self).tearDown()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @test.idempotent_id(\u00276f5b125b-f664-44bf-910f-751591fe5769\u0027)"},{"line_number":36,"context_line":"    def test_crud_volume_metadata_and_items(self):"},{"line_number":37,"context_line":"        # Create metadata for the volume"},{"line_number":38,"context_line":"        metadata \u003d {\"key1\": \"value1\","},{"line_number":39,"context_line":"                    \"key2\": \"value2\","}],"source_content_type":"text/x-python","patch_set":7,"id":"5a74a57a_74775802","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":33},"updated":"2016-12-01 01:31:05.000000000","message":"ditto","commit_id":"8e33c2b6c15562a373f55b9a75bc2336bf720b0c"}]}
