)]}'
{"cinder/tests/unit/attachments/test_attachments_manager.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        attachment_ref \u003d db.volume_attach(self.context, values)"},{"line_number":88,"context_line":"        with mock.patch.object("},{"line_number":89,"context_line":"                self.manager, \u0027_notify_about_volume_usage\u0027,"},{"line_number":90,"context_line":"                return_value\u003dNone), mock.patch.object("},{"line_number":91,"context_line":"                self.manager.driver, \u0027attach_volume\u0027) as mock_driver:"},{"line_number":92,"context_line":"            expected \u003d {"},{"line_number":93,"context_line":"                \u0027encrypted\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_3f7fe2e0","line":90,"updated":"2017-06-05 12:07:40.000000000","message":"nit: I believe this is the only acceptable case to use \\ to split multi-lines, as this way of writing the multi-context manager is harder to read","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        attachment_ref \u003d db.volume_attach(self.context, values)"},{"line_number":88,"context_line":"        with mock.patch.object("},{"line_number":89,"context_line":"                self.manager, \u0027_notify_about_volume_usage\u0027,"},{"line_number":90,"context_line":"                return_value\u003dNone), mock.patch.object("},{"line_number":91,"context_line":"                self.manager.driver, \u0027attach_volume\u0027) as mock_driver:"},{"line_number":92,"context_line":"            expected \u003d {"},{"line_number":93,"context_line":"                \u0027encrypted\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_5f65f644","line":90,"range":{"start_line":90,"start_character":16,"end_line":90,"end_character":34},"updated":"2017-06-05 12:07:40.000000000","message":"nit: there\u0027s no need to define the return value","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        with mock.patch.object("},{"line_number":89,"context_line":"                self.manager, \u0027_notify_about_volume_usage\u0027,"},{"line_number":90,"context_line":"                return_value\u003dNone), mock.patch.object("},{"line_number":91,"context_line":"                self.manager.driver, \u0027attach_volume\u0027) as mock_driver:"},{"line_number":92,"context_line":"            expected \u003d {"},{"line_number":93,"context_line":"                \u0027encrypted\u0027: False,"},{"line_number":94,"context_line":"                \u0027qos_specs\u0027: None,"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_1f82dec8","line":91,"range":{"start_line":91,"start_character":57,"end_line":91,"end_character":68},"updated":"2017-06-05 12:07:40.000000000","message":"nit: mock_attach","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            mock_driver.assert_called_once_with(self.context,"},{"line_number":106,"context_line":"                                                vref,"},{"line_number":107,"context_line":"                                                attachment_ref.instance_uuid,"},{"line_number":108,"context_line":"                                                \"tempest-1\","},{"line_number":109,"context_line":"                                                \"na\")"},{"line_number":110,"context_line":"            new_attachment_ref \u003d db.volume_attachment_get(self.context,"},{"line_number":111,"context_line":"                                                          attachment_ref.id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_3ff6c264","line":108,"range":{"start_line":108,"start_character":48,"end_line":108,"end_character":59},"updated":"2017-06-05 12:07:40.000000000","message":"nit: connector[\u0027host\u0027]","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                                                \"na\")"},{"line_number":110,"context_line":"            new_attachment_ref \u003d db.volume_attachment_get(self.context,"},{"line_number":111,"context_line":"                                                          attachment_ref.id)"},{"line_number":112,"context_line":"            for attr, expected in ((\u0027instance_uuid\u0027,"},{"line_number":113,"context_line":"                                    attachment_ref.instance_uuid),"},{"line_number":114,"context_line":"                                   (\u0027attached_host\u0027, connector[\u0027host\u0027]),"},{"line_number":115,"context_line":"                                   (\u0027mountpoint\u0027, \u0027na\u0027),"},{"line_number":116,"context_line":"                                   (\u0027attach_mode\u0027, \u0027rw\u0027)):"},{"line_number":117,"context_line":"                self.assertEqual(expected, new_attachment_ref[attr])"},{"line_number":118,"context_line":"            new_volume_ref \u003d db.volume_get(self.context,"},{"line_number":119,"context_line":"                                           vref.id)"},{"line_number":120,"context_line":"            self.assertEqual(\u0027in-use\u0027, new_volume_ref[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_3fbec2b3","line":117,"range":{"start_line":112,"start_character":0,"end_line":117,"end_character":68},"updated":"2017-06-05 12:07:40.000000000","message":"nit: It would be clearer as a series of 4 self.assertEqual calls","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                                   (\u0027attach_mode\u0027, \u0027rw\u0027)):"},{"line_number":117,"context_line":"                self.assertEqual(expected, new_attachment_ref[attr])"},{"line_number":118,"context_line":"            new_volume_ref \u003d db.volume_get(self.context,"},{"line_number":119,"context_line":"                                           vref.id)"},{"line_number":120,"context_line":"            self.assertEqual(\u0027in-use\u0027, new_volume_ref[\u0027status\u0027])"},{"line_number":121,"context_line":"            self.assertEqual(fields.VolumeAttachStatus.ATTACHED,"},{"line_number":122,"context_line":"                             new_volume_ref[\u0027attach_status\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_dffc6671","line":119,"updated":"2017-06-05 12:07:40.000000000","message":"nit: no need for 2 lines","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                self.assertEqual(expected, new_attachment_ref[attr])"},{"line_number":118,"context_line":"            new_volume_ref \u003d db.volume_get(self.context,"},{"line_number":119,"context_line":"                                           vref.id)"},{"line_number":120,"context_line":"            self.assertEqual(\u0027in-use\u0027, new_volume_ref[\u0027status\u0027])"},{"line_number":121,"context_line":"            self.assertEqual(fields.VolumeAttachStatus.ATTACHED,"},{"line_number":122,"context_line":"                             new_volume_ref[\u0027attach_status\u0027])"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_3f31225b","line":120,"updated":"2017-06-05 12:07:40.000000000","message":"nit: new_volume_ref.status","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"229bfe4d13f5c2b11693d01c66ce2a12d13b99ea","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                                           vref.id)"},{"line_number":120,"context_line":"            self.assertEqual(\u0027in-use\u0027, new_volume_ref[\u0027status\u0027])"},{"line_number":121,"context_line":"            self.assertEqual(fields.VolumeAttachStatus.ATTACHED,"},{"line_number":122,"context_line":"                             new_volume_ref[\u0027attach_status\u0027])"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def test_attachment_delete(self):"},{"line_number":125,"context_line":"        \"\"\"Test attachment_delete.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_df4106ab","line":122,"updated":"2017-06-05 12:07:40.000000000","message":"nit: new_volume_ref.attach_status","commit_id":"dfaf151ab7f35bc324733d6a200e0624f4e68751"}]}
