)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"57516c7ebdbb2b2fda376de6715f21eb276505be","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Better exception handling in volume_actions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"volume_api.extend can raise four differents exceptions:"},{"line_number":10,"context_line":"InvalidVolume, InvalidInput, VolumeSizeExceedsLimit,"},{"line_number":11,"context_line":"VolumeSizeExceedsAvailableQuota."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a122d0e_72fab678","line":9,"range":{"start_line":9,"start_character":33,"end_line":9,"end_character":43},"updated":"2016-05-04 21:41:39.000000000","message":"different","commit_id":"d66a130b5dfeafa81a3d2342edef2117e662ae91"}],"cinder/tests/unit/api/contrib/test_volume_actions.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"57516c7ebdbb2b2fda376de6715f21eb276505be","unresolved":false,"context_lines":[{"line_number":838,"context_line":"                              id,"},{"line_number":839,"context_line":"                              body)"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":"    def test_extend_volume_invalid_volume(self):"},{"line_number":842,"context_line":"        with mock.patch.object(volume_api.API,"},{"line_number":843,"context_line":"                               \u0027extend\u0027) as extend:"},{"line_number":844,"context_line":"            extend.side_effect \u003d \\"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_9dacc3ee","line":841,"range":{"start_line":841,"start_character":8,"end_line":841,"end_character":41},"updated":"2016-05-04 21:41:39.000000000","message":"Don\u0027t Repeat Yourself by defining an abstract test called the 5 added tests:\n\n def _test_extend_volume_error(self, error):\n  with mock.patch.object(..., side_effect \u003d error):\n    ...\n\n def test_extend_volume_invalid_volume(self):\n  self._test_....(exception.Volume(reason\u003dNone))","commit_id":"d66a130b5dfeafa81a3d2342edef2117e662ae91"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"17f191349d49f5d473428b1c1ee52fbc20c2fdc5","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"    def test_extend_volume_not_found(self):"},{"line_number":842,"context_line":"        self._test_extend_volume_error(\"get\","},{"line_number":843,"context_line":"            exception.VolumeNotFound(volume_id\u003dNone),"},{"line_number":844,"context_line":"            webob.exc.HTTPNotFound)"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    def test_extend_volume_invalid_volume(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_67022471","line":843,"updated":"2016-05-09 21:37:29.000000000","message":"Move this over, underneath \"get\", to fix pep8. Same with next line.","commit_id":"67a8573fae59e1e2b598e4e9f8b74366488ab050"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"17f191349d49f5d473428b1c1ee52fbc20c2fdc5","unresolved":false,"context_lines":[{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def test_extend_volume_invalid_input(self):"},{"line_number":852,"context_line":"        self._test_extend_volume_error(\"extend\","},{"line_number":853,"context_line":"            exception.InvalidInput(reason\u003dNone),"},{"line_number":854,"context_line":"            webob.exc.HTTPBadRequest)"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"    def test_extend_volume_size_exceeds_limit(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_272f7cf7","line":853,"updated":"2016-05-09 21:37:29.000000000","message":"Line this and below under \"extend\".","commit_id":"67a8573fae59e1e2b598e4e9f8b74366488ab050"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"17f191349d49f5d473428b1c1ee52fbc20c2fdc5","unresolved":false,"context_lines":[{"line_number":855,"context_line":""},{"line_number":856,"context_line":"    def test_extend_volume_size_exceeds_limit(self):"},{"line_number":857,"context_line":"        self._test_extend_volume_error(\"extend\","},{"line_number":858,"context_line":"            exception.VolumeSizeExceedsLimit(size\u003d0, limit\u003d0),"},{"line_number":859,"context_line":"            webob.exc.HTTPBadRequest)"},{"line_number":860,"context_line":""},{"line_number":861,"context_line":"    def test_extend_volume_size_exceeds_available_quota(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_c74030a8","line":858,"updated":"2016-05-09 21:37:29.000000000","message":"same, line up beneath \"extend\".","commit_id":"67a8573fae59e1e2b598e4e9f8b74366488ab050"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"17f191349d49f5d473428b1c1ee52fbc20c2fdc5","unresolved":false,"context_lines":[{"line_number":860,"context_line":""},{"line_number":861,"context_line":"    def test_extend_volume_size_exceeds_available_quota(self):"},{"line_number":862,"context_line":"        self._test_extend_volume_error(\"extend\","},{"line_number":863,"context_line":"            exception.VolumeSizeExceedsAvailableQuota(requested\u003d0,"},{"line_number":864,"context_line":"                                                      consumed\u003d0,"},{"line_number":865,"context_line":"                                                      quota\u003d0),"},{"line_number":866,"context_line":"            webob.exc.HTTPBadRequest)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_e74574b3","line":863,"updated":"2016-05-09 21:37:29.000000000","message":"same.","commit_id":"67a8573fae59e1e2b598e4e9f8b74366488ab050"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"17f191349d49f5d473428b1c1ee52fbc20c2fdc5","unresolved":false,"context_lines":[{"line_number":863,"context_line":"            exception.VolumeSizeExceedsAvailableQuota(requested\u003d0,"},{"line_number":864,"context_line":"                                                      consumed\u003d0,"},{"line_number":865,"context_line":"                                                      quota\u003d0),"},{"line_number":866,"context_line":"            webob.exc.HTTPBadRequest)"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"    def test_copy_volume_to_image_notimagename(self):"},{"line_number":869,"context_line":"        id \u003d fake.VOLUME2_ID"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_27165ca7","line":866,"updated":"2016-05-09 21:37:29.000000000","message":"same.","commit_id":"67a8573fae59e1e2b598e4e9f8b74366488ab050"}]}
