)]}'
{"tests/test_aggregator.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d4b23414d9634baacb50e6c495b6c5a194f4d46d","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                           value_meta\u003dvalue_meta,"},{"line_number":192,"context_line":"                           exception\u003daggregator.InvalidValue)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_valid_dimension_chars(self):"},{"line_number":195,"context_line":"        valid_chars \u003d \" .\u0027_-\""},{"line_number":196,"context_line":"        for c in valid_chars:"},{"line_number":197,"context_line":"            self.submit_metric(\u0027test-counter\u0027, 2,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_0f97f93a","line":194,"updated":"2015-08-28 17:41:46.000000000","message":"You should also have these tests for the metric name. Add the blank check","commit_id":"582a09219574836ee8eff2cb69a991b302f6208f"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"c31138f0f1635f8444353e977f3746fc2df9a258","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                           value_meta\u003dvalue_meta,"},{"line_number":183,"context_line":"                           exception\u003daggregator.InvalidDimensionKey)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def testInvalidValue(self):"},{"line_number":186,"context_line":"        dimensions \u003d {\u0027A\u0027: \u0027B\u0027, \u0027B\u0027: \u0027C\u0027, \u0027D\u0027: \u0027E\u0027}"},{"line_number":187,"context_line":"        value_meta \u003d {\"This is a test\": \"test, test, test\"}"},{"line_number":188,"context_line":"        self.submit_metric(\"Foo\","}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_4ec2b354","line":185,"updated":"2015-09-04 13:56:40.000000000","message":"I realize this wasn\u0027t part of this review, but can we clean-up this method to match snake case conventions?","commit_id":"427a5738ea4f1f761e24114191f4ee158944f0b0"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"2f25d62849604c4e0ad6ccc3d2fba9a2292fae8b","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                           value_meta\u003dvalue_meta,"},{"line_number":183,"context_line":"                           exception\u003daggregator.InvalidDimensionKey)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def testInvalidValue(self):"},{"line_number":186,"context_line":"        dimensions \u003d {\u0027A\u0027: \u0027B\u0027, \u0027B\u0027: \u0027C\u0027, \u0027D\u0027: \u0027E\u0027}"},{"line_number":187,"context_line":"        value_meta \u003d {\"This is a test\": \"test, test, test\"}"},{"line_number":188,"context_line":"        self.submit_metric(\"Foo\","}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_193de78e","line":185,"in_reply_to":"da20952f_4ec2b354","updated":"2015-09-04 14:11:39.000000000","message":"I would be happy to do so","commit_id":"427a5738ea4f1f761e24114191f4ee158944f0b0"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"c31138f0f1635f8444353e977f3746fc2df9a258","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                               exception\u003daggregator.InvalidMetricName)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_valid_dimension_chars(self):"},{"line_number":208,"context_line":"        valid_chars \u003d \" .\u0027_-\""},{"line_number":209,"context_line":"        for c in valid_chars:"},{"line_number":210,"context_line":"            self.submit_metric(\u0027test-counter\u0027, 2,"},{"line_number":211,"context_line":"                               dimensions\u003d{\"test{}key\".format(c): \"test{}value\".format(c)})"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_ce9a4362","line":208,"updated":"2015-09-04 13:56:40.000000000","message":"Just wondeirn if we should declare VALID_CHARS at module scope rather than method scope in this case. You\u0027ve also duplicated this variable from up above. DRY.\n\nI believe the same comment applies to INVALID_CHARS.","commit_id":"427a5738ea4f1f761e24114191f4ee158944f0b0"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"2f25d62849604c4e0ad6ccc3d2fba9a2292fae8b","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                               exception\u003daggregator.InvalidMetricName)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_valid_dimension_chars(self):"},{"line_number":208,"context_line":"        valid_chars \u003d \" .\u0027_-\""},{"line_number":209,"context_line":"        for c in valid_chars:"},{"line_number":210,"context_line":"            self.submit_metric(\u0027test-counter\u0027, 2,"},{"line_number":211,"context_line":"                               dimensions\u003d{\"test{}key\".format(c): \"test{}value\".format(c)})"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_99701774","line":208,"in_reply_to":"da20952f_ce9a4362","updated":"2015-09-04 14:11:39.000000000","message":"You are absolutely right, will change in next set","commit_id":"427a5738ea4f1f761e24114191f4ee158944f0b0"}]}
