)]}'
{"nova/tests/unit/api/openstack/compute/test_block_device_mapping_v1.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"39c41acee32cf79c5df8c66999efd283890233c0","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            \u0027volume_image_metadata\u0027:"},{"line_number":122,"context_line":"                {\u0027test_key\u0027: \u0027test_value\u0027}"},{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":"        mock_get_bdm_image_metadata.return_value \u003d volume"},{"line_number":125,"context_line":"        params \u003d {\u0027block_device_mapping\u0027: self.bdm}"},{"line_number":126,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_e1a32cb0","line":124,"range":{"start_line":124,"start_character":7,"end_line":124,"end_character":57},"updated":"2016-04-21 06:27:06.000000000","message":"we should assert _get_bdm_image_meatadata has been called once with self.bdm to match the original test case, right?","commit_id":"98e832aef25d1d579d928d996e26e466d2f4928e"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"f1d6b56ed597a74ac18f9c97e7b8d768b88a1886","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            \u0027volume_image_metadata\u0027:"},{"line_number":122,"context_line":"                {\u0027test_key\u0027: \u0027test_value\u0027}"},{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":"        mock_get_bdm_image_metadata.return_value \u003d volume"},{"line_number":125,"context_line":"        params \u003d {\u0027block_device_mapping\u0027: self.bdm}"},{"line_number":126,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_cf3c4ae3","line":124,"range":{"start_line":124,"start_character":7,"end_line":124,"end_character":57},"in_reply_to":"1a122d0e_af074ec8","updated":"2016-04-21 11:48:43.000000000","message":"Hmm, I see.","commit_id":"98e832aef25d1d579d928d996e26e466d2f4928e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"426caaa3c1144553fbd86a06dd18de58bb491db4","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            \u0027volume_image_metadata\u0027:"},{"line_number":122,"context_line":"                {\u0027test_key\u0027: \u0027test_value\u0027}"},{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":"        mock_get_bdm_image_metadata.return_value \u003d volume"},{"line_number":125,"context_line":"        params \u003d {\u0027block_device_mapping\u0027: self.bdm}"},{"line_number":126,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_af074ec8","line":124,"range":{"start_line":124,"start_character":7,"end_line":124,"end_character":57},"in_reply_to":"1a122d0e_e1a32cb0","updated":"2016-04-21 11:35:01.000000000","message":"It is asserted whether self.bdm is used or not in line 129.\nWhether self.bdm is passed to _get_bdm_image_meatadata or not is about nova.compute.api.API class, not the class to test.\nThis is a unit test.","commit_id":"98e832aef25d1d579d928d996e26e466d2f4928e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"426caaa3c1144553fbd86a06dd18de58bb491db4","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        old_create \u003d compute_api.API.create"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        def create(*args, **kwargs):"},{"line_number":129,"context_line":"            self.assertEqual(kwargs[\u0027block_device_mapping\u0027], self.bdm)"},{"line_number":130,"context_line":"            self.assertNotIn(\u0027imageRef\u0027, kwargs)"},{"line_number":131,"context_line":"            return old_create(*args, **kwargs)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_2ffcdeb6","line":129,"range":{"start_line":129,"start_character":12,"end_line":129,"end_character":70},"updated":"2016-04-21 11:35:01.000000000","message":"Here.","commit_id":"98e832aef25d1d579d928d996e26e466d2f4928e"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"c20ffb110384843d7b03f96fa0d3ea5894cd6c5b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        else:"},{"line_number":95,"context_line":"            self.controller.create(req, body\u003dbody).obj[\u0027server\u0027]"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027)"},{"line_number":98,"context_line":"    def test_create_instance_with_volumes_enabled(self, mock_validate_bdm):"},{"line_number":99,"context_line":"        params \u003d {\u0027block_device_mapping\u0027: self.bdm}"},{"line_number":100,"context_line":"        old_create \u003d compute_api.API.create"}],"source_content_type":"text/x-python","patch_set":19,"id":"bacf61ea_8a60c0d0","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":56},"updated":"2016-07-31 21:13:54.000000000","message":"why you are not checking this mock calls here?","commit_id":"8ee529995e737b24a251409928dff222a29bb11e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5eb9622966c3922d01faac6306194d1b9d06639a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        else:"},{"line_number":95,"context_line":"            self.controller.create(req, body\u003dbody).obj[\u0027server\u0027]"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027)"},{"line_number":98,"context_line":"    def test_create_instance_with_volumes_enabled(self, mock_validate_bdm):"},{"line_number":99,"context_line":"        params \u003d {\u0027block_device_mapping\u0027: self.bdm}"},{"line_number":100,"context_line":"        old_create \u003d compute_api.API.create"}],"source_content_type":"text/x-python","patch_set":19,"id":"bacf61ea_057a0177","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":56},"in_reply_to":"bacf61ea_8a60c0d0","updated":"2016-07-31 23:53:34.000000000","message":"Because it is not checked in the previous code.","commit_id":"8ee529995e737b24a251409928dff222a29bb11e"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"c20ffb110384843d7b03f96fa0d3ea5894cd6c5b","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    def test_create_instance_with_size_greater_than_limit(self):"},{"line_number":267,"context_line":"        self._test_create_instance_with_size_error(db.MAX_INT + 1)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027)"},{"line_number":270,"context_line":"    def test_create_instance_with_bdm_delete_on_termination(self,"},{"line_number":271,"context_line":"                                                            mock_validate_bdm):"},{"line_number":272,"context_line":"        bdm \u003d [{\u0027device_name\u0027: \u0027foo1\u0027, \u0027volume_id\u0027: fakes.FAKE_UUID,"}],"source_content_type":"text/x-python","patch_set":19,"id":"bacf61ea_6a5d8c14","line":269,"range":{"start_line":269,"start_character":0,"end_line":269,"end_character":56},"updated":"2016-07-31 21:13:54.000000000","message":"and here?","commit_id":"8ee529995e737b24a251409928dff222a29bb11e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5eb9622966c3922d01faac6306194d1b9d06639a","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    def test_create_instance_with_size_greater_than_limit(self):"},{"line_number":267,"context_line":"        self._test_create_instance_with_size_error(db.MAX_INT + 1)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027)"},{"line_number":270,"context_line":"    def test_create_instance_with_bdm_delete_on_termination(self,"},{"line_number":271,"context_line":"                                                            mock_validate_bdm):"},{"line_number":272,"context_line":"        bdm \u003d [{\u0027device_name\u0027: \u0027foo1\u0027, \u0027volume_id\u0027: fakes.FAKE_UUID,"}],"source_content_type":"text/x-python","patch_set":19,"id":"bacf61ea_459879c0","line":269,"range":{"start_line":269,"start_character":0,"end_line":269,"end_character":56},"in_reply_to":"bacf61ea_6a5d8c14","updated":"2016-07-31 23:53:34.000000000","message":"ditto","commit_id":"8ee529995e737b24a251409928dff222a29bb11e"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"c20ffb110384843d7b03f96fa0d3ea5894cd6c5b","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":301,"context_line":"        self._test_create(params)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027)"},{"line_number":304,"context_line":"    def test_create_instance_decide_format_legacy(self, mock_validate_bdm):"},{"line_number":305,"context_line":"        ext_info \u003d extension_info.LoadedExtensionInfo()"},{"line_number":306,"context_line":"        CONF.set_override(\u0027extensions_blacklist\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"bacf61ea_aaa144fa","line":303,"range":{"start_line":303,"start_character":4,"end_line":303,"end_character":56},"updated":"2016-07-31 21:13:54.000000000","message":"and here?","commit_id":"8ee529995e737b24a251409928dff222a29bb11e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5eb9622966c3922d01faac6306194d1b9d06639a","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":301,"context_line":"        self._test_create(params)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027)"},{"line_number":304,"context_line":"    def test_create_instance_decide_format_legacy(self, mock_validate_bdm):"},{"line_number":305,"context_line":"        ext_info \u003d extension_info.LoadedExtensionInfo()"},{"line_number":306,"context_line":"        CONF.set_override(\u0027extensions_blacklist\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"bacf61ea_25958586","line":303,"range":{"start_line":303,"start_character":4,"end_line":303,"end_character":56},"in_reply_to":"bacf61ea_aaa144fa","updated":"2016-07-31 23:53:34.000000000","message":"ditto","commit_id":"8ee529995e737b24a251409928dff222a29bb11e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"eb0c47f897f728859020a52750fb364155db7c48","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            self.assertEqual(kwargs[\u0027block_device_mapping\u0027], self.bdm)"},{"line_number":104,"context_line":"            return old_create(*args, **kwargs)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":107,"context_line":"        self._test_create(params)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"1a6eadb0_938e1c26","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":60},"updated":"2016-12-12 15:09:19.000000000","message":"So I know for my own record, we could also do this by way of \u0027@mock.patch.object\u0027 and \u0027side_effect\u0027, right?","commit_id":"0e61dd9405622c0596eeebf7b16ccf3668b35156"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"62edd060219e7704de5a3ef77354809ab5c5dd31","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":107,"context_line":"        self._test_create(params)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027,"},{"line_number":110,"context_line":"                       return_value\u003dTrue)"},{"line_number":111,"context_line":"    @mock.patch.object(compute_api.API, \u0027_get_bdm_image_metadata\u0027)"},{"line_number":112,"context_line":"    def test_create_instance_with_volumes_enabled_and_bdms_no_image("},{"line_number":113,"context_line":"        self, mock_get_bdm_image_metadata, mock_validate_bdm):"}],"source_content_type":"text/x-python","patch_set":40,"id":"da4df55a_e3436840","line":110,"range":{"start_line":109,"start_character":0,"end_line":110,"end_character":41},"updated":"2016-12-27 06:57:47.000000000","message":"According to https://github.com/openstack/nova/blob/master/nova/compute/api.py#L1332 the mocked method doesn\u0027t return any value. So why do we need to add return_value here?","commit_id":"0ca3f3ffdcd984b937cd44318eb67506cfc69140"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7b64129c2fba6e04a8e25aa4d6845bf34e9fe67b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":107,"context_line":"        self._test_create(params)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    @mock.patch.object(compute_api.API, \u0027_validate_bdm\u0027,"},{"line_number":110,"context_line":"                       return_value\u003dTrue)"},{"line_number":111,"context_line":"    @mock.patch.object(compute_api.API, \u0027_get_bdm_image_metadata\u0027)"},{"line_number":112,"context_line":"    def test_create_instance_with_volumes_enabled_and_bdms_no_image("},{"line_number":113,"context_line":"        self, mock_get_bdm_image_metadata, mock_validate_bdm):"}],"source_content_type":"text/x-python","patch_set":40,"id":"da4df55a_7ea8ef8d","line":110,"range":{"start_line":109,"start_character":0,"end_line":110,"end_character":41},"in_reply_to":"da4df55a_e3436840","updated":"2016-12-27 09:10:57.000000000","message":"Removed \u0027return_value\u0027.\nDone.","commit_id":"0ca3f3ffdcd984b937cd44318eb67506cfc69140"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"62edd060219e7704de5a3ef77354809ab5c5dd31","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":133,"context_line":"        self._test_create(params, no_image\u003dTrue)"},{"line_number":134,"context_line":"        mock_validate_bdm.assert_called_once_with(mock.ANY, mock.ANY,"},{"line_number":135,"context_line":"                                                  mock.ANY, mock.ANY)"},{"line_number":136,"context_line":"        mock_get_bdm_image_metadata.assert_called_once_with("},{"line_number":137,"context_line":"            mock.ANY, self.bdm, True)"}],"source_content_type":"text/x-python","patch_set":40,"id":"da4df55a_234ad055","line":134,"range":{"start_line":134,"start_character":8,"end_line":134,"end_character":49},"updated":"2016-12-27 06:57:47.000000000","message":"Why this patch doesn\u0027t add assert_called_once_with() to this mocked method in the other tests?","commit_id":"0ca3f3ffdcd984b937cd44318eb67506cfc69140"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7b64129c2fba6e04a8e25aa4d6845bf34e9fe67b","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        self.stub_out(\u0027nova.compute.api.API.create\u0027, create)"},{"line_number":133,"context_line":"        self._test_create(params, no_image\u003dTrue)"},{"line_number":134,"context_line":"        mock_validate_bdm.assert_called_once_with(mock.ANY, mock.ANY,"},{"line_number":135,"context_line":"                                                  mock.ANY, mock.ANY)"},{"line_number":136,"context_line":"        mock_get_bdm_image_metadata.assert_called_once_with("},{"line_number":137,"context_line":"            mock.ANY, self.bdm, True)"}],"source_content_type":"text/x-python","patch_set":40,"id":"da4df55a_a47a4675","line":134,"range":{"start_line":134,"start_character":8,"end_line":134,"end_character":49},"in_reply_to":"da4df55a_234ad055","updated":"2016-12-27 09:10:57.000000000","message":"Moved \u0027mock_validate_bdm\u0027 to \u0027_test_create\u0027 method and assert calling there.\nDone.","commit_id":"0ca3f3ffdcd984b937cd44318eb67506cfc69140"}]}
