)]}'
{"openstackclient/image/v2/image.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"85666b5b4fedfe780c0506a1ec3f5f7a5e28adf1","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        if parsed_args.owner:"},{"line_number":273,"context_line":"            kwargs[\u0027owner\u0027] \u003d utils.find_resource("},{"line_number":274,"context_line":"                identity_client.projects,"},{"line_number":275,"context_line":"                parsed_args.owner,"},{"line_number":276,"context_line":"            ).id"},{"line_number":277,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_146d3104","line":274,"updated":"2015-11-24 22:35:19.000000000","message":"project name is not unique across domain.. we need to provide an option to user to specify the domain name too and use that for lookup.\n\nSee code below for reference:\n\nhttps://github.com/openstack/python-openstackclient/blob/master/openstackclient/identity/v3/role_assignment.py#L66\n\nhttps://github.com/openstack/python-openstackclient/blob/master/openstackclient/identity/v3/role_assignment.py#L105","commit_id":"50a5ac3aaf1c967e58b2cf9fc7e70e3cb153a9ff"}],"openstackclient/tests/image/v2/test_image.py":[{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"4cc9234046024d0fe32a762b7efbbecd96437a11","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            copy.deepcopy(identity_fakes.DOMAIN),"},{"line_number":65,"context_line":"            loaded\u003dTrue,"},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # This is the return value for utils.find_resource()"},{"line_number":69,"context_line":"        self.images_mock.get.return_value \u003d copy.deepcopy(image_fakes.IMAGE)"},{"line_number":70,"context_line":"        self.images_mock.update.return_value \u003d fakes.FakeResource("}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_ca6e0bc9","line":67,"updated":"2015-11-25 11:01:54.000000000","message":"Would it be useful to add this to TestImage as it is duplicated in this code?","commit_id":"5b87ad0f82a2357047f645ccf9d39c58eca2b20c"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"08a3a6f3a44e5713474f0e119043f399f302a611","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            copy.deepcopy(identity_fakes.DOMAIN),"},{"line_number":65,"context_line":"            loaded\u003dTrue,"},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # This is the return value for utils.find_resource()"},{"line_number":69,"context_line":"        self.images_mock.get.return_value \u003d copy.deepcopy(image_fakes.IMAGE)"},{"line_number":70,"context_line":"        self.images_mock.update.return_value \u003d fakes.FakeResource("}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_d6823200","line":67,"in_reply_to":"9a8ffd7b_4dbf95fb","updated":"2015-11-25 12:13:19.000000000","message":"Ah yeah I missed that.","commit_id":"5b87ad0f82a2357047f645ccf9d39c58eca2b20c"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"9fc2feadd757dd7e76b07d8e8204fd3d00f8da3e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            copy.deepcopy(identity_fakes.DOMAIN),"},{"line_number":65,"context_line":"            loaded\u003dTrue,"},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # This is the return value for utils.find_resource()"},{"line_number":69,"context_line":"        self.images_mock.get.return_value \u003d copy.deepcopy(image_fakes.IMAGE)"},{"line_number":70,"context_line":"        self.images_mock.update.return_value \u003d fakes.FakeResource("}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_4dbf95fb","line":67,"in_reply_to":"9a8ffd7b_ca6e0bc9","updated":"2015-11-25 11:21:42.000000000","message":"It sounds like a implicit style for the testing code:\nall *.return_value are added in the subclass but superclass, and each subclass only tests one facet of the feature.","commit_id":"5b87ad0f82a2357047f645ccf9d39c58eca2b20c"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"a365affaf0daccbffff2991df11e8994caf2c883","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def test_image_create_with_unexist_owner(self):"},{"line_number":175,"context_line":"        self.project_mock.get.side_effect \u003d exceptions.NotFound("},{"line_number":176,"context_line":"            \u0027Invalid owner\u0027)"},{"line_number":177,"context_line":"        self.project_mock.find.side_effect \u003d exceptions.NotFound("},{"line_number":178,"context_line":"            \u0027Invalid owner\u0027)"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_1a958b31","line":176,"updated":"2015-11-30 10:38:27.000000000","message":"the value here doesn\u0027t matter.\n\nfor consistency set it to None too, similar to your other patch","commit_id":"8aeacd7e0d957a0a363b372f0e3b72d61a21119b"}]}
