)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4ea528a4e22e0ac753707b1f93f61bec43d5f129","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Pradyumna Sampath \u003cpradyumna@hitachi.co.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-01 12:23:20 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Validate alarm state \u0026 return a InvalidInput on error"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Replace InternalServerError with more relevant InvalidInput while validating, if the given alarm state is not one of state_kind."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a8c0949_07669751","line":7,"updated":"2014-11-02 00:41:59.000000000","message":"s/a/an/ ?","commit_id":"c1127b0aeaed103b6d014c259618983898ac780e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4ea528a4e22e0ac753707b1f93f61bec43d5f129","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Validate alarm state \u0026 return a InvalidInput on error"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Replace InternalServerError with more relevant InvalidInput while validating, if the given alarm state is not one of state_kind."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-bug: #1320430"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a8c0949_e760ab37","line":9,"updated":"2014-11-02 00:41:59.000000000","message":"It is recommended that each line should less than 80 characters.","commit_id":"c1127b0aeaed103b6d014c259618983898ac780e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4ea528a4e22e0ac753707b1f93f61bec43d5f129","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Replace InternalServerError with more relevant InvalidInput while validating, if the given alarm state is not one of state_kind."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-bug: #1320430"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I48f014cc09e7d88e9b0f02fb8e9cf45772178b2c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a8c0949_275b9388","line":12,"updated":"2014-11-02 00:41:59.000000000","message":"Blank line L12 is not needed","commit_id":"c1127b0aeaed103b6d014c259618983898ac780e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f36239e6b4368af84f3a62efa79237d2b5a35605","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Pradyumna Sampath \u003cpradyumna@hitachi.co.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-11 19:09:48 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Validate alarm state \u0026 return an InvalidInput on error"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Replace InternalServerError with more relevant InvalidInput while validating, if"},{"line_number":10,"context_line":"the given alarm state is not one of state_kind."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a890539_3821e0fb","line":7,"updated":"2014-11-12 13:24:48.000000000","message":"I think since covering all the AdvEnum attributes is the right direction, we need to update the commit messages, once the code is changed not only for alarm state. That would be cool.","commit_id":"780470de1c23f30a696f8d812c7574eb43f25c96"}],"ceilometer/api/controllers/v2.py":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"e059bdac4cacc07bbd944341c9b6016d2eb1d7e8","unresolved":false,"context_lines":[{"line_number":167,"context_line":"    def _set(self, parent, value):"},{"line_number":168,"context_line":"        if self._name \u003d\u003d \u0027_advenum_state\u0027:"},{"line_number":169,"context_line":"            if value not in state_kind:"},{"line_number":170,"context_line":"                raise wsme.exc.InvalidInput(\u0027state\u0027,value,"},{"line_number":171,"context_line":"                \u0027Invalid alarm state , should be one of %s\u0027 % state_kind)"},{"line_number":172,"context_line":"        else:"},{"line_number":173,"context_line":"            if self.datatype.validate(value):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a8c0949_29f8c148","line":170,"updated":"2014-11-03 14:45:22.000000000","message":"add space g/\u0027state\u0027,value,/\u0027state\u0027, value,","commit_id":"c1127b0aeaed103b6d014c259618983898ac780e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4ea528a4e22e0ac753707b1f93f61bec43d5f129","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        if self._name \u003d\u003d \u0027_advenum_state\u0027:"},{"line_number":169,"context_line":"            if value not in state_kind:"},{"line_number":170,"context_line":"                raise wsme.exc.InvalidInput(\u0027state\u0027,value,"},{"line_number":171,"context_line":"                \u0027Invalid alarm state , should be one of %s\u0027 % state_kind)"},{"line_number":172,"context_line":"        else:"},{"line_number":173,"context_line":"            if self.datatype.validate(value):"},{"line_number":174,"context_line":"                setattr(parent, self._name, value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a8c0949_47609f32","line":171,"updated":"2014-11-02 00:41:59.000000000","message":"the space after state is not needed","commit_id":"c1127b0aeaed103b6d014c259618983898ac780e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"b9dbc986ac304bc23947969de1c9e5086583c9b1","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            if self.datatype.validate(value):"},{"line_number":170,"context_line":"                setattr(parent, self._name, value)"},{"line_number":171,"context_line":"        except ValueError:"},{"line_number":172,"context_line":"            msg \u003d (_(\u0027Invalid alarm state, should be one of %s\u0027) % state_kind)"},{"line_number":173,"context_line":"            raise wsme.exc.InvalidInput(\u0027state\u0027, value, msg)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_f3607637","line":172,"updated":"2014-11-11 16:41:27.000000000","message":"Not only alarm state uses AdvEnum, see comparison_operator attribute in class AlarmThresholdRule, please find a more generic way for message information.","commit_id":"b4e17453db723e28f83262afc3bc2f73892bad3d"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f36239e6b4368af84f3a62efa79237d2b5a35605","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        try:"},{"line_number":169,"context_line":"            if self.datatype.validate(value):"},{"line_number":170,"context_line":"                setattr(parent, self._name, value)"},{"line_number":171,"context_line":"        except ValueError as ve:"},{"line_number":172,"context_line":"            raise wsme.exc.InvalidInput(self._name, value, ve)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_987d74ea","line":171,"updated":"2014-11-12 13:24:48.000000000","message":"nit: s/ve/e/","commit_id":"780470de1c23f30a696f8d812c7574eb43f25c96"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f36239e6b4368af84f3a62efa79237d2b5a35605","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            if self.datatype.validate(value):"},{"line_number":170,"context_line":"                setattr(parent, self._name, value)"},{"line_number":171,"context_line":"        except ValueError as ve:"},{"line_number":172,"context_line":"            raise wsme.exc.InvalidInput(self._name, value, ve)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"class CronType(wtypes.UserType):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_981c9479","line":172,"updated":"2014-11-12 13:24:48.000000000","message":"The fault string is: \"Invalid input for field/attribute _advenum_comparison_operator. Value: \u0027xx\u0027. Value should be one of: gt, lt, ne, ge, le, eq\", when I test with `ceilometer --debug alarm-threshold-create --name x --meter-name cpu --threshold 1 --comparison-operator xx`\n\nSo I suggest to use \n\n    raise wsme.exc.InvalidInput(self._name.replace(\u0027_advenum_\u0027, \u0027\u0027, 1), value, e)","commit_id":"780470de1c23f30a696f8d812c7574eb43f25c96"}],"ceilometer/tests/api/v2/test_alarm_scenarios.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":534,"context_line":"        }"},{"line_number":535,"context_line":"        resp \u003d self.post_json(\u0027/alarms\u0027, params\u003djson, expect_errors\u003dTrue,"},{"line_number":536,"context_line":"                              status\u003d400, headers\u003dself.auth_headers)"},{"line_number":537,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":538,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":539,"context_line":"                            \u0027 statistic.\u0027"},{"line_number":540,"context_line":"                            \u0027 Value: \\\u0027magic\\\u0027.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_2d4d179a","line":537,"updated":"2014-11-20 16:51:32.000000000","message":"I think L537 and L543 is not needed for this test, because 400 will not store alarm to database, but if you do want it, please put the two lines after L545, since they are breaking the consistency(continuous?) of HTTP test","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":537,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":538,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":539,"context_line":"                            \u0027 statistic.\u0027"},{"line_number":540,"context_line":"                            \u0027 Value: \\\u0027magic\\\u0027.\u0027"},{"line_number":541,"context_line":"                            \u0027 Value should be one of:\u0027"},{"line_number":542,"context_line":"                            \u0027 count, max, sum, avg, min\u0027)"},{"line_number":543,"context_line":"        self.assertEqual(4, len(alarms))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_c81c816d","line":540,"updated":"2014-11-20 16:51:32.000000000","message":"unblock nit: consider use \"\" for string, then we can avoid back slash inside it.","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        }"},{"line_number":558,"context_line":"        resp \u003d self.post_json(\u0027/alarms\u0027, params\u003djson, expect_errors\u003dTrue,"},{"line_number":559,"context_line":"                              status\u003d400, headers\u003dself.auth_headers)"},{"line_number":560,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":561,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute state.\u0027"},{"line_number":562,"context_line":"                            \u0027 Value: \\\u0027bad_state\\\u0027.\u0027"},{"line_number":563,"context_line":"                            \u0027 Value should be one of:\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_2d1b5781","line":560,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":559,"context_line":"                              status\u003d400, headers\u003dself.auth_headers)"},{"line_number":560,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":561,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute state.\u0027"},{"line_number":562,"context_line":"                            \u0027 Value: \\\u0027bad_state\\\u0027.\u0027"},{"line_number":563,"context_line":"                            \u0027 Value should be one of:\u0027"},{"line_number":564,"context_line":"                            \u0027 alarm, ok, insufficient data\u0027)"},{"line_number":565,"context_line":"        self.assertEqual(4, len(alarms))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_c833a1f4","line":562,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":579,"context_line":"        }"},{"line_number":580,"context_line":"        resp \u003d self.post_json(\u0027/alarms\u0027, params\u003djson, expect_errors\u003dTrue,"},{"line_number":581,"context_line":"                              status\u003d400, headers\u003dself.auth_headers)"},{"line_number":582,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":583,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":584,"context_line":"                            \u0027 comparison_operator.\u0027"},{"line_number":585,"context_line":"                            \u0027 Value: \\\u0027bad_co\\\u0027.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_e845bd43","line":582,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":582,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":583,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":584,"context_line":"                            \u0027 comparison_operator.\u0027"},{"line_number":585,"context_line":"                            \u0027 Value: \\\u0027bad_co\\\u0027.\u0027"},{"line_number":586,"context_line":"                            \u0027 Value should be one of:\u0027"},{"line_number":587,"context_line":"                            \u0027 gt, lt, ne, ge, le, eq\u0027)"},{"line_number":588,"context_line":"        self.assertEqual(4, len(alarms))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_2877c5a0","line":585,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        }"},{"line_number":603,"context_line":"        resp \u003d self.post_json(\u0027/alarms\u0027, params\u003djson, expect_errors\u003dTrue,"},{"line_number":604,"context_line":"                              status\u003d400, headers\u003dself.auth_headers)"},{"line_number":605,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":606,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":607,"context_line":"                            \u0027 type.\u0027"},{"line_number":608,"context_line":"                            \u0027 Value: \\\u0027bad_type\\\u0027.\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_e85cdd1b","line":605,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":605,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":606,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":607,"context_line":"                            \u0027 type.\u0027"},{"line_number":608,"context_line":"                            \u0027 Value: \\\u0027bad_type\\\u0027.\u0027"},{"line_number":609,"context_line":"                            \u0027 Value should be one of:\u0027"},{"line_number":610,"context_line":"                            \u0027 threshold, combination\u0027)"},{"line_number":611,"context_line":"        self.assertEqual(4, len(alarms))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_68a8eddb","line":608,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":629,"context_line":""},{"line_number":630,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":631,"context_line":"                            \u0027 enabled.\u0027"},{"line_number":632,"context_line":"                            \u0027 Value: \\\u0027bad_enabled\\\u0027.\u0027"},{"line_number":633,"context_line":"                            \u0027 Wrong type. Expected \\\u0027\u003ctype \\\u0027bool\\\u0027\u003e\\\u0027,\u0027"},{"line_number":634,"context_line":"                            \u0027 got \\\u0027\u003ctype \\\u0027str\\\u0027\u003e\\\u0027\u0027)"},{"line_number":635,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_48f3310a","line":632,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":632,"context_line":"                            \u0027 Value: \\\u0027bad_enabled\\\u0027.\u0027"},{"line_number":633,"context_line":"                            \u0027 Wrong type. Expected \\\u0027\u003ctype \\\u0027bool\\\u0027\u003e\\\u0027,\u0027"},{"line_number":634,"context_line":"                            \u0027 got \\\u0027\u003ctype \\\u0027str\\\u0027\u003e\\\u0027\u0027)"},{"line_number":635,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":636,"context_line":"        self.assertEqual(4, len(alarms))"},{"line_number":637,"context_line":"        self.assertEqual(expected_err_msg,"},{"line_number":638,"context_line":"                         resp.json[\u0027error_message\u0027][\u0027faultstring\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_08e9291a","line":635,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        self.assertEqual(expected_err_msg,"},{"line_number":638,"context_line":"                         resp.json[\u0027error_message\u0027][\u0027faultstring\u0027])"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"    def test_post_invalid_alarm_input_enabled_int(self):"},{"line_number":641,"context_line":"        json \u003d {"},{"line_number":642,"context_line":"            \u0027name\u0027: \u0027alarm6\u0027,"},{"line_number":643,"context_line":"            \u0027enabled\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_a8457516","line":640,"updated":"2014-11-20 16:51:32.000000000","message":"this is not very related to AdvEnum, but it is OK","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":656,"context_line":"                            \u0027 enabled.\u0027"},{"line_number":657,"context_line":"                            \u0027 Value: \\\u00270\\\u0027.\u0027"},{"line_number":658,"context_line":"                            \u0027 Wrong type. Expected \\\u0027\u003ctype \\\u0027bool\\\u0027\u003e\\\u0027,\u0027"},{"line_number":659,"context_line":"                            \u0027 got \\\u0027\u003ctype \\\u0027int\\\u0027\u003e\\\u0027\u0027)"},{"line_number":660,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":661,"context_line":"        self.assertEqual(4, len(alarms))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_685b8df6","line":658,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                            \u0027 Value: \\\u00270\\\u0027.\u0027"},{"line_number":658,"context_line":"                            \u0027 Wrong type. Expected \\\u0027\u003ctype \\\u0027bool\\\u0027\u003e\\\u0027,\u0027"},{"line_number":659,"context_line":"                            \u0027 got \\\u0027\u003ctype \\\u0027int\\\u0027\u003e\\\u0027\u0027)"},{"line_number":660,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":661,"context_line":"        self.assertEqual(4, len(alarms))"},{"line_number":662,"context_line":"        self.assertEqual(expected_err_msg,"},{"line_number":663,"context_line":"                         resp.json[\u0027error_message\u0027][\u0027faultstring\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_c86ba183","line":660,"updated":"2014-11-20 16:51:32.000000000","message":"dittto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":683,"context_line":""},{"line_number":684,"context_line":"        expected_err_msg \u003d (\u0027Invalid input for field/attribute\u0027"},{"line_number":685,"context_line":"                            \u0027 operator.\u0027"},{"line_number":686,"context_line":"                            \u0027 Value: \\\u0027bad_operator\\\u0027.\u0027"},{"line_number":687,"context_line":"                            \u0027 Value should be one of: and, or\u0027)"},{"line_number":688,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":689,"context_line":"        self.assertEqual(4, len(alarms))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_88f8b9c5","line":686,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"4bdf42e6391984d7367e798c6f2bf53e34027905","unresolved":false,"context_lines":[{"line_number":685,"context_line":"                            \u0027 operator.\u0027"},{"line_number":686,"context_line":"                            \u0027 Value: \\\u0027bad_operator\\\u0027.\u0027"},{"line_number":687,"context_line":"                            \u0027 Value should be one of: and, or\u0027)"},{"line_number":688,"context_line":"        alarms \u003d list(self.alarm_conn.get_alarms())"},{"line_number":689,"context_line":"        self.assertEqual(4, len(alarms))"},{"line_number":690,"context_line":"        self.assertEqual(expected_err_msg,"},{"line_number":691,"context_line":"                         resp.json[\u0027error_message\u0027][\u0027faultstring\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_480fb1e1","line":688,"updated":"2014-11-20 16:51:32.000000000","message":"ditto","commit_id":"9399c2931e4392f8ffae983dd88621a7ca83200c"}],"ceilometer/tests/api/v2/test_wsme_custom_type.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"b9dbc986ac304bc23947969de1c9e5086583c9b1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        obj \u003d dummybase(ae\u003d\"one\")"},{"line_number":33,"context_line":"        self.assertEqual(\"one\", obj.ae)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        self.assertRaises(wsme.exc.InvalidInput, dummybase, ae\u003d\"not exists\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_33d2fed2","line":35,"updated":"2014-11-11 16:41:27.000000000","message":"Better if you test the error message, then you can find the alarm state is not the only one who uses AdvEnum","commit_id":"b4e17453db723e28f83262afc3bc2f73892bad3d"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f36239e6b4368af84f3a62efa79237d2b5a35605","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        obj \u003d dummybase(ae\u003d\"one\")"},{"line_number":33,"context_line":"        self.assertEqual(\"one\", obj.ae)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        self.assertRaises(wsme.exc.InvalidInput, dummybase, ae\u003d\"not exists\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_f313fb59","line":35,"updated":"2014-11-12 13:24:48.000000000","message":"I strongly suggest you to test the faultstring, then reviewers can review your code without testing in their local environment.","commit_id":"780470de1c23f30a696f8d812c7574eb43f25c96"}]}
