)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"68d36a513235809b7c9fd0a40ce402345d9dc3a1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This continues to update the name for volume type:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"* Update a client method for volume type."},{"line_number":12,"context_line":"  update: to upate an existing volume type\u0027s name"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"* Update a command-line operations."},{"line_number":15,"context_line":"  type-update: (adminitrator only) to update a volume type name"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a930d6b_505f930e","line":12,"updated":"2015-01-21 15:10:33.000000000","message":"s/upate/update/","commit_id":"3e54b8dabd9aca940b05e20d8eed0b5f5b01559a"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"cc6b1b7c7b8ce999716643d8b415e0ca3f602591","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This continues to update the name for volume type:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"* Update a client method for volume type."},{"line_number":12,"context_line":"  update: to upate an existing volume type\u0027s name"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"* Update a command-line operations."},{"line_number":15,"context_line":"  type-update: (adminitrator only) to update a volume type name"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_387e95e5","line":12,"in_reply_to":"1a930d6b_505f930e","updated":"2015-01-30 22:31:20.000000000","message":"ok","commit_id":"3e54b8dabd9aca940b05e20d8eed0b5f5b01559a"}],"cinderclient/tests/v2/test_types.py":[{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"eeb984178e24afb45925fb31dd24045da598636a","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_update(self):"},{"line_number":37,"context_line":"        t \u003d cs.volume_types.update(\u00271\u0027, \u0027test_type_1\u0027, \u0027test_desc_1\u0027)"},{"line_number":38,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/types/1\u0027)"},{"line_number":39,"context_line":"        self.assertIsInstance(t, volume_types.VolumeType)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_ff5c6b7f","line":38,"updated":"2014-12-18 21:06:00.000000000","message":"Shoudn\u0027t this test also verify that the body is formatted correctly?","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"6f4b8f7f634d8e23feeafd9046d40f4795526713","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_update(self):"},{"line_number":37,"context_line":"        t \u003d cs.volume_types.update(\u00271\u0027, \u0027test_type_1\u0027, \u0027test_desc_1\u0027)"},{"line_number":38,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/types/1\u0027)"},{"line_number":39,"context_line":"        self.assertIsInstance(t, volume_types.VolumeType)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_a5295f8b","line":38,"in_reply_to":"3a961159_8574ad68","updated":"2014-12-26 18:48:56.000000000","message":"The UT should still verify that the PUT contains the correct body, can you include the body in this assert_called (see line 56 below)?","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"dcf8e01e76be034b6fc2d864fc3013619946d7a8","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_update(self):"},{"line_number":37,"context_line":"        t \u003d cs.volume_types.update(\u00271\u0027, \u0027test_type_1\u0027, \u0027test_desc_1\u0027)"},{"line_number":38,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/types/1\u0027)"},{"line_number":39,"context_line":"        self.assertIsInstance(t, volume_types.VolumeType)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_8574ad68","line":38,"in_reply_to":"3a961159_ff5c6b7f","updated":"2014-12-22 23:51:45.000000000","message":"Because of the client is a wrapper class of the API, all the validation of body part has been done in API side.","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"9a2be6e8ba637c95311d89a7bbbcb1ec4607d595","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_update(self):"},{"line_number":37,"context_line":"        t \u003d cs.volume_types.update(\u00271\u0027, \u0027test_type_1\u0027, \u0027test_desc_1\u0027)"},{"line_number":38,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/types/1\u0027)"},{"line_number":39,"context_line":"        self.assertIsInstance(t, volume_types.VolumeType)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_8964aa49","line":38,"updated":"2015-01-08 20:20:34.000000000","message":"My comment from patch set 2 still applies here. You should verify that the body is formed correctly, something like:\n\n        cs.assert_called(\u0027PUT\u0027,\n                         \u0027/types/1\u0027,\n                         {\u0027volume_type\u0027: {\u0027name\u0027: \u0027test_type_1\u0027,\n                                          \u0027description\u0027: \u0027test_desc_1\u0027}})","commit_id":"6a1fcada41963a1024dfb14f06347da9c16a6b39"}],"cinderclient/v2/shell.py":[{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"eeb984178e24afb45925fb31dd24045da598636a","unresolved":false,"context_lines":[{"line_number":725,"context_line":"@utils.service_type(\u0027volumev2\u0027)"},{"line_number":726,"context_line":"def do_type_update(cs, args):"},{"line_number":727,"context_line":"    \"\"\"Updates volume type name and/or description.\"\"\""},{"line_number":728,"context_line":"    vtype \u003d cs.volume_types.update(args.id, args.name, args.description)"},{"line_number":729,"context_line":"    _print_volume_type_list([vtype])"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_9fefe786","line":728,"updated":"2014-12-18 21:06:00.000000000","message":"What about input validation?  Should you raise an exception if the user did not supply either the name or the description?","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0af22a205ee73c6ae412b151697191a0aff123e2","unresolved":false,"context_lines":[{"line_number":725,"context_line":"@utils.service_type(\u0027volumev2\u0027)"},{"line_number":726,"context_line":"def do_type_update(cs, args):"},{"line_number":727,"context_line":"    \"\"\"Updates volume type name and/or description.\"\"\""},{"line_number":728,"context_line":"    vtype \u003d cs.volume_types.update(args.id, args.name, args.description)"},{"line_number":729,"context_line":"    _print_volume_type_list([vtype])"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_8e783090","line":728,"in_reply_to":"3a961159_053873d3","updated":"2015-01-08 19:21:00.000000000","message":"The pattern with the rest of the client calls here is to not check.  It\u0027s not needed.","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"dcf8e01e76be034b6fc2d864fc3013619946d7a8","unresolved":false,"context_lines":[{"line_number":725,"context_line":"@utils.service_type(\u0027volumev2\u0027)"},{"line_number":726,"context_line":"def do_type_update(cs, args):"},{"line_number":727,"context_line":"    \"\"\"Updates volume type name and/or description.\"\"\""},{"line_number":728,"context_line":"    vtype \u003d cs.volume_types.update(args.id, args.name, args.description)"},{"line_number":729,"context_line":"    _print_volume_type_list([vtype])"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_c56a3580","line":728,"in_reply_to":"3a961159_9fefe786","updated":"2014-12-22 23:51:45.000000000","message":"Validation is at the API side...the API will throw specific exception the client is a wrapper to pass through","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"6f4b8f7f634d8e23feeafd9046d40f4795526713","unresolved":false,"context_lines":[{"line_number":725,"context_line":"@utils.service_type(\u0027volumev2\u0027)"},{"line_number":726,"context_line":"def do_type_update(cs, args):"},{"line_number":727,"context_line":"    \"\"\"Updates volume type name and/or description.\"\"\""},{"line_number":728,"context_line":"    vtype \u003d cs.volume_types.update(args.id, args.name, args.description)"},{"line_number":729,"context_line":"    _print_volume_type_list([vtype])"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_053873d3","line":728,"in_reply_to":"3a961159_c56a3580","updated":"2014-12-26 18:48:56.000000000","message":"The CLI should still ensure that either the name or the description has been supplied by the user.  If neither have been supplied, then it does not make sense to even invoke the server.","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"}],"cinderclient/v2/volume_types.py":[{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"eeb984178e24afb45925fb31dd24045da598636a","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        body \u003d {"},{"line_number":129,"context_line":"            \"volume_type\": {"},{"line_number":130,"context_line":"                \"name\": name,"},{"line_number":131,"context_line":"                \"description\": description"},{"line_number":132,"context_line":"            }"},{"line_number":133,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_7f487bb3","line":130,"updated":"2014-12-18 21:06:00.000000000","message":"What about if the name or description is None?  Would you want to include the key if the value is None?","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"dcf8e01e76be034b6fc2d864fc3013619946d7a8","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        body \u003d {"},{"line_number":129,"context_line":"            \"volume_type\": {"},{"line_number":130,"context_line":"                \"name\": name,"},{"line_number":131,"context_line":"                \"description\": description"},{"line_number":132,"context_line":"            }"},{"line_number":133,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_250bf9d6","line":130,"in_reply_to":"3a961159_7f487bb3","updated":"2014-12-22 23:51:45.000000000","message":"They are handled in API side, client is a pass through","commit_id":"2e96c950be369001e83f3e9eec17e9afbb01ebe3"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"68d36a513235809b7c9fd0a40ce402345d9dc3a1","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        return self._create(\"/types\", body, \"volume_type\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def update(self, volume_type, name\u003dNone, description\u003dNone):"},{"line_number":120,"context_line":"        \"\"\"Update the name or description for a volume type."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param volume_type: The ID of the :class:`VolumeType` to update."},{"line_number":123,"context_line":"        :param name: Descriptive name of the volume type."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_b020b79c","line":120,"updated":"2015-01-21 15:10:33.000000000","message":"and/or","commit_id":"3e54b8dabd9aca940b05e20d8eed0b5f5b01559a"},{"author":{"_account_id":11880,"name":"Gloria Gu","email":"gloriafanggu@gmail.com","username":"gugl"},"change_message_id":"cc6b1b7c7b8ce999716643d8b415e0ca3f602591","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        return self._create(\"/types\", body, \"volume_type\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def update(self, volume_type, name\u003dNone, description\u003dNone):"},{"line_number":120,"context_line":"        \"\"\"Update the name or description for a volume type."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param volume_type: The ID of the :class:`VolumeType` to update."},{"line_number":123,"context_line":"        :param name: Descriptive name of the volume type."}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_18d39139","line":120,"in_reply_to":"1a930d6b_b020b79c","updated":"2015-01-30 22:31:20.000000000","message":"ok","commit_id":"3e54b8dabd9aca940b05e20d8eed0b5f5b01559a"}]}
