)]}'
{"cinder/tests/unit/api/v3/test_volume_protection.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"350331aaaa89bf369b7de1d42d03765fbef34fa0","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        self.assertEqual(http_client.NOT_FOUND, response.status_int)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def test_admin_can_extend_volume(self):"},{"line_number":643,"context_line":"        # Make sure administrators are authorized to crud metadata"},{"line_number":644,"context_line":"        admin_context \u003d self.admin_context"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        volume \u003d self._create_fake_volume(admin_context, metadata\u003d{\"k\": \"v\"})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_2441f037","line":643,"range":{"start_line":643,"start_character":8,"end_line":643,"end_character":66},"updated":"2018-11-27 07:42:05.000000000","message":"copy paste mistake?\n# Make sure administrators are authorized to extend volume","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a867366aa9e47c14532f409f7c6e9021c3eb44bb","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        self.assertEqual(http_client.NOT_FOUND, response.status_int)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def test_admin_can_extend_volume(self):"},{"line_number":643,"context_line":"        # Make sure administrators are authorized to crud metadata"},{"line_number":644,"context_line":"        admin_context \u003d self.admin_context"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        volume \u003d self._create_fake_volume(admin_context, metadata\u003d{\"k\": \"v\"})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_297b80d0","line":643,"range":{"start_line":643,"start_character":8,"end_line":643,"end_character":66},"in_reply_to":"3f79a3b5_2441f037","updated":"2018-12-04 09:20:36.000000000","message":"Done","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"350331aaaa89bf369b7de1d42d03765fbef34fa0","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def test_owner_can_extend_volume(self):"},{"line_number":657,"context_line":"        # Make sure owners are authorized to crud metadata"},{"line_number":658,"context_line":"        user_context \u003d self.user_context"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"        volume \u003d self._create_fake_volume(user_context, metadata\u003d{\"k\": \"v\"})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_443c2cbc","line":657,"range":{"start_line":657,"start_character":8,"end_line":657,"end_character":58},"updated":"2018-11-27 07:42:05.000000000","message":"same","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a867366aa9e47c14532f409f7c6e9021c3eb44bb","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def test_owner_can_extend_volume(self):"},{"line_number":657,"context_line":"        # Make sure owners are authorized to crud metadata"},{"line_number":658,"context_line":"        user_context \u003d self.user_context"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"        volume \u003d self._create_fake_volume(user_context, metadata\u003d{\"k\": \"v\"})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c989acc8","line":657,"range":{"start_line":657,"start_character":8,"end_line":657,"end_character":58},"in_reply_to":"3f79a3b5_443c2cbc","updated":"2018-12-04 09:20:36.000000000","message":"Done","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"350331aaaa89bf369b7de1d42d03765fbef34fa0","unresolved":false,"context_lines":[{"line_number":668,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":669,"context_line":""},{"line_number":670,"context_line":"    def test_owner_cannot_extend_volume_for_others(self):"},{"line_number":671,"context_line":"        # Make sure volume metadata cannot be crud by other users"},{"line_number":672,"context_line":"        user_context \u003d self.user_context"},{"line_number":673,"context_line":"        non_owner_context \u003d self.other_user_context"},{"line_number":674,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e470d8a9","line":671,"range":{"start_line":671,"start_character":8,"end_line":671,"end_character":65},"updated":"2018-11-27 07:42:05.000000000","message":"same","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a867366aa9e47c14532f409f7c6e9021c3eb44bb","unresolved":false,"context_lines":[{"line_number":668,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":669,"context_line":""},{"line_number":670,"context_line":"    def test_owner_cannot_extend_volume_for_others(self):"},{"line_number":671,"context_line":"        # Make sure volume metadata cannot be crud by other users"},{"line_number":672,"context_line":"        user_context \u003d self.user_context"},{"line_number":673,"context_line":"        non_owner_context \u003d self.other_user_context"},{"line_number":674,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e984a8b1","line":671,"range":{"start_line":671,"start_character":8,"end_line":671,"end_character":65},"in_reply_to":"3f79a3b5_e470d8a9","updated":"2018-12-04 09:20:36.000000000","message":"Done","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d1886a67a74c8a34157cee1e107020bf8ecb997d","unresolved":false,"context_lines":[{"line_number":799,"context_line":""},{"line_number":800,"context_line":"        volume \u003d self._create_fake_volume("},{"line_number":801,"context_line":"            user_context, admin_metadata\u003d{\"readonly\": \"False\"})"},{"line_number":802,"context_line":"        vol_type \u003d self._create_fake_type(user_context)"},{"line_number":803,"context_line":"        path \u003d \u0027/v3/%(project_id)s/volumes/%(volume_id)s/action\u0027 % {"},{"line_number":804,"context_line":"            \u0027project_id\u0027: user_context.project_id, \u0027volume_id\u0027: volume.id"},{"line_number":805,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_81555621","line":802,"range":{"start_line":802,"start_character":0,"end_line":802,"end_character":55},"updated":"2018-11-27 07:36:32.000000000","message":"this doesn\u0027t seem needed here","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a867366aa9e47c14532f409f7c6e9021c3eb44bb","unresolved":false,"context_lines":[{"line_number":799,"context_line":""},{"line_number":800,"context_line":"        volume \u003d self._create_fake_volume("},{"line_number":801,"context_line":"            user_context, admin_metadata\u003d{\"readonly\": \"False\"})"},{"line_number":802,"context_line":"        vol_type \u003d self._create_fake_type(user_context)"},{"line_number":803,"context_line":"        path \u003d \u0027/v3/%(project_id)s/volumes/%(volume_id)s/action\u0027 % {"},{"line_number":804,"context_line":"            \u0027project_id\u0027: user_context.project_id, \u0027volume_id\u0027: volume.id"},{"line_number":805,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_4996fcf0","line":802,"range":{"start_line":802,"start_character":0,"end_line":802,"end_character":55},"in_reply_to":"3f79a3b5_81555621","updated":"2018-12-04 09:20:36.000000000","message":"Done","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d1886a67a74c8a34157cee1e107020bf8ecb997d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3f79a3b5_2150022d","line":828,"updated":"2018-11-27 07:36:32.000000000","message":"add a new line","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a867366aa9e47c14532f409f7c6e9021c3eb44bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3f79a3b5_e99d88fd","line":828,"in_reply_to":"3f79a3b5_2150022d","updated":"2018-12-04 09:20:36.000000000","message":"Done","commit_id":"f97d39ea37b943d7c7442e1b13f22ff606d99afb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b091b2e6ccce0a3eb3e5d7ad784a059306c2cfcd","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                                              body\u003dbody)"},{"line_number":731,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"    def test_owner_cannot_extend_volume_for_others(self):"},{"line_number":734,"context_line":"        # Make sure volume cannot be extended by other users"},{"line_number":735,"context_line":"        user_context \u003d self.user_context"},{"line_number":736,"context_line":"        non_owner_context \u003d self.other_user_context"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_1ac91923","line":733,"updated":"2018-12-04 15:28:05.000000000","message":"The default is base.RULE_ADMIN_OR_OWNER, but this test still passes for me locally when I change the default to unrestricted (\"\").  So the policy isn\u0027t what\u0027s making this test succeed, it\u0027s being managed elsewhere in the code.  I don\u0027t think this test should be included here.","commit_id":"40622c9dad9a47d6b64424133fa7a9c7f9c53967"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"08f41b864674a03758bb809b65808baa51a7ec15","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                                              body\u003dbody)"},{"line_number":731,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"    def test_owner_cannot_extend_volume_for_others(self):"},{"line_number":734,"context_line":"        # Make sure volume cannot be extended by other users"},{"line_number":735,"context_line":"        user_context \u003d self.user_context"},{"line_number":736,"context_line":"        non_owner_context \u003d self.other_user_context"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_28511a32","line":733,"in_reply_to":"3f79a3b5_1ac91923","updated":"2018-12-05 08:03:39.000000000","message":"Done","commit_id":"40622c9dad9a47d6b64424133fa7a9c7f9c53967"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b091b2e6ccce0a3eb3e5d7ad784a059306c2cfcd","unresolved":false,"context_lines":[{"line_number":775,"context_line":"            microversion\u003dmv.VOLUME_EXTEND_INUSE)"},{"line_number":776,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"    def test_owner_cannot_extend_attached_volume_for_others(self):"},{"line_number":779,"context_line":"        # Make sure attached volume cannot be extend by other users"},{"line_number":780,"context_line":"        user_context \u003d self.user_context"},{"line_number":781,"context_line":"        non_owner_context \u003d self.other_user_context"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_d5d4d24e","line":778,"updated":"2018-12-04 15:28:05.000000000","message":"See comment on line 733.","commit_id":"40622c9dad9a47d6b64424133fa7a9c7f9c53967"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"08f41b864674a03758bb809b65808baa51a7ec15","unresolved":false,"context_lines":[{"line_number":775,"context_line":"            microversion\u003dmv.VOLUME_EXTEND_INUSE)"},{"line_number":776,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"    def test_owner_cannot_extend_attached_volume_for_others(self):"},{"line_number":779,"context_line":"        # Make sure attached volume cannot be extend by other users"},{"line_number":780,"context_line":"        user_context \u003d self.user_context"},{"line_number":781,"context_line":"        non_owner_context \u003d self.other_user_context"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_484c9696","line":778,"in_reply_to":"3f79a3b5_d5d4d24e","updated":"2018-12-05 08:03:39.000000000","message":"Done","commit_id":"40622c9dad9a47d6b64424133fa7a9c7f9c53967"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b091b2e6ccce0a3eb3e5d7ad784a059306c2cfcd","unresolved":false,"context_lines":[{"line_number":823,"context_line":"            user_context, path, \u0027POST\u0027, body\u003dbody)"},{"line_number":824,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    def test_owner_cannot_retype_volume_for_others(self):"},{"line_number":827,"context_line":"        # Make sure volume cannot be retyped by other users"},{"line_number":828,"context_line":"        user_context \u003d self.user_context"},{"line_number":829,"context_line":"        non_owner_context \u003d self.other_user_context"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_75cdbeb7","line":826,"updated":"2018-12-04 15:28:05.000000000","message":"See comment on line 733.","commit_id":"40622c9dad9a47d6b64424133fa7a9c7f9c53967"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"08f41b864674a03758bb809b65808baa51a7ec15","unresolved":false,"context_lines":[{"line_number":823,"context_line":"            user_context, path, \u0027POST\u0027, body\u003dbody)"},{"line_number":824,"context_line":"        self.assertEqual(http_client.ACCEPTED, response.status_int)"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    def test_owner_cannot_retype_volume_for_others(self):"},{"line_number":827,"context_line":"        # Make sure volume cannot be retyped by other users"},{"line_number":828,"context_line":"        user_context \u003d self.user_context"},{"line_number":829,"context_line":"        non_owner_context \u003d self.other_user_context"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_e828029f","line":826,"in_reply_to":"3f79a3b5_75cdbeb7","updated":"2018-12-05 08:03:39.000000000","message":"Done","commit_id":"40622c9dad9a47d6b64424133fa7a9c7f9c53967"}]}
