)]}'
{"nova/tests/unit/api/openstack/compute/test_shelve.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"81c2014ca0ebaee405060d0cd806fb9402e85d5e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.controller \u003d self.plugin.ShelveController()"},{"line_number":39,"context_line":"        self.req \u003d fakes.HTTPRequest.blank(\u0027\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_shelve_restricted_by_role(self):"},{"line_number":42,"context_line":"        rules \u003d {\u0027compute_extension:%sshelve\u0027 % self.prefix: \u0027role:admin\u0027}"},{"line_number":43,"context_line":"        policy.set_rules(oslo_policy.Rules.from_dict(rules))"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_073bd639","side":"PARENT","line":41,"updated":"2016-08-12 08:43:46.000000000","message":"Nit: a bit confusing to move these ones.","commit_id":"54235cbe764feea338c5b1f7adf6fd5d39bd501a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"81c2014ca0ebaee405060d0cd806fb9402e85d5e","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        get_instance_mock.return_value \u003d ("},{"line_number":92,"context_line":"            fake_instance.fake_instance_obj(self.req.environ[\u0027nova.context\u0027]))"},{"line_number":93,"context_line":"        rule_name \u003d \"os_compute_api:os-shelve:shelve\""},{"line_number":94,"context_line":"        self.policy.set_rules({rule_name: \"project_id:%(project_id)s\"})"},{"line_number":95,"context_line":"        # Change the project_id in request context."},{"line_number":96,"context_line":"        self.req.environ[\u0027nova.context\u0027].project_id \u003d \u0027other-project\u0027"},{"line_number":97,"context_line":"        exc \u003d self.assertRaises("}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_a7baca6f","line":94,"updated":"2016-08-12 08:43:46.000000000","message":"Nit: tempting to leave the default policy for these.","commit_id":"af4552cba852c71842a0626697ae64fb1f83d6f5"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"81c2014ca0ebaee405060d0cd806fb9402e85d5e","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @mock.patch(\u0027nova.compute.api.API.shelve\u0027)"},{"line_number":106,"context_line":"    @mock.patch(\u0027nova.api.openstack.common.get_instance\u0027)"},{"line_number":107,"context_line":"    def test_shelve_overridden_policy_pass_with_same_project(self,"},{"line_number":108,"context_line":"                                                             get_instance_mock,"},{"line_number":109,"context_line":"                                                             shelve_mock):"},{"line_number":110,"context_line":"        instance \u003d fake_instance.fake_instance_obj("}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_47f82e4a","line":107,"updated":"2016-08-12 08:43:46.000000000","message":"Seems like a duplicate, but its fine.","commit_id":"af4552cba852c71842a0626697ae64fb1f83d6f5"}]}
