)]}'
{"novaclient/utils.py":[{"author":{"_account_id":209,"name":"Josh Kearney","email":"josh@jk0.org","username":"jk0"},"change_message_id":"9bf6d3efc53399d985c7f72a98ee62a2474fabf9","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"def is_uuid_like(val):"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":298,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F2LI%3D","line":295,"updated":"2013-01-02 17:19:16.000000000","message":"Should toss a quick docstring in here.","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"34dbf016f1325d1023f153a584dccef15aae62b7","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"def is_uuid_like(val):"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":298,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FrNA%3D","line":295,"in_reply_to":"AAAAM3%2F%2F2LI%3D","updated":"2013-01-09 22:15:54.000000000","message":"++","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"117596237726ff44bd245a6e78cc347ea1ad306b","unresolved":false,"context_lines":[{"line_number":294,"context_line":"def is_uuid_like(val):"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":298,"context_line":"            return True"},{"line_number":299,"context_line":"        else:"},{"line_number":300,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F2Hw%3D","line":297,"updated":"2013-01-02 17:42:30.000000000","message":"This check will fail if val contains \u0027-\u0027 characters, which are often used in stringified UUIDs.  Is that intentional or do you think it should allow \u0027-\u0027?","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"61aa987277f9ccdf669cfb00cf42bba438c43294","unresolved":false,"context_lines":[{"line_number":294,"context_line":"def is_uuid_like(val):"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":298,"context_line":"            return True"},{"line_number":299,"context_line":"        else:"},{"line_number":300,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FxD8%3D","line":297,"in_reply_to":"AAAAM3%2F%2F2Hw%3D","updated":"2013-01-07 00:16:06.000000000","message":"\u003eThis check will fail if val contains \u0027-\u0027 characters\n So it is.Because the UUIDs in the tenant table are all in the no \u0027-\u0027 form.And the UUID with \u0027-\u0027 and without \u0027-\u0027  are considered different ones when the \"nova quota-update\" command is executed . \nFor example, \n$nova quota-update --ram\u003d1024 a0eebc999c0b4ef8bb6d6bb9bd380a11  and\n$nova quota-update --ram\u003d1024 a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11\nAfter the two commands are executed,there will be two records in the quotas table of nova database.","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"fc3aeceb5cb58c5b5a5d214fd7f1632ea0d7f110","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    The UUID which doesn\u0027t contain hyphens or \u0027A-F\u0027 is allowed."},{"line_number":297,"context_line":"    \"\"\""},{"line_number":298,"context_line":"    try:"},{"line_number":299,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":300,"context_line":"            return True"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FcSA%3D","line":299,"updated":"2013-01-22 14:28:16.000000000","message":"missing a space here","commit_id":"ce0caa599f07a320ed3ee1ad26ca40e03b62b75e"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"1c00306f853f10100b74b6e0fc83be927d3f0d54","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    The UUID which doesn\u0027t contain hyphens or \u0027A-F\u0027 is allowed."},{"line_number":297,"context_line":"    \"\"\""},{"line_number":298,"context_line":"    try:"},{"line_number":299,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":300,"context_line":"            return True"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FbFo%3D","line":299,"in_reply_to":"AAAAM3%2F%2FcBA%3D","updated":"2013-01-23 02:41:30.000000000","message":"Thank you for your comment","commit_id":"ce0caa599f07a320ed3ee1ad26ca40e03b62b75e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a4b4da3978814e4ac2c2da44f406e831a1533bd5","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    The UUID which doesn\u0027t contain hyphens or \u0027A-F\u0027 is allowed."},{"line_number":297,"context_line":"    \"\"\""},{"line_number":298,"context_line":"    try:"},{"line_number":299,"context_line":"        if(uuid.UUID(val))and val.isalnum()and val.islower():"},{"line_number":300,"context_line":"            return True"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FcBA%3D","line":299,"in_reply_to":"AAAAM3%2F%2FcSA%3D","updated":"2013-01-22 16:31:48.000000000","message":"Actually, this line is all messed up; unneeded parentheses, as well as multiple spaces missing.  It should read:\n\n    if uuid.UUID(val) and val.isalnum() and val.islower():","commit_id":"ce0caa599f07a320ed3ee1ad26ca40e03b62b75e"}],"novaclient/v1_1/quotas.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"34dbf016f1325d1023f153a584dccef15aae62b7","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                \u0027security_group_rules\u0027: security_group_rules}}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if utils.is_uuid_like(tenant_id):"},{"line_number":67,"context_line":"            tenant_id \u003d tenant_id.replace(\u0027-\u0027, \u0027\u0027)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            raise exceptions.CommandError("},{"line_number":70,"context_line":"                         \"error: Invalid tenant_id %s supplied for update\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FrMc%3D","line":67,"updated":"2013-01-09 22:15:54.000000000","message":"if is_uuid_like doesn\u0027t accept \u0027-\u0027- why replace them here?","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"1efbd4173f4a5038126e1e6c1b7adf3bb7afd50a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                \u0027security_group_rules\u0027: security_group_rules}}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if utils.is_uuid_like(tenant_id):"},{"line_number":67,"context_line":"            tenant_id \u003d tenant_id.replace(\u0027-\u0027, \u0027\u0027)"},{"line_number":68,"context_line":"        else:"},{"line_number":69,"context_line":"            raise exceptions.CommandError("},{"line_number":70,"context_line":"                         \"error: Invalid tenant_id %s supplied for update\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fq3A%3D","line":67,"in_reply_to":"AAAAM3%2F%2FrMc%3D","updated":"2013-01-10 03:39:34.000000000","message":"it\u0027s a mistake. It should be replaced by the \u0027pass\u0027. I will upload the source once more.","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"24ff3c896cd8650722db4debd1dd4c546f9d47e2","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from novaclient import base"},{"line_number":17,"context_line":"from novaclient import utils"},{"line_number":18,"context_line":"from novaclient import exceptions"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class QuotaSet(base.Resource):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fc%2F4%3D","line":18,"updated":"2013-01-21 23:01:11.000000000","message":"Import ordering is incorrect; the import for exceptions should be before the import for utils.","commit_id":"7e9b99b9677d3d11e1ba6327ff844edfd549d9fc"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"24ff3c896cd8650722db4debd1dd4c546f9d47e2","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        if not utils.is_uuid_like(tenant_id):"},{"line_number":65,"context_line":"            raise exceptions.CommandError("},{"line_number":66,"context_line":"                         \"error: Invalid tenant_id %s supplied for update\""},{"line_number":67,"context_line":"                           % tenant_id)"},{"line_number":68,"context_line":"        for key in body[\u0027quota_set\u0027].keys():"},{"line_number":69,"context_line":"            if body[\u0027quota_set\u0027][key] is None:"},{"line_number":70,"context_line":"                body[\u0027quota_set\u0027].pop(key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fc%2Fw%3D","line":67,"updated":"2013-01-21 23:01:11.000000000","message":"I\u0027m hesitant to raise CommandError exceptions from inside the pythonic API; I\u0027m of the opinion that CommandError should only be raised by commands.","commit_id":"7e9b99b9677d3d11e1ba6327ff844edfd549d9fc"}],"novaclient/v1_1/shell.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"8b67fca9e10635f2bddcefed1bfc1ae0c925247e","unresolved":false,"context_lines":[{"line_number":2341,"context_line":"def do_coverage_start(cs, args):"},{"line_number":2342,"context_line":"    \"\"\"Start Nova coverage reporting\"\"\""},{"line_number":2343,"context_line":"    cs.coverage.start()"},{"line_number":2344,"context_line":"    print \"Coverage collection started\""},{"line_number":2345,"context_line":""},{"line_number":2346,"context_line":""},{"line_number":2347,"context_line":"def do_coverage_stop(cs, args):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FY3U%3D","line":2344,"updated":"2013-01-24 14:02:15.000000000","message":"I think the print should be removed.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1fd618df67741d3fc25dece6120d0932e18084ef","unresolved":false,"context_lines":[{"line_number":2341,"context_line":"def do_coverage_start(cs, args):"},{"line_number":2342,"context_line":"    \"\"\"Start Nova coverage reporting\"\"\""},{"line_number":2343,"context_line":"    cs.coverage.start()"},{"line_number":2344,"context_line":"    print \"Coverage collection started\""},{"line_number":2345,"context_line":""},{"line_number":2346,"context_line":""},{"line_number":2347,"context_line":"def do_coverage_stop(cs, args):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FYqg%3D","line":2344,"in_reply_to":"AAAAM3%2F%2FY3U%3D","updated":"2013-01-24 16:18:17.000000000","message":"Why?  This isn\u0027t even part of his patch.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"8b67fca9e10635f2bddcefed1bfc1ae0c925247e","unresolved":false,"context_lines":[{"line_number":2347,"context_line":"def do_coverage_stop(cs, args):"},{"line_number":2348,"context_line":"    \"\"\"Stop Nova coverage reporting\"\"\""},{"line_number":2349,"context_line":"    out \u003d cs.coverage.stop()"},{"line_number":2350,"context_line":"    print \"Coverage data file path: %s\" % out[-1][\u0027path\u0027]"},{"line_number":2351,"context_line":""},{"line_number":2352,"context_line":""},{"line_number":2353,"context_line":"@utils.arg(\u0027filename\u0027, metavar\u003d\u0027\u003cfilename\u003e\u0027, help\u003d\u0027report filename\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FY3Q%3D","line":2350,"updated":"2013-01-24 14:02:15.000000000","message":"I think the print should be removed.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1fd618df67741d3fc25dece6120d0932e18084ef","unresolved":false,"context_lines":[{"line_number":2347,"context_line":"def do_coverage_stop(cs, args):"},{"line_number":2348,"context_line":"    \"\"\"Stop Nova coverage reporting\"\"\""},{"line_number":2349,"context_line":"    out \u003d cs.coverage.stop()"},{"line_number":2350,"context_line":"    print \"Coverage data file path: %s\" % out[-1][\u0027path\u0027]"},{"line_number":2351,"context_line":""},{"line_number":2352,"context_line":""},{"line_number":2353,"context_line":"@utils.arg(\u0027filename\u0027, metavar\u003d\u0027\u003cfilename\u003e\u0027, help\u003d\u0027report filename\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FYqQ%3D","line":2350,"in_reply_to":"AAAAM3%2F%2FY3Q%3D","updated":"2013-01-24 16:18:17.000000000","message":"Again, why?  This isn\u0027t a part of his patch.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"}],"tests/v1_1/fakes.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"34dbf016f1325d1023f153a584dccef15aae62b7","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"    def get_os_quota_sets_test(self, **kw):"},{"line_number":842,"context_line":"        return (200, {}, {\u0027quota_set\u0027: {"},{"line_number":843,"context_line":"                      \u0027tenant_id\u0027: \u0027test\u0027,"},{"line_number":844,"context_line":"                      \u0027metadata_items\u0027: [],"},{"line_number":845,"context_line":"                      \u0027injected_file_content_bytes\u0027: 1,"},{"line_number":846,"context_line":"                      \u0027injected_file_path_bytes\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FrMU%3D","line":843,"updated":"2013-01-09 22:15:54.000000000","message":"should this be changed?","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"c55241e4a456ba3d4879e131bcf905e8513ee2de","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"    def get_os_quota_sets_test(self, **kw):"},{"line_number":842,"context_line":"        return (200, {}, {\u0027quota_set\u0027: {"},{"line_number":843,"context_line":"                      \u0027tenant_id\u0027: \u0027test\u0027,"},{"line_number":844,"context_line":"                      \u0027metadata_items\u0027: [],"},{"line_number":845,"context_line":"                      \u0027injected_file_content_bytes\u0027: 1,"},{"line_number":846,"context_line":"                      \u0027injected_file_path_bytes\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FqmI%3D","line":843,"in_reply_to":"AAAAM3%2F%2FrMU%3D","updated":"2013-01-10 10:30:04.000000000","message":"This method is called by other test cases and the tenant_id \u0027test\u0027 won\u0027t be checked by is_uuid_like,so it can\u0027t be changed.","commit_id":"8cb3b08f0e2284a0976af3d4b9a7bd48f30ae194"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"8b67fca9e10635f2bddcefed1bfc1ae0c925247e","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        elif action \u003d\u003d \u0027evacuate\u0027:"},{"line_number":499,"context_line":"            keys \u003d body[action].keys()"},{"line_number":500,"context_line":"            if \u0027adminPass\u0027 in keys:"},{"line_number":501,"context_line":"                keys.remove(\u0027adminPass\u0027)"},{"line_number":502,"context_line":"            assert set(keys) \u003d\u003d set([\u0027host\u0027, \u0027onSharedStorage\u0027])"},{"line_number":503,"context_line":"        else:"},{"line_number":504,"context_line":"            raise AssertionError(\"Unexpected server action: %s\" % action)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FY3k%3D","line":501,"updated":"2013-01-24 14:02:15.000000000","message":"You can use keys.discard() here to save the if check, but that\u0027s not mandatory.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1fd618df67741d3fc25dece6120d0932e18084ef","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        elif action \u003d\u003d \u0027evacuate\u0027:"},{"line_number":499,"context_line":"            keys \u003d body[action].keys()"},{"line_number":500,"context_line":"            if \u0027adminPass\u0027 in keys:"},{"line_number":501,"context_line":"                keys.remove(\u0027adminPass\u0027)"},{"line_number":502,"context_line":"            assert set(keys) \u003d\u003d set([\u0027host\u0027, \u0027onSharedStorage\u0027])"},{"line_number":503,"context_line":"        else:"},{"line_number":504,"context_line":"            raise AssertionError(\"Unexpected server action: %s\" % action)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FYpw%3D","line":501,"in_reply_to":"AAAAM3%2F%2FY3k%3D","updated":"2013-01-24 16:18:17.000000000","message":"Again, this isn\u0027t part of his patch.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"8b67fca9e10635f2bddcefed1bfc1ae0c925247e","unresolved":false,"context_lines":[{"line_number":1405,"context_line":"        )"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def post_os_coverage_action(self, body, **kw):"},{"line_number":1408,"context_line":"        if \u0027report\u0027 not in body:"},{"line_number":1409,"context_line":"            return (200, {}, None)"},{"line_number":1410,"context_line":"        else:"},{"line_number":1411,"context_line":"            return (200, {}, {"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FY3c%3D","line":1408,"updated":"2013-01-24 14:02:15.000000000","message":"Maybe flip the if and else clauses here to avoid the not and make this a bit more readable.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1fd618df67741d3fc25dece6120d0932e18084ef","unresolved":false,"context_lines":[{"line_number":1405,"context_line":"        )"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def post_os_coverage_action(self, body, **kw):"},{"line_number":1408,"context_line":"        if \u0027report\u0027 not in body:"},{"line_number":1409,"context_line":"            return (200, {}, None)"},{"line_number":1410,"context_line":"        else:"},{"line_number":1411,"context_line":"            return (200, {}, {"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FYps%3D","line":1408,"in_reply_to":"AAAAM3%2F%2FY3c%3D","updated":"2013-01-24 16:18:17.000000000","message":"And again, not part of the patch.","commit_id":"168636e744012f264310897603eb4e3dde6d1df8"}],"tests/v1_1/test_quotas.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"0fe016eef35c16e98ac1cff75093c8e2d99b5efa","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            q \u003d cs.quotas.get(\u002797f4c221-bff4-4578-b030-0df4ef119353\u0027)"},{"line_number":45,"context_line":"            q.update(volumes\u003d2)"},{"line_number":46,"context_line":"            self.fail(\"don\u0027t happen\")"},{"line_number":47,"context_line":"        except Exception as e:"},{"line_number":48,"context_line":"            self.assertTrue(isinstance(e, exceptions.CommandError))"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fnrs%3D","line":46,"updated":"2013-01-12 16:42:50.000000000","message":"what don\u0027t happen? I think we should give more detail.","commit_id":"7e9b99b9677d3d11e1ba6327ff844edfd549d9fc"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"24ff3c896cd8650722db4debd1dd4c546f9d47e2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            q \u003d cs.quotas.get(\u002797f4c221-bff4-4578-b030-0df4ef119353\u0027)"},{"line_number":45,"context_line":"            q.update(volumes\u003d2)"},{"line_number":46,"context_line":"            self.fail(\"don\u0027t happen\")"},{"line_number":47,"context_line":"        except Exception as e:"},{"line_number":48,"context_line":"            self.assertTrue(isinstance(e, exceptions.CommandError))"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fc%2Fo%3D","line":46,"in_reply_to":"AAAAM3%2F%2FlDQ%3D","updated":"2013-01-21 23:01:11.000000000","message":"Use assertRaises(), please.","commit_id":"7e9b99b9677d3d11e1ba6327ff844edfd549d9fc"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"605180fee369959149488174d93fc5ec98fe4544","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            q \u003d cs.quotas.get(\u002797f4c221-bff4-4578-b030-0df4ef119353\u0027)"},{"line_number":45,"context_line":"            q.update(volumes\u003d2)"},{"line_number":46,"context_line":"            self.fail(\"don\u0027t happen\")"},{"line_number":47,"context_line":"        except Exception as e:"},{"line_number":48,"context_line":"            self.assertTrue(isinstance(e, exceptions.CommandError))"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FlDQ%3D","line":46,"in_reply_to":"AAAAM3%2F%2Fnrs%3D","updated":"2013-01-15 07:53:21.000000000","message":"Because this test is used to check whether the UUID with \u0027-\u0027 will cause exception,and exception occurs when q.update() is executed.","commit_id":"7e9b99b9677d3d11e1ba6327ff844edfd549d9fc"}]}
