)]}'
{"ceilometer/tests/storage/test_pymongo_base.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"003e6bcbc553b0cd7fa11f257714c41380743a4c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright © 2012 New Dream Network, LLC (DreamHost)"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Author: Doug Hellmann \u003cdoug.hellmann@dreamhost.com\u003e"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":8,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2BzME%3D","line":5,"updated":"2014-03-12 03:30:41.000000000","message":"I guess the copyright and author lines are not correct.","commit_id":"928afa8bf64933c87ca92dceb65a108da68ba604"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"42f727be4cc3f767cefb27d2bb92e21ab66e40c5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright © 2012 New Dream Network, LLC (DreamHost)"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Author: Doug Hellmann \u003cdoug.hellmann@dreamhost.com\u003e"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":8,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F%2F%2Fx8%3D","line":5,"in_reply_to":"AAAAVn%2F%2BzME%3D","updated":"2014-03-12 13:49:27.000000000","message":"I removed the author part.\nAs I didn\u0027t create this code just moved it I don\u0027t put myself as author here.","commit_id":"928afa8bf64933c87ca92dceb65a108da68ba604"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"003e6bcbc553b0cd7fa11f257714c41380743a4c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import copy"},{"line_number":22,"context_line":"import datetime"},{"line_number":23,"context_line":"from mock import patch"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import testscenarios"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2BzMk%3D","line":22,"updated":"2014-03-12 03:30:41.000000000","message":"empty line should be used here to separate the 3rd party libraries from standard libraries.\n\nSee example at http://docs.openstack.org/developer/hacking/#imports","commit_id":"928afa8bf64933c87ca92dceb65a108da68ba604"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"42f727be4cc3f767cefb27d2bb92e21ab66e40c5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import copy"},{"line_number":22,"context_line":"import datetime"},{"line_number":23,"context_line":"from mock import patch"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import testscenarios"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F%2F%2Fxc%3D","line":22,"in_reply_to":"AAAAVn%2F%2BzMk%3D","updated":"2014-03-12 13:49:27.000000000","message":"Done","commit_id":"928afa8bf64933c87ca92dceb65a108da68ba604"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"003e6bcbc553b0cd7fa11f257714c41380743a4c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import copy"},{"line_number":22,"context_line":"import datetime"},{"line_number":23,"context_line":"from mock import patch"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import testscenarios"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from ceilometer.publisher import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2BzMg%3D","line":24,"updated":"2014-03-12 03:30:41.000000000","message":"no need to separate 3rd parity libraries.","commit_id":"928afa8bf64933c87ca92dceb65a108da68ba604"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"42f727be4cc3f767cefb27d2bb92e21ab66e40c5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import copy"},{"line_number":22,"context_line":"import datetime"},{"line_number":23,"context_line":"from mock import patch"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import testscenarios"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from ceilometer.publisher import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F%2F%2FxY%3D","line":24,"in_reply_to":"AAAAVn%2F%2BzMg%3D","updated":"2014-03-12 13:49:27.000000000","message":"Done","commit_id":"928afa8bf64933c87ca92dceb65a108da68ba604"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"76eb378658d5954613914c72484ca64c4dc518f6","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            upsert\u003dTrue)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def test_alarm_get_old_format_matching_metadata_dict(self):"},{"line_number":141,"context_line":"        old \u003d list(self.conn.get_alarms(name\u003d\u0027old-alert\u0027))[0]"},{"line_number":142,"context_line":"        self.assertEqual(old.type, \u0027threshold\u0027)"},{"line_number":143,"context_line":"        self.assertEqual(old.rule[\u0027query\u0027],"},{"line_number":144,"context_line":"                         [{\u0027field\u0027: \u0027key\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2F%2FT4%3D","line":141,"updated":"2014-03-12 14:20:16.000000000","message":"It would be great to have arguments in correct order (expected, actual) because assertEqual patches are stuck a little. If you don\u0027t have time for it or any other reasons please comment here, I will be aware that we should fix this file later and remove -1","commit_id":"d5819e7c1d12ef07935b69efad6cc70ae5f502e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89af512eecf4db52263c15dd375e364780a616f1","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            upsert\u003dTrue)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def test_alarm_get_old_format_matching_metadata_dict(self):"},{"line_number":141,"context_line":"        old \u003d list(self.conn.get_alarms(name\u003d\u0027old-alert\u0027))[0]"},{"line_number":142,"context_line":"        self.assertEqual(old.type, \u0027threshold\u0027)"},{"line_number":143,"context_line":"        self.assertEqual(old.rule[\u0027query\u0027],"},{"line_number":144,"context_line":"                         [{\u0027field\u0027: \u0027key\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2F%2B8U%3D","line":141,"in_reply_to":"AAAAWH%2F%2F%2FT4%3D","updated":"2014-03-12 14:59:34.000000000","message":"Done","commit_id":"d5819e7c1d12ef07935b69efad6cc70ae5f502e3"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"76eb378658d5954613914c72484ca64c4dc518f6","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                                 {\u0027field\u0027: \u0027key2\u0027,"},{"line_number":164,"context_line":"                                  \u0027op\u0027: \u0027eq\u0027,"},{"line_number":165,"context_line":"                                  \u0027value\u0027: \u0027value2\u0027,"},{"line_number":166,"context_line":"                                  \u0027type\u0027: \u0027string\u0027}]))"},{"line_number":167,"context_line":"        self.assertEqual(old.rule[\u0027meter_name\u0027], \u0027cpu\u0027)"},{"line_number":168,"context_line":"        self.assertEqual(old.rule[\u0027period\u0027], 60)"},{"line_number":169,"context_line":"        self.assertEqual(old.rule[\u0027evaluation_periods\u0027], 1)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2F%2FT0%3D","line":166,"updated":"2014-03-12 14:20:16.000000000","message":"The same here","commit_id":"d5819e7c1d12ef07935b69efad6cc70ae5f502e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89af512eecf4db52263c15dd375e364780a616f1","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                                 {\u0027field\u0027: \u0027key2\u0027,"},{"line_number":164,"context_line":"                                  \u0027op\u0027: \u0027eq\u0027,"},{"line_number":165,"context_line":"                                  \u0027value\u0027: \u0027value2\u0027,"},{"line_number":166,"context_line":"                                  \u0027type\u0027: \u0027string\u0027}]))"},{"line_number":167,"context_line":"        self.assertEqual(old.rule[\u0027meter_name\u0027], \u0027cpu\u0027)"},{"line_number":168,"context_line":"        self.assertEqual(old.rule[\u0027period\u0027], 60)"},{"line_number":169,"context_line":"        self.assertEqual(old.rule[\u0027evaluation_periods\u0027], 1)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2F%2B8M%3D","line":166,"in_reply_to":"AAAAWH%2F%2F%2FT0%3D","updated":"2014-03-12 14:59:34.000000000","message":"Done","commit_id":"d5819e7c1d12ef07935b69efad6cc70ae5f502e3"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"76eb378658d5954613914c72484ca64c4dc518f6","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        self.assertEqual(old.rule[\u0027threshold\u0027], 36)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def test_counter_unit(self):"},{"line_number":175,"context_line":"        meters \u003d list(self.conn.get_meters())"},{"line_number":176,"context_line":"        self.assertEqual(len(meters), 1)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2F%2FTo%3D","line":175,"updated":"2014-03-12 14:20:16.000000000","message":"ditto","commit_id":"d5819e7c1d12ef07935b69efad6cc70ae5f502e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89af512eecf4db52263c15dd375e364780a616f1","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        self.assertEqual(old.rule[\u0027threshold\u0027], 36)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def test_counter_unit(self):"},{"line_number":175,"context_line":"        meters \u003d list(self.conn.get_meters())"},{"line_number":176,"context_line":"        self.assertEqual(len(meters), 1)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2F%2B8E%3D","line":175,"in_reply_to":"AAAAWH%2F%2F%2FTo%3D","updated":"2014-03-12 14:59:34.000000000","message":"Done","commit_id":"d5819e7c1d12ef07935b69efad6cc70ae5f502e3"}],"ceilometer/tests/storage/test_storage_scenarios.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f21ef946d6fbcb7c5e9c7e3aa6a152ddbe7c6d2f","unresolved":false,"context_lines":[{"line_number":2247,"context_line":"            self.assertNotEqual(victim.name, s.name)"},{"line_number":2248,"context_line":""},{"line_number":2249,"context_line":"    def test_rule_encapsulation(self):"},{"line_number":2250,"context_line":"        if (self.CONF.database.connection.startswith(\u0027mongodb://\u0027) or"},{"line_number":2251,"context_line":"                self.CONF.database.connection.startswith(\u0027db2://\u0027)):"},{"line_number":2252,"context_line":"            old_style \u003d {"},{"line_number":2253,"context_line":"                \u0027alarm_id\u0027: \u00270ld-4l3rt\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BXNw%3D","line":2250,"updated":"2014-02-21 16:19:06.000000000","message":"why this conditional statement? based on the fix, i would assume this should work for every backend which has alarms implemented","commit_id":"9d3749ff21a8ecf4cab4981a1778ca1a8859f031"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"24a474d30bcbda9412d71a88d384986e0eb9caf3","unresolved":false,"context_lines":[{"line_number":2247,"context_line":"            self.assertNotEqual(victim.name, s.name)"},{"line_number":2248,"context_line":""},{"line_number":2249,"context_line":"    def test_rule_encapsulation(self):"},{"line_number":2250,"context_line":"        if (self.CONF.database.connection.startswith(\u0027mongodb://\u0027) or"},{"line_number":2251,"context_line":"                self.CONF.database.connection.startswith(\u0027db2://\u0027)):"},{"line_number":2252,"context_line":"            old_style \u003d {"},{"line_number":2253,"context_line":"                \u0027alarm_id\u0027: \u00270ld-4l3rt\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2FsK8%3D","line":2250,"in_reply_to":"AAAAU3%2F%2FzeM%3D","updated":"2014-02-25 09:11:52.000000000","message":"Mongo DB implements richer feature set than DB2 so executing tests in test_impl_mongodb against DB2 is not a good idea as there are (or there will be in the future) test cases that cannot be run against DB2 but can be run against Mongo DB.","commit_id":"9d3749ff21a8ecf4cab4981a1778ca1a8859f031"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"473c9832106ca47be13d4b09109e06f2e409ce57","unresolved":false,"context_lines":[{"line_number":2247,"context_line":"            self.assertNotEqual(victim.name, s.name)"},{"line_number":2248,"context_line":""},{"line_number":2249,"context_line":"    def test_rule_encapsulation(self):"},{"line_number":2250,"context_line":"        if (self.CONF.database.connection.startswith(\u0027mongodb://\u0027) or"},{"line_number":2251,"context_line":"                self.CONF.database.connection.startswith(\u0027db2://\u0027)):"},{"line_number":2252,"context_line":"            old_style \u003d {"},{"line_number":2253,"context_line":"                \u0027alarm_id\u0027: \u00270ld-4l3rt\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2FzeM%3D","line":2250,"in_reply_to":"AAAAUX%2F%2BW40%3D","updated":"2014-02-24 18:03:52.000000000","message":"ah got it. maybe it\u0027s a bit cleaner to have it added to test_impl_mongodb instead?... although i guess we\u0027d need to update impl_mongodb to work against db2 as well.","commit_id":"9d3749ff21a8ecf4cab4981a1778ca1a8859f031"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4200ad6c6298cd914a86f916fac10bcaa0214e76","unresolved":false,"context_lines":[{"line_number":2247,"context_line":"            self.assertNotEqual(victim.name, s.name)"},{"line_number":2248,"context_line":""},{"line_number":2249,"context_line":"    def test_rule_encapsulation(self):"},{"line_number":2250,"context_line":"        if (self.CONF.database.connection.startswith(\u0027mongodb://\u0027) or"},{"line_number":2251,"context_line":"                self.CONF.database.connection.startswith(\u0027db2://\u0027)):"},{"line_number":2252,"context_line":"            old_style \u003d {"},{"line_number":2253,"context_line":"                \u0027alarm_id\u0027: \u00270ld-4l3rt\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BW40%3D","line":2250,"in_reply_to":"AAAAUX%2F%2BXNw%3D","updated":"2014-02-21 16:48:53.000000000","message":"The tested code path only exists in mongo and db2 engines. In sqlalchemy the alarm schema was changed with migration but in mongo and db2 there is a conversion from the old to the new alarm schema which runs at every alarm create, update and get. The bug was in this conversion function in the db2 storage engine implementation.","commit_id":"9d3749ff21a8ecf4cab4981a1778ca1a8859f031"}]}
