)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"ba62c3246136eab22e54d03d9efdb7f8806f62e5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adds more testcases to test_telemetry_alarming_api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This submission is to add more testcases in \"test_telemetry_alarming_api.py\""},{"line_number":10,"context_line":"test_script. The test cases added are for scenarios \"update-alaram\","},{"line_number":11,"context_line":"\"set-get-alarm-state\", \"create_delete_combination_alarm\"."},{"line_number":12,"context_line":"Removes alarm create logic from list_alarms method and uses the alarms"},{"line_number":13,"context_line":"in setUp for verification."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"AAAAW3%2F%2F%2BOk%3D","line":10,"updated":"2014-04-09 06:20:41.000000000","message":"typo : alaram - \u003e alarm","commit_id":"115bc9a5f60633d659e18306072bf72d6eb6b584"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"0fa219a24dceaed8213cf4431facf95b65004dfe","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adds more testcases to test_telemetry_alarming_api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This submission is to add more testcases in \"test_telemetry_alarming_api.py\""},{"line_number":10,"context_line":"test_script. The test cases added are for scenarios \"update-alaram\","},{"line_number":11,"context_line":"\"set-get-alarm-state\", \"create_delete_combination_alarm\"."},{"line_number":12,"context_line":"Removes alarm create logic from list_alarms method and uses the alarms"},{"line_number":13,"context_line":"in setUp for verification."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"AAAAW3%2F%2F5q4%3D","line":10,"in_reply_to":"AAAAW3%2F%2F%2BOk%3D","updated":"2014-04-09 15:51:53.000000000","message":"Done","commit_id":"115bc9a5f60633d659e18306072bf72d6eb6b584"}],"tempest/api/telemetry/test_telemetry_alarming_api.py":[{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"906257c7fddc67b1d202540a5d52110e1be4b7f1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    def setUpClass(cls):"},{"line_number":23,"context_line":"        super(TelemetryAlarmingAPITestJSON, cls).setUpClass()"},{"line_number":24,"context_line":"        cls.alarm_ids \u003d []"},{"line_number":25,"context_line":"        for i in range(2):"},{"line_number":26,"context_line":"            rules \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,"},{"line_number":27,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":28,"context_line":"                     \u0027threshold\u0027: 80.0,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Bqhk%3D","line":25,"updated":"2014-03-25 07:44:56.000000000","message":"why do we use two identical rules?","commit_id":"6c8d0db605989329bc28cd6bd0ba07c525f47cfe"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"8fa905be8c641cc7c73593ed74361e1823111fa6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    def setUpClass(cls):"},{"line_number":23,"context_line":"        super(TelemetryAlarmingAPITestJSON, cls).setUpClass()"},{"line_number":24,"context_line":"        cls.alarm_ids \u003d []"},{"line_number":25,"context_line":"        for i in range(2):"},{"line_number":26,"context_line":"            rules \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,"},{"line_number":27,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":28,"context_line":"                     \u0027threshold\u0027: 80.0,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Bots%3D","line":25,"in_reply_to":"AAAAWH%2F%2Bo9Q%3D","updated":"2014-03-25 12:02:59.000000000","message":"ok.","commit_id":"6c8d0db605989329bc28cd6bd0ba07c525f47cfe"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"2bb15dcb204da3391b015fdf69570edb76bb198b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    def setUpClass(cls):"},{"line_number":23,"context_line":"        super(TelemetryAlarmingAPITestJSON, cls).setUpClass()"},{"line_number":24,"context_line":"        cls.alarm_ids \u003d []"},{"line_number":25,"context_line":"        for i in range(2):"},{"line_number":26,"context_line":"            rules \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,"},{"line_number":27,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":28,"context_line":"                     \u0027threshold\u0027: 80.0,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Bo9Q%3D","line":25,"in_reply_to":"AAAAWH%2F%2Bp%2B8%3D","updated":"2014-03-25 11:15:21.000000000","message":"In \"test_create_alam_with_combination_rule\" we need two alarm ids for creating combination rule. Thus it does not make any difference if the rules of these threshold alarms are identical as alarms created are with different names and unique IDs.\n\nPlease correct me if I am wrong.","commit_id":"6c8d0db605989329bc28cd6bd0ba07c525f47cfe"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"341a23422c4de9d8c0c1fec24bb053cd4d34f8f6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    def setUpClass(cls):"},{"line_number":23,"context_line":"        super(TelemetryAlarmingAPITestJSON, cls).setUpClass()"},{"line_number":24,"context_line":"        cls.alarm_ids \u003d []"},{"line_number":25,"context_line":"        for i in range(2):"},{"line_number":26,"context_line":"            rules \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,"},{"line_number":27,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":28,"context_line":"                     \u0027threshold\u0027: 80.0,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Bp%2B8%3D","line":25,"in_reply_to":"AAAAWH%2F%2Bqhk%3D","updated":"2014-03-25 09:37:09.000000000","message":"+1","commit_id":"6c8d0db605989329bc28cd6bd0ba07c525f47cfe"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"341a23422c4de9d8c0c1fec24bb053cd4d34f8f6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":39,"context_line":"    def test_create_alam_with_combination_rule(self):"},{"line_number":40,"context_line":"        #Create two alarms used for combination rule"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        rule \u003d {\"alarm_ids\": self.alarm_ids,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Bp%2BA%3D","line":39,"updated":"2014-03-25 09:37:09.000000000","message":"alam -\u003e alarm\n\nIn this test you delete alrm. You should consider that in the name of test.\nTest name should be test_create_delete_alarm_with_combination_rule.","commit_id":"6c8d0db605989329bc28cd6bd0ba07c525f47cfe"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"2bb15dcb204da3391b015fdf69570edb76bb198b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":39,"context_line":"    def test_create_alam_with_combination_rule(self):"},{"line_number":40,"context_line":"        #Create two alarms used for combination rule"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        rule \u003d {\"alarm_ids\": self.alarm_ids,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Bo%2Bs%3D","line":39,"in_reply_to":"AAAAWH%2F%2Bp%2BA%3D","updated":"2014-03-25 11:15:21.000000000","message":"Done","commit_id":"6c8d0db605989329bc28cd6bd0ba07c525f47cfe"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"453bd467e88e2f2cdb23d61f8d185558ee3d53c7","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                                           new_state)"},{"line_number":111,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":112,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":113,"context_line":"        self.assertEqual(body[\u0027state\u0027], new_state)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Bnxk%3D","line":113,"updated":"2014-03-25 14:17:43.000000000","message":"It would be nice if you checked alarm in all states","commit_id":"219c97c7ee410eb14ea3d26d8cca660b9be82342"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"4c1401e3400107d8d0ce912fe58d6a165f0fbafd","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                                           new_state)"},{"line_number":111,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":112,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":113,"context_line":"        self.assertEqual(body[\u0027state\u0027], new_state)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Bfbw%3D","line":113,"in_reply_to":"AAAAWH%2F%2BlMY%3D","updated":"2014-03-26 12:58:34.000000000","message":"Hi Rovachev,\n\nIMHO, as the aim of test case is only to check set and get of state, checking all states would not add much value here.\n\nset/get state REST call would result in same response what ever the state is.\n\nPlease correct me if I am wrong.","commit_id":"219c97c7ee410eb14ea3d26d8cca660b9be82342"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"7cf41f2946399972f5221f9a94021b8e5ee22361","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                                           new_state)"},{"line_number":111,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":112,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":113,"context_line":"        self.assertEqual(body[\u0027state\u0027], new_state)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BlMY%3D","line":113,"in_reply_to":"AAAAWH%2F%2BloA%3D","updated":"2014-03-25 18:46:25.000000000","message":"Hi, Ravikumar. You are about to add a test to check alarm status in following patch sets?","commit_id":"219c97c7ee410eb14ea3d26d8cca660b9be82342"},{"author":{"_account_id":1795,"name":"Ravikumar Venkatesan","email":"ravikumar.venkatesan@hpe.com","username":"ravikumar-venkatesan"},"change_message_id":"b853c33b762060ecbcca2281b608a138b309c635","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                                           new_state)"},{"line_number":111,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":112,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":113,"context_line":"        self.assertEqual(body[\u0027state\u0027], new_state)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BloA%3D","line":113,"in_reply_to":"AAAAWH%2F%2Bnxk%3D","updated":"2014-03-25 17:53:27.000000000","message":"Hi Vadim,\nGiven the test steps, I do not any value added checking alarm in all states.","commit_id":"219c97c7ee410eb14ea3d26d8cca660b9be82342"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"9c922b97642653d8198f8cc27949dc213f2ab204","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    @classmethod"},{"line_number":22,"context_line":"    def setUpClass(cls):"},{"line_number":23,"context_line":"        super(TelemetryAlarmingAPITestJSON, cls).setUpClass()"},{"line_number":24,"context_line":"        cls.alarm_ids \u003d list()"},{"line_number":25,"context_line":"        for i in range(2):"},{"line_number":26,"context_line":"            rules \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,"},{"line_number":27,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BfHQ%3D","line":24,"updated":"2014-03-26 14:27:10.000000000","message":"Why do you write this line?\nIn file tempest/api/telemetry/base.py in setUpClass method variable cls.alarm_ids has already been specified (line 32).","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"fa671b33bfc6b0a07423f527d7f063de4ca58d2e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    @classmethod"},{"line_number":22,"context_line":"    def setUpClass(cls):"},{"line_number":23,"context_line":"        super(TelemetryAlarmingAPITestJSON, cls).setUpClass()"},{"line_number":24,"context_line":"        cls.alarm_ids \u003d list()"},{"line_number":25,"context_line":"        for i in range(2):"},{"line_number":26,"context_line":"            rules \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,"},{"line_number":27,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BYrU%3D","line":24,"in_reply_to":"AAAAWH%2F%2BfHQ%3D","updated":"2014-03-27 09:55:28.000000000","message":"Done","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"9c922b97642653d8198f8cc27949dc213f2ab204","unresolved":false,"context_lines":[{"line_number":28,"context_line":"                     \u0027threshold\u0027: 80.0,"},{"line_number":29,"context_line":"                     \u0027period\u0027: 70}"},{"line_number":30,"context_line":"            resp, body \u003d cls.create_alarm(threshold_rule\u003drules)"},{"line_number":31,"context_line":"            cls.alarm_ids.append(body[\u0027alarm_id\u0027])"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":34,"context_line":"    def test_alarm_list(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BfHM%3D","line":31,"updated":"2014-03-26 14:27:10.000000000","message":"Why do you add alarm_id to cls.alarm_ids here? You use method create_alarm which contains this operation (line 40).","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"fa671b33bfc6b0a07423f527d7f063de4ca58d2e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"                     \u0027threshold\u0027: 80.0,"},{"line_number":29,"context_line":"                     \u0027period\u0027: 70}"},{"line_number":30,"context_line":"            resp, body \u003d cls.create_alarm(threshold_rule\u003drules)"},{"line_number":31,"context_line":"            cls.alarm_ids.append(body[\u0027alarm_id\u0027])"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":34,"context_line":"    def test_alarm_list(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BYrQ%3D","line":31,"in_reply_to":"AAAAWH%2F%2BfHM%3D","updated":"2014-03-27 09:55:28.000000000","message":"Done","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"9c922b97642653d8198f8cc27949dc213f2ab204","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Verify created alarm in the list"},{"line_number":40,"context_line":"        fetched_ids \u003d [a[\u0027alarm_id\u0027] for a in alarm_list]"},{"line_number":41,"context_line":"        missing_alarms \u003d [a for a in self.alarm_ids if a not in fetched_ids]"},{"line_number":42,"context_line":"        self.assertEqual(0, len(missing_alarms),"},{"line_number":43,"context_line":"                         \"Failed to find the following created alarm(s)\""},{"line_number":44,"context_line":"                         \" in a fetched list: %s\" %"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2Bevg%3D","line":41,"updated":"2014-03-26 14:27:10.000000000","message":"It will be better to write this line so\n\n missing_alarms \u003d [a for a in fetched_ids if a not in self.alarm_ids]\n\nbecause self.alarm_ids may contain IDs from other tests.","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"83cf1dada27bf0bfe574ade1061073fe6354b27d","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Verify created alarm in the list"},{"line_number":40,"context_line":"        fetched_ids \u003d [a[\u0027alarm_id\u0027] for a in alarm_list]"},{"line_number":41,"context_line":"        missing_alarms \u003d [a for a in self.alarm_ids if a not in fetched_ids]"},{"line_number":42,"context_line":"        self.assertEqual(0, len(missing_alarms),"},{"line_number":43,"context_line":"                         \"Failed to find the following created alarm(s)\""},{"line_number":44,"context_line":"                         \" in a fetched list: %s\" %"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BXRs%3D","line":41,"in_reply_to":"AAAAWH%2F%2BXtg%3D","updated":"2014-03-27 11:13:41.000000000","message":"Ok.","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":2222,"name":"meenakshi-m","username":"meenakshi-m"},"change_message_id":"fa671b33bfc6b0a07423f527d7f063de4ca58d2e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Verify created alarm in the list"},{"line_number":40,"context_line":"        fetched_ids \u003d [a[\u0027alarm_id\u0027] for a in alarm_list]"},{"line_number":41,"context_line":"        missing_alarms \u003d [a for a in self.alarm_ids if a not in fetched_ids]"},{"line_number":42,"context_line":"        self.assertEqual(0, len(missing_alarms),"},{"line_number":43,"context_line":"                         \"Failed to find the following created alarm(s)\""},{"line_number":44,"context_line":"                         \" in a fetched list: %s\" %"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BXtg%3D","line":41,"in_reply_to":"AAAAWH%2F%2Bevg%3D","updated":"2014-03-27 09:55:28.000000000","message":"Hi Lobankov,\n\nWhen we list alarms, we do not expect all the fetched_ids to be present in the created alarm list as the fetched_ids may contain\nextra alarms that would be remains of other test failures just in case. \n\nAlso if we change the line as you mentioned, we are not checking if all created_alarms are fetched.\n\nIn addition, this logic has been followed since many submissions.\n\nPlease refer scripts test_keypairs, test_security_groups in\napi/compute/keypairs and api/compute/security_groups/ respectively.","commit_id":"18900617bb139caacfcb1c2c3d6983031655492d"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":27,"context_line":"                     \u0027threshold\u0027: 80.0,"},{"line_number":28,"context_line":"                     \u0027period\u0027: 70}"},{"line_number":29,"context_line":"            resp, body \u003d cls.create_alarm(threshold_rule\u003drules)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":32,"context_line":"    def test_alarm_list(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMZg%3D","line":29,"updated":"2014-03-28 14:15:18.000000000","message":"please change it on \"cls.create_alarm(threshold_rule\u003drules)\"","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":27,"context_line":"                     \u0027threshold\u0027: 80.0,"},{"line_number":28,"context_line":"                     \u0027period\u0027: 70}"},{"line_number":29,"context_line":"            resp, body \u003d cls.create_alarm(threshold_rule\u003drules)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":32,"context_line":"    def test_alarm_list(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xK0%3D","line":29,"in_reply_to":"AAAAWH%2F%2BMZg%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                \u0027threshold\u0027: 80.0,"},{"line_number":51,"context_line":"                \u0027period\u0027: 70}"},{"line_number":52,"context_line":"        resp, body \u003d self.create_alarm(threshold_rule\u003drule)"},{"line_number":53,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027threshold_rule\u0027])"},{"line_number":56,"context_line":"        # Update alarm with new rule and new name"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMZI%3D","line":53,"updated":"2014-03-28 14:15:18.000000000","message":"you can use \"resp.status\" instead int(resp[\u0027status])","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                \u0027threshold\u0027: 80.0,"},{"line_number":51,"context_line":"                \u0027period\u0027: 70}"},{"line_number":52,"context_line":"        resp, body \u003d self.create_alarm(threshold_rule\u003drule)"},{"line_number":53,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027threshold_rule\u0027])"},{"line_number":56,"context_line":"        # Update alarm with new rule and new name"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKw%3D","line":53,"in_reply_to":"AAAAWH%2F%2BMZI%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                    \u0027threshold\u0027: 70.0,"},{"line_number":60,"context_line":"                    \u0027period\u0027: 60}"},{"line_number":61,"context_line":"        name \u003d \u0027telemetry-alarm-update\u0027"},{"line_number":62,"context_line":"        resp, body \u003d self.telemetry_client.update_alarm("},{"line_number":63,"context_line":"            self.alarm_id,"},{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMYo%3D","line":62,"updated":"2014-03-28 14:15:18.000000000","message":"unused variable \"body\"","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                    \u0027threshold\u0027: 70.0,"},{"line_number":60,"context_line":"                    \u0027period\u0027: 60}"},{"line_number":61,"context_line":"        name \u003d \u0027telemetry-alarm-update\u0027"},{"line_number":62,"context_line":"        resp, body \u003d self.telemetry_client.update_alarm("},{"line_number":63,"context_line":"            self.alarm_id,"},{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKs%3D","line":62,"in_reply_to":"AAAAWH%2F%2BMYo%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"},{"line_number":66,"context_line":"            type\u003d\u0027threshold\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMY8%3D","line":67,"updated":"2014-03-28 14:15:18.000000000","message":"you can use \"resp.status\" instead int(resp[\u0027status])","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"},{"line_number":66,"context_line":"            type\u003d\u0027threshold\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKo%3D","line":67,"in_reply_to":"AAAAWH%2F%2BMY8%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":71,"context_line":"        self.assertEqual(name, body[\u0027name\u0027])"},{"line_number":72,"context_line":"        self.assertDictContainsSubset(new_rule, body[\u0027threshold_rule\u0027])"},{"line_number":73,"context_line":"        # Delete alarm and verify if deleted"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMYk%3D","line":70,"updated":"2014-03-28 14:15:18.000000000","message":"you can use \"resp.status\" instead int(resp[\u0027status])","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":71,"context_line":"        self.assertEqual(name, body[\u0027name\u0027])"},{"line_number":72,"context_line":"        self.assertDictContainsSubset(new_rule, body[\u0027threshold_rule\u0027])"},{"line_number":73,"context_line":"        # Delete alarm and verify if deleted"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKk%3D","line":70,"in_reply_to":"AAAAWH%2F%2BMYk%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.assertDictContainsSubset(new_rule, body[\u0027threshold_rule\u0027])"},{"line_number":73,"context_line":"        # Delete alarm and verify if deleted"},{"line_number":74,"context_line":"        resp, _ \u003d self.telemetry_client.delete_alarm(self.alarm_id)"},{"line_number":75,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 204)"},{"line_number":76,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":77,"context_line":"                          self.telemetry_client.get_alarm,"},{"line_number":78,"context_line":"                          self.alarm_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMYg%3D","line":75,"updated":"2014-03-28 14:15:18.000000000","message":"you can use \"resp.status\" instead int(resp[\u0027status])","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.assertDictContainsSubset(new_rule, body[\u0027threshold_rule\u0027])"},{"line_number":73,"context_line":"        # Delete alarm and verify if deleted"},{"line_number":74,"context_line":"        resp, _ \u003d self.telemetry_client.delete_alarm(self.alarm_id)"},{"line_number":75,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 204)"},{"line_number":76,"context_line":"        self.assertRaises(exceptions.NotFound,"},{"line_number":77,"context_line":"                          self.telemetry_client.get_alarm,"},{"line_number":78,"context_line":"                          self.alarm_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKg%3D","line":75,"in_reply_to":"AAAAWH%2F%2BMYg%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":89,"context_line":"        # Get alarm state"},{"line_number":90,"context_line":"        resp, state \u003d self.telemetry_client.alarm_get_state(alarm[\u0027alarm_id\u0027])"},{"line_number":91,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":92,"context_line":"        self.assertEqual(alarm[\u0027state\u0027], state)"},{"line_number":93,"context_line":"        # Set alarm state and verify"},{"line_number":94,"context_line":"        new_state \u003d\\"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMYM%3D","line":91,"updated":"2014-03-28 14:15:18.000000000","message":"you can use \"resp.status\" instead int(resp[\u0027status])","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":89,"context_line":"        # Get alarm state"},{"line_number":90,"context_line":"        resp, state \u003d self.telemetry_client.alarm_get_state(alarm[\u0027alarm_id\u0027])"},{"line_number":91,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":92,"context_line":"        self.assertEqual(alarm[\u0027state\u0027], state)"},{"line_number":93,"context_line":"        # Set alarm state and verify"},{"line_number":94,"context_line":"        new_state \u003d\\"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKc%3D","line":91,"in_reply_to":"AAAAWH%2F%2BMYM%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"b13532e0db27b25726c31a69b6558621f1ee6777","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        # Set alarm state and verify"},{"line_number":94,"context_line":"        new_state \u003d\\"},{"line_number":95,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"},{"line_number":96,"context_line":"        resp, body \u003d self.telemetry_client.alarm_set_state(alarm[\u0027alarm_id\u0027],"},{"line_number":97,"context_line":"                                                           new_state)"},{"line_number":98,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2BMXw%3D","line":96,"updated":"2014-03-28 14:15:18.000000000","message":"unused variables \"resp\" and \"body\"","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"adf4231ea8e65becf6e2112441f310211cb2a86d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        # Set alarm state and verify"},{"line_number":94,"context_line":"        new_state \u003d\\"},{"line_number":95,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"},{"line_number":96,"context_line":"        resp, body \u003d self.telemetry_client.alarm_set_state(alarm[\u0027alarm_id\u0027],"},{"line_number":97,"context_line":"                                                           new_state)"},{"line_number":98,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 200)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9xKY%3D","line":96,"in_reply_to":"AAAAWH%2F%2BMXw%3D","updated":"2014-04-02 09:02:52.000000000","message":"Done","commit_id":"642a19c56cd992417fb103c5ec43e7f691e00848"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"d1a066f4e149819bc76ba9a753b29378f4df97dd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":27,"context_line":"                     \u0027threshold\u0027: 80.0,"},{"line_number":28,"context_line":"                     \u0027period\u0027: 70}"},{"line_number":29,"context_line":"            cls.create_alarm(threshold_rule\u003drules)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":32,"context_line":"    def test_alarm_list(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wrA%3D","line":29,"updated":"2014-04-02 10:19:47.000000000","message":"You can write\n\n@classmethod\ndef setUpClass(cls):\n    super(TelemetryAlarmingAPITestJSON, cls).setUpClass()\n    cls.rule \u003d {\u0027meter_name\u0027: \u0027cpu_util\u0027,\n                \u0027comparison_operator\u0027: \u0027gt\u0027,\n                \u0027threshold\u0027: 80.0,\n                \u0027period\u0027: 70}\n    for i in range(2):\n        cls.create_alarm(threshold_rule\u003dcls.rule)","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d1c7f9f9d5b89aa87cfe95e78dcd40b0a04cff81","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                     \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":27,"context_line":"                     \u0027threshold\u0027: 80.0,"},{"line_number":28,"context_line":"                     \u0027period\u0027: 70}"},{"line_number":29,"context_line":"            cls.create_alarm(threshold_rule\u003drules)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":32,"context_line":"    def test_alarm_list(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wWw%3D","line":29,"in_reply_to":"AAAAWH%2F9wrA%3D","updated":"2014-04-02 10:50:17.000000000","message":"Done","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"d1a066f4e149819bc76ba9a753b29378f4df97dd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":50,"context_line":"                \u0027threshold\u0027: 80.0,"},{"line_number":51,"context_line":"                \u0027period\u0027: 70}"},{"line_number":52,"context_line":"        resp, body \u003d self.create_alarm(threshold_rule\u003drule)"},{"line_number":53,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027threshold_rule\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wic%3D","line":52,"updated":"2014-04-02 10:19:47.000000000","message":"Here you can write\n\nresp, body \u003d self.create_alarm(threshold_rule\u003dcls.rule)\n\nThus variable \"rule\" in line 48 can be deleted.","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d1c7f9f9d5b89aa87cfe95e78dcd40b0a04cff81","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":50,"context_line":"                \u0027threshold\u0027: 80.0,"},{"line_number":51,"context_line":"                \u0027period\u0027: 70}"},{"line_number":52,"context_line":"        resp, body \u003d self.create_alarm(threshold_rule\u003drule)"},{"line_number":53,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027threshold_rule\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wWI%3D","line":52,"in_reply_to":"AAAAWH%2F9wic%3D","updated":"2014-04-02 10:50:17.000000000","message":"Done","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"f86509bef50508f6feaefc027e9cacdaae15f7e3","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"},{"line_number":66,"context_line":"            type\u003d\u0027threshold\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(resp.status, 200)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wko%3D","line":67,"updated":"2014-04-02 10:15:24.000000000","message":"usually self.assertEqual(\"expected result\", \"actual result\")","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d1c7f9f9d5b89aa87cfe95e78dcd40b0a04cff81","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"},{"line_number":66,"context_line":"            type\u003d\u0027threshold\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(resp.status, 200)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wWs%3D","line":67,"in_reply_to":"AAAAWH%2F9wko%3D","updated":"2014-04-02 10:50:17.000000000","message":"We did not follow this convention. Hence updated all the assertions with the same format. \n\nThanks","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"d1a066f4e149819bc76ba9a753b29378f4df97dd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                 \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":85,"context_line":"                 \u0027threshold\u0027: 80.0,"},{"line_number":86,"context_line":"                 \u0027period\u0027: 70}"},{"line_number":87,"context_line":"        resp, alarm \u003d self.create_alarm(threshold_rule\u003drules)"},{"line_number":88,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":89,"context_line":"        # Get alarm state"},{"line_number":90,"context_line":"        resp, state \u003d self.telemetry_client.alarm_get_state(alarm[\u0027alarm_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wlA%3D","line":87,"updated":"2014-04-02 10:19:47.000000000","message":"ditto","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d1c7f9f9d5b89aa87cfe95e78dcd40b0a04cff81","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                 \u0027comparison_operator\u0027: \u0027gt\u0027,"},{"line_number":85,"context_line":"                 \u0027threshold\u0027: 80.0,"},{"line_number":86,"context_line":"                 \u0027period\u0027: 70}"},{"line_number":87,"context_line":"        resp, alarm \u003d self.create_alarm(threshold_rule\u003drules)"},{"line_number":88,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":89,"context_line":"        # Get alarm state"},{"line_number":90,"context_line":"        resp, state \u003d self.telemetry_client.alarm_get_state(alarm[\u0027alarm_id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9wWM%3D","line":87,"in_reply_to":"AAAAWH%2F9wlA%3D","updated":"2014-04-02 10:50:17.000000000","message":"Done","commit_id":"2fd7f8881c788ed3d78e398c2a000918e1ec2a45"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c2deef9b3a9f899de9d8e267f8aa004446a7f3a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":94,"context_line":"    def test_create_delete_alarm_with_combination_rule(self):"},{"line_number":95,"context_line":"        #Create two alarms used for combination rule"},{"line_number":96,"context_line":"        rule \u003d {\"alarm_ids\": self.alarm_ids,"},{"line_number":97,"context_line":"                \"operator\": \"or\"}"},{"line_number":98,"context_line":"        # Verifies alarm create"},{"line_number":99,"context_line":"        resp, body \u003d self.telemetry_client.create_alarm(name\u003d\"telemetry-alarm\","}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9ttY%3D","line":96,"updated":"2014-04-02 16:11:37.000000000","message":"In test \"test_create_update_get_delete_alarm\" you create alarm (line 48). In line 70 you delete alarm but its ID still is in list \"self.alarm_ids\". So list \"self.alarm_ids\" may have ID of deleted alarm.\n\nTo avoid errors you can call method \"self.telemetry_client.create_alarm\" instead of \"self.create_alarm\" (line 48).","commit_id":"9b10ffe96c7dadbb56de1509662c7b30f0950b2b"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"d7c5bd56b88f1aaf04540777ed24de98e7d42141","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":94,"context_line":"    def test_create_delete_alarm_with_combination_rule(self):"},{"line_number":95,"context_line":"        #Create two alarms used for combination rule"},{"line_number":96,"context_line":"        rule \u003d {\"alarm_ids\": self.alarm_ids,"},{"line_number":97,"context_line":"                \"operator\": \"or\"}"},{"line_number":98,"context_line":"        # Verifies alarm create"},{"line_number":99,"context_line":"        resp, body \u003d self.telemetry_client.create_alarm(name\u003d\"telemetry-alarm\","}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9lQM%3D","line":96,"in_reply_to":"AAAAWH%2F9ttY%3D","updated":"2014-04-03 14:57:42.000000000","message":"Done\n\nWe could not figure out this error as \"test_create_delete_alarm_with_combination_rule\" always ran before \"test_create_update_get_delete_alarm\" according to the alphabetical order. Thanks Lobankov, for pointing out this.","commit_id":"9b10ffe96c7dadbb56de1509662c7b30f0950b2b"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0ed9f5d761bb5d9fc698b68f35bdf3b9f63acf72","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            name\u003ddata_utils.rand_name(\u0027telemetry_alarm\u0027),"},{"line_number":51,"context_line":"            type\u003d\u0027threshold\u0027,"},{"line_number":52,"context_line":"            threshold_rule\u003dself.rule)"},{"line_number":53,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(self.rule, body[\u0027threshold_rule\u0027])"},{"line_number":56,"context_line":"        # Update alarm with new rule and new name"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9ebQ%3D","line":53,"updated":"2014-04-04 09:19:03.000000000","message":"It would be quite good to have the check for alarm name.\n\nSomething like this\n\nalrm_name \u003d data_utils.rand_name(\u0027telemetry_alarm\u0027)\n\nresp, body \u003d self.telemetry_client.create_alarm(...)\n\nself.assertEqual(201, resp.status)\n\nself.assertEqual(alrm_name, body[\u0027name\u0027])\n\nself.assertDictContainsSubset(self.rule, body[\u0027threshold_rule\u0027])\n\nalarm_id \u003d body[\u0027id\u0027]\n\n# Update alarm with new rule and new name\n...","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            name\u003ddata_utils.rand_name(\u0027telemetry_alarm\u0027),"},{"line_number":51,"context_line":"            type\u003d\u0027threshold\u0027,"},{"line_number":52,"context_line":"            threshold_rule\u003dself.rule)"},{"line_number":53,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(self.rule, body[\u0027threshold_rule\u0027])"},{"line_number":56,"context_line":"        # Update alarm with new rule and new name"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4js%3D","line":53,"in_reply_to":"AAAAWH%2F9ebQ%3D","updated":"2014-04-08 18:47:50.000000000","message":"Done","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"52a94cc181c9459a8dbfa8a16ec00abe8d694b98","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            type\u003d\u0027threshold\u0027,"},{"line_number":52,"context_line":"            threshold_rule\u003dself.rule)"},{"line_number":53,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(self.rule, body[\u0027threshold_rule\u0027])"},{"line_number":56,"context_line":"        # Update alarm with new rule and new name"},{"line_number":57,"context_line":"        new_rule \u003d {\u0027meter_name\u0027: \u0027cpu\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9e9s%3D","line":54,"updated":"2014-04-04 07:46:52.000000000","message":"why do you use self.alarm_id? it\u0027s no clear for me. This variable isn\u0027t used in other methods, may be would be better to make it local variable?","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            type\u003d\u0027threshold\u0027,"},{"line_number":52,"context_line":"            threshold_rule\u003dself.rule)"},{"line_number":53,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":54,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":55,"context_line":"        self.assertDictContainsSubset(self.rule, body[\u0027threshold_rule\u0027])"},{"line_number":56,"context_line":"        # Update alarm with new rule and new name"},{"line_number":57,"context_line":"        new_rule \u003d {\u0027meter_name\u0027: \u0027cpu\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4jo%3D","line":54,"in_reply_to":"AAAAWH%2F9e9s%3D","updated":"2014-04-08 18:47:50.000000000","message":"Done","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0ed9f5d761bb5d9fc698b68f35bdf3b9f63acf72","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"},{"line_number":66,"context_line":"            type\u003d\u0027threshold\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9ehg%3D","line":67,"updated":"2014-04-04 09:19:03.000000000","message":"It would be quite good to have the check for \"new_rule\" and alarm name.\n\nSomething like this\n\nalarm_name \u003d data_utils.rand_name(\u0027telemetry-alarm-update\u0027)\n\nresp, body \u003d self.telemetry_client.update_alarm(...)\n\nself.assertEqual(200, resp.status)\n\nself.assertEqual(alarm_name, body[\u0027name\u0027])\n\nself.assertDictContainsSubset(new_rule, body[\u0027threshold_rule\u0027])","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            threshold_rule\u003dnew_rule,"},{"line_number":65,"context_line":"            name\u003dname,"},{"line_number":66,"context_line":"            type\u003d\u0027threshold\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":68,"context_line":"        # Get and verify details of an alarm after update"},{"line_number":69,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(self.alarm_id)"},{"line_number":70,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4jg%3D","line":67,"in_reply_to":"AAAAWH%2F9ehg%3D","updated":"2014-04-08 18:47:50.000000000","message":"Done","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0ed9f5d761bb5d9fc698b68f35bdf3b9f63acf72","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"},{"line_number":92,"context_line":"        resp, _ \u003d self.telemetry_client.alarm_set_state(alarm[\u0027alarm_id\u0027],"},{"line_number":93,"context_line":"                                                        new_state)"},{"line_number":94,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":95,"context_line":"        _, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":96,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9eXU%3D","line":94,"updated":"2014-04-04 09:19:03.000000000","message":"Here we can add\n\nself.assertEqual(new_state, body[\u0027state\u0027])","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"},{"line_number":92,"context_line":"        resp, _ \u003d self.telemetry_client.alarm_set_state(alarm[\u0027alarm_id\u0027],"},{"line_number":93,"context_line":"                                                        new_state)"},{"line_number":94,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":95,"context_line":"        _, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":96,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4io%3D","line":94,"in_reply_to":"AAAAWH%2F9eXU%3D","updated":"2014-04-08 18:47:50.000000000","message":"Yes, have added assert statement. But response body of set alarm state is not a dict value and it is a string value. Hence added the assert as follows:\nself.assertEqual(new_state, state)","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0ed9f5d761bb5d9fc698b68f35bdf3b9f63acf72","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        resp, _ \u003d self.telemetry_client.alarm_set_state(alarm[\u0027alarm_id\u0027],"},{"line_number":93,"context_line":"                                                        new_state)"},{"line_number":94,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":95,"context_line":"        _, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":96,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9eXE%3D","line":95,"updated":"2014-04-04 09:19:03.000000000","message":"Here we can add\n\nself.assertEqual(200, resp.status)","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        resp, _ \u003d self.telemetry_client.alarm_set_state(alarm[\u0027alarm_id\u0027],"},{"line_number":93,"context_line":"                                                        new_state)"},{"line_number":94,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":95,"context_line":"        _, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":96,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4hw%3D","line":95,"in_reply_to":"AAAAWH%2F9eXE%3D","updated":"2014-04-08 18:47:50.000000000","message":"Here in this test case we need not assert response status of get_alarm call as the actual aim of test is only to set and get alarm states. The response status of get alarm is asserted in the test case \"test_create_update_get_delete_alarm\".","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"0ed9f5d761bb5d9fc698b68f35bdf3b9f63acf72","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            name\u003ddata_utils.rand_name(\u0027combination_alarm\u0027),"},{"line_number":106,"context_line":"            combination_rule\u003drule,"},{"line_number":107,"context_line":"            type\u003d\u0027combination\u0027)"},{"line_number":108,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":109,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":110,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027combination_rule\u0027])"},{"line_number":111,"context_line":"        # Verify alarm delete"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9eVA%3D","line":108,"updated":"2014-04-04 09:19:03.000000000","message":"Add the check for alarm name","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            name\u003ddata_utils.rand_name(\u0027combination_alarm\u0027),"},{"line_number":106,"context_line":"            combination_rule\u003drule,"},{"line_number":107,"context_line":"            type\u003d\u0027combination\u0027)"},{"line_number":108,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":109,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":110,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027combination_rule\u0027])"},{"line_number":111,"context_line":"        # Verify alarm delete"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4ho%3D","line":108,"in_reply_to":"AAAAWH%2F9eVA%3D","updated":"2014-04-08 18:47:50.000000000","message":"Done","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"52a94cc181c9459a8dbfa8a16ec00abe8d694b98","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            combination_rule\u003drule,"},{"line_number":107,"context_line":"            type\u003d\u0027combination\u0027)"},{"line_number":108,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":109,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":110,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027combination_rule\u0027])"},{"line_number":111,"context_line":"        # Verify alarm delete"},{"line_number":112,"context_line":"        resp, _ \u003d self.telemetry_client.delete_alarm(self.alarm_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F9e9o%3D","line":109,"updated":"2014-04-04 07:46:52.000000000","message":"ditto","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"029999ee72eb041a8ba76fd62ed7f5755c79627a","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            combination_rule\u003drule,"},{"line_number":107,"context_line":"            type\u003d\u0027combination\u0027)"},{"line_number":108,"context_line":"        self.assertEqual(201, resp.status)"},{"line_number":109,"context_line":"        self.alarm_id \u003d body[\u0027alarm_id\u0027]"},{"line_number":110,"context_line":"        self.assertDictContainsSubset(rule, body[\u0027combination_rule\u0027])"},{"line_number":111,"context_line":"        # Verify alarm delete"},{"line_number":112,"context_line":"        resp, _ \u003d self.telemetry_client.delete_alarm(self.alarm_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F4hk%3D","line":109,"in_reply_to":"AAAAWH%2F9e9o%3D","updated":"2014-04-08 18:47:50.000000000","message":"Done","commit_id":"585ca8a88986cd0754a2b95d18970d1d7bb05aa3"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"41839a6720f06931984fdf4242d7c7085e51a1ab","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":101,"context_line":"    def test_create_delete_alarm_with_combination_rule(self):"},{"line_number":102,"context_line":"        #Create two alarms used for combination rule"},{"line_number":103,"context_line":"        rule \u003d {\"alarm_ids\": self.alarm_ids,"},{"line_number":104,"context_line":"                \"operator\": \"or\"}"},{"line_number":105,"context_line":"        # Verifies alarm create"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAW3%2F%2F%2BPU%3D","line":102,"updated":"2014-04-09 06:16:51.000000000","message":"cretated two alarms ?? where?","commit_id":"115bc9a5f60633d659e18306072bf72d6eb6b584"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"0fa219a24dceaed8213cf4431facf95b65004dfe","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":101,"context_line":"    def test_create_delete_alarm_with_combination_rule(self):"},{"line_number":102,"context_line":"        #Create two alarms used for combination rule"},{"line_number":103,"context_line":"        rule \u003d {\"alarm_ids\": self.alarm_ids,"},{"line_number":104,"context_line":"                \"operator\": \"or\"}"},{"line_number":105,"context_line":"        # Verifies alarm create"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAW3%2F%2F5qk%3D","line":102,"in_reply_to":"AAAAW3%2F%2F%2BPU%3D","updated":"2014-04-09 15:51:53.000000000","message":"Done","commit_id":"115bc9a5f60633d659e18306072bf72d6eb6b584"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"70d7a1c33801aca823222ea7d70cdd4ee32115f2","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                            new_state)"},{"line_number":95,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":96,"context_line":"        self.assertEqual(new_state, state)"},{"line_number":97,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAW3%2F%2Fz2U%3D","line":97,"updated":"2014-04-10 09:08:00.000000000","message":"I think, here it is necessary to add check of response status:\nself.assertEqual(200, resp.status)","commit_id":"8b21e3ee59ffe293034645f4fac385774cb7e2ec"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"74a8eb6d9b4f4a1f3e2de8343708a7e2e4bccf41","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                            new_state)"},{"line_number":95,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":96,"context_line":"        self.assertEqual(new_state, state)"},{"line_number":97,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAW3%2F%2F0p0%3D","line":97,"updated":"2014-04-10 07:14:39.000000000","message":"unused variable \"resp\"","commit_id":"8b21e3ee59ffe293034645f4fac385774cb7e2ec"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"b509345f36b5ef1a983e7d13569bee58604f57b2","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                            new_state)"},{"line_number":95,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":96,"context_line":"        self.assertEqual(new_state, state)"},{"line_number":97,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAW3%2F%2FeEg%3D","line":97,"in_reply_to":"AAAAW3%2F%2F0p0%3D","updated":"2014-04-14 12:29:44.000000000","message":"Done.\nReplaced variable resp with _","commit_id":"8b21e3ee59ffe293034645f4fac385774cb7e2ec"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"b509345f36b5ef1a983e7d13569bee58604f57b2","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                            new_state)"},{"line_number":95,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":96,"context_line":"        self.assertEqual(new_state, state)"},{"line_number":97,"context_line":"        resp, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAW3%2F%2Fd1s%3D","line":97,"in_reply_to":"AAAAW3%2F%2Fz2U%3D","updated":"2014-04-14 12:29:44.000000000","message":"Hi Rovachev,\n\nIt is not necessary to assert response status here as the aim of the test case is to get/set state of alarm and not get the alarm details. The response status of \u0027get_alarm\u0027 method is asserted in \"test_create_update_get_delete_alarm\" test case.","commit_id":"8b21e3ee59ffe293034645f4fac385774cb7e2ec"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"7bbc15ca4612072379c147cd6d0d32fa7b36e7ac","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                            new_state)"},{"line_number":95,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":96,"context_line":"        self.assertEqual(new_state, state)"},{"line_number":97,"context_line":"        _, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FdxM%3D","line":97,"updated":"2014-04-21 15:18:59.000000000","message":"May be, it will be better to check setting alarm state at first, then getting alarm state. So you will not be forced to check getting alarm state after setting alarm state.","commit_id":"0e64692bc76fe7a0fd3190703302aea48c6b9743"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"cdc5398a4a2f2e7809c4d0a22d4f2bb7c49266a7","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                            new_state)"},{"line_number":95,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":96,"context_line":"        self.assertEqual(new_state, state)"},{"line_number":97,"context_line":"        _, body \u003d self.telemetry_client.get_alarm(alarm[\u0027alarm_id\u0027])"},{"line_number":98,"context_line":"        self.assertEqual(new_state, body[\u0027state\u0027])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @attr(type\u003d\"gate\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAXH%2F%2FSss%3D","line":97,"in_reply_to":"AAAAXH%2F%2FdxM%3D","updated":"2014-04-22 17:51:43.000000000","message":"Done","commit_id":"0e64692bc76fe7a0fd3190703302aea48c6b9743"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"35ba57825e997980b2c1692d18341a466b05743e","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                          self.telemetry_client.get_alarm, alarm_id)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":82,"context_line":"    def test_get_set_alarm_state(self):"},{"line_number":83,"context_line":"        alarm_states \u003d [\u0027ok\u0027, \u0027alarm\u0027, \u0027insufficient data\u0027]"},{"line_number":84,"context_line":"        _, alarm \u003d self.create_alarm(threshold_rule\u003dself.rule)"},{"line_number":85,"context_line":"        # Set alarm state and verify"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FN5U%3D","line":82,"updated":"2014-04-23 08:58:19.000000000","message":"By the way, I would suggest to rename this method to \"test_set_get_alarm_state\" because at first you check setting alarm state, then getting alarm state.","commit_id":"8a71322e72a782d0f64e76d224e72023d4248a71"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"eaa114a0c93a1b3f362bcd8866d02a2760cd06f8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                          self.telemetry_client.get_alarm, alarm_id)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":82,"context_line":"    def test_get_set_alarm_state(self):"},{"line_number":83,"context_line":"        alarm_states \u003d [\u0027ok\u0027, \u0027alarm\u0027, \u0027insufficient data\u0027]"},{"line_number":84,"context_line":"        _, alarm \u003d self.create_alarm(threshold_rule\u003dself.rule)"},{"line_number":85,"context_line":"        # Set alarm state and verify"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FNig%3D","line":82,"in_reply_to":"AAAAXH%2F%2FN5U%3D","updated":"2014-04-23 09:52:00.000000000","message":"Done","commit_id":"8a71322e72a782d0f64e76d224e72023d4248a71"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"5ab397ff88c180dd6ed00876711a5b4df9b66559","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":82,"context_line":"    def test_get_set_alarm_state(self):"},{"line_number":83,"context_line":"        alarm_states \u003d [\u0027ok\u0027, \u0027alarm\u0027, \u0027insufficient data\u0027]"},{"line_number":84,"context_line":"        _, alarm \u003d self.create_alarm(threshold_rule\u003dself.rule)"},{"line_number":85,"context_line":"        # Set alarm state and verify"},{"line_number":86,"context_line":"        new_state \u003d\\"},{"line_number":87,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FQ%2FI%3D","line":84,"updated":"2014-04-22 22:06:44.000000000","message":"Why did you remove the check for resp status code? Leave it.","commit_id":"8a71322e72a782d0f64e76d224e72023d4248a71"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"eaa114a0c93a1b3f362bcd8866d02a2760cd06f8","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":82,"context_line":"    def test_get_set_alarm_state(self):"},{"line_number":83,"context_line":"        alarm_states \u003d [\u0027ok\u0027, \u0027alarm\u0027, \u0027insufficient data\u0027]"},{"line_number":84,"context_line":"        _, alarm \u003d self.create_alarm(threshold_rule\u003dself.rule)"},{"line_number":85,"context_line":"        # Set alarm state and verify"},{"line_number":86,"context_line":"        new_state \u003d\\"},{"line_number":87,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FNjY%3D","line":84,"in_reply_to":"AAAAXH%2F%2FN9Y%3D","updated":"2014-04-23 09:52:00.000000000","message":"But to ensure alarm creation is successful, we have another test case. When we write a test case, we only verify the aim of test and not the per-requisites that are necessary.\n\nFor example, please consider \"test_get_floating_ip_details\" testcase in test_list_floating_ips.py script. (path: /tempest/tempest/api/compute/floating_ips)\nIn that test case, response status of only \"get_floating_ip_details\" is verified and not the status code of \"create_floating_ip\" call. This is the trend followed throughout tempest framework.","commit_id":"8a71322e72a782d0f64e76d224e72023d4248a71"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"5c47a17d75b014d30ea0c1b2f52f9c4557fecd4f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":82,"context_line":"    def test_get_set_alarm_state(self):"},{"line_number":83,"context_line":"        alarm_states \u003d [\u0027ok\u0027, \u0027alarm\u0027, \u0027insufficient data\u0027]"},{"line_number":84,"context_line":"        _, alarm \u003d self.create_alarm(threshold_rule\u003dself.rule)"},{"line_number":85,"context_line":"        # Set alarm state and verify"},{"line_number":86,"context_line":"        new_state \u003d\\"},{"line_number":87,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FN9Y%3D","line":84,"in_reply_to":"AAAAXH%2F%2FO%2Fw%3D","updated":"2014-04-23 08:52:03.000000000","message":"Hi rajalakshmi-ganesan. To set alarm state, you must ensure that alarm has been created successfully. And only then you should make the check for alarm.","commit_id":"8a71322e72a782d0f64e76d224e72023d4248a71"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"b36cbb78433bbcd7bb131f4cfa8b5d874a3c6a25","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @attr(type\u003d\"gate\")"},{"line_number":82,"context_line":"    def test_get_set_alarm_state(self):"},{"line_number":83,"context_line":"        alarm_states \u003d [\u0027ok\u0027, \u0027alarm\u0027, \u0027insufficient data\u0027]"},{"line_number":84,"context_line":"        _, alarm \u003d self.create_alarm(threshold_rule\u003dself.rule)"},{"line_number":85,"context_line":"        # Set alarm state and verify"},{"line_number":86,"context_line":"        new_state \u003d\\"},{"line_number":87,"context_line":"            [elem for elem in alarm_states if elem !\u003d alarm[\u0027state\u0027]][0]"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAXH%2F%2FO%2Fw%3D","line":84,"in_reply_to":"AAAAXH%2F%2FQ%2FI%3D","updated":"2014-04-23 06:06:23.000000000","message":"Hi Lobankov,\n\nAs I already mentioned in earlier patches, we only assert response code for the API calls that are related to aim of the test case. The aim of test case is to check set/get alarm state. Hence the response status is asserted only for \"alarm_set_state\" and \"alarm_get_state\" calls.\n\nThe response status of \"create_alarm\" is verified in \"test_create_update_get_delete_alarm\" testcase.","commit_id":"8a71322e72a782d0f64e76d224e72023d4248a71"}]}
