)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23003,"name":"Gal Amado","email":"gamado@redhat.com","username":"gamado"},"change_message_id":"a050fafb3d228ef06786313949d921d1e04c3b74","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lkuchlan \u003clkuchlan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-02-20 10:38:59 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test creating a protected image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The test validates that deleting a protected image is forbidden."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da36d5c6_8b886de9","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":35},"updated":"2017-02-20 12:40:04.000000000","message":"Add a test for creating a protected image","commit_id":"cf484bf9a75d070da4707300d75e2c7555d82169"}],"tempest/api/image/v2/test_images_negative.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"17d840d1034f198bd5f3241232cac60856d7e85f","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"},{"line_number":103,"context_line":"    @decorators.idempotent_id(\u0027ab980a34-8410-40eb-872b-f264752f46e5\u0027)"},{"line_number":104,"context_line":"    def test_create_protected_image(self):"},{"line_number":105,"context_line":"        # Create a protected image"},{"line_number":106,"context_line":"        image \u003d self.create_image(protected\u003dTrue)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_9437b7e2","line":104,"range":{"start_line":104,"start_character":8,"end_line":104,"end_character":35},"updated":"2017-02-20 08:36:08.000000000","message":"will it look better to rename to test_delete_protected_image?","commit_id":"1ac8c75fea209d4cac5c8475715e5c94c5cfe20d"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"547a1fde32ecee27e63a44132ca1a7ad9d712ccc","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"},{"line_number":103,"context_line":"    @decorators.idempotent_id(\u0027ab980a34-8410-40eb-872b-f264752f46e5\u0027)"},{"line_number":104,"context_line":"    def test_create_protected_image(self):"},{"line_number":105,"context_line":"        # Create a protected image"},{"line_number":106,"context_line":"        image \u003d self.create_image(protected\u003dTrue)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_9465f7e2","line":104,"range":{"start_line":104,"start_character":8,"end_line":104,"end_character":35},"in_reply_to":"da36d5c6_9437b7e2","updated":"2017-02-20 08:38:10.000000000","message":"Yes, I\u0027ll do it","commit_id":"1ac8c75fea209d4cac5c8475715e5c94c5cfe20d"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b410dac8f1159c8422b79fe31a324d28813a3569","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # Update image for being deletable"},{"line_number":114,"context_line":"        self.client.update_image(image[\u0027id\u0027], ["},{"line_number":115,"context_line":"            dict(replace\u003d\"/protected\", value\u003dFalse)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_d82070fa","line":115,"updated":"2017-02-20 18:24:17.000000000","message":"I think this thing should be moved to just after create_image() and should be addCleanup(). Because when assertRaises() raises an exception or error, the image can not be deleted.","commit_id":"cf484bf9a75d070da4707300d75e2c7555d82169"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"59dd33a7cd10874cbf0f6a1fb3155c587294e6e2","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # Update image for being deletable"},{"line_number":114,"context_line":"        self.client.update_image(image[\u0027id\u0027], ["},{"line_number":115,"context_line":"            dict(replace\u003d\"/protected\", value\u003dFalse)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"da36d5c6_334feebe","line":115,"in_reply_to":"da36d5c6_d82070fa","updated":"2017-02-20 19:35:08.000000000","message":"Right thanks, done","commit_id":"cf484bf9a75d070da4707300d75e2c7555d82169"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c9ff1ace2db5134fadce49b4d9dc512d3a594512","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        ** delete non-existent image"},{"line_number":33,"context_line":"        ** delete image with image_id\u003dNULL"},{"line_number":34,"context_line":"        ** delete the deleted image"},{"line_number":35,"context_line":"     \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"},{"line_number":38,"context_line":"    @decorators.idempotent_id(\u0027668743d5-08ad-4480-b2b8-15da34f81d9f\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_c13e1c8a","line":35,"range":{"start_line":35,"start_character":5,"end_line":35,"end_character":8},"updated":"2017-03-27 23:30:46.000000000","message":"nit: Add test description here","commit_id":"0884488802a75242304fe78fff871451d7631da4"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"c9ff1ace2db5134fadce49b4d9dc512d3a594512","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"},{"line_number":103,"context_line":"    @decorators.idempotent_id(\u0027ab980a34-8410-40eb-872b-f264752f46e5\u0027)"},{"line_number":104,"context_line":"    def test_delete_protected_image(self):"},{"line_number":105,"context_line":"        # Create a protected image"},{"line_number":106,"context_line":"        image \u003d self.create_image(protected\u003dTrue)"},{"line_number":107,"context_line":"        self.addCleanup(self.client.update_image, image[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_21e1482b","line":104,"range":{"start_line":104,"start_character":4,"end_line":104,"end_character":42},"updated":"2017-03-27 23:30:46.000000000","message":"nit: Move test case to line 85 so that all test_delete* test cases are grouped together.","commit_id":"0884488802a75242304fe78fff871451d7631da4"}]}
