)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2740230705a0e7ae91ec6cc62680991642d2ae09","unresolved":false,"context_lines":[{"line_number":15,"context_line":"The tests are changed to allow a tiny difference in timestamp"},{"line_number":16,"context_line":"strings."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This was causing python3.4 unit tests to fail sometimes."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"bp python3"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3a29b11f_3eaf9095","line":18,"updated":"2015-10-20 21:27:25.000000000","message":"how come this was only caught by python 3.4 tests?","commit_id":"0657584e0396371c79ebbe5b9992a2198cb5e93f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"fcb4750695165778fc71dd24fd9a4682a036da34","unresolved":false,"context_lines":[{"line_number":15,"context_line":"The tests are changed to allow a tiny difference in timestamp"},{"line_number":16,"context_line":"strings."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This was causing python3.4 unit tests to fail sometimes."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"bp python3"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1a26ad4f_04e8ad7b","line":18,"in_reply_to":"3a29b11f_3eaf9095","updated":"2015-10-28 00:43:20.000000000","message":"I don\u0027t know.","commit_id":"0657584e0396371c79ebbe5b9992a2198cb5e93f"}],"keystone/tests/unit/token/test_fernet_provider.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"540bfe634caaa9a8bc1420ffcbd5782a4a713d66","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"class TestPayloads(unit.TestCase):"},{"line_number":275,"context_line":"    def assertTimestampsEqual(self, expected, actual):"},{"line_number":276,"context_line":"        # The timestamp that we get back when parsing the payload may not"},{"line_number":277,"context_line":"        # exactly match the timestamp that was put in the payload due to"},{"line_number":278,"context_line":"        # conversion to and from a float."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_6b033743","line":275,"updated":"2015-10-14 17:45:20.000000000","message":"Can we refactor this method so that we\u0027re not re-implementing it in another module?\n\n  https://github.com/openstack/keystone/blob/ffedc364e1611ef184ad2a579c37dd23028a565c/keystone/tests/unit/core.py#L646-L653","commit_id":"16fd29daddc9b3985d3a2567f4ac42b46db3fc92"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ec430c4293cb81615f74a57111842790acb07b8c","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"class TestPayloads(unit.TestCase):"},{"line_number":275,"context_line":"    def assertTimestampsEqual(self, expected, actual):"},{"line_number":276,"context_line":"        # The timestamp that we get back when parsing the payload may not"},{"line_number":277,"context_line":"        # exactly match the timestamp that was put in the payload due to"},{"line_number":278,"context_line":"        # conversion to and from a float."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_d15b1ef5","line":275,"in_reply_to":"5a2ca52d_6b033743","updated":"2015-10-14 18:34:01.000000000","message":"Done","commit_id":"16fd29daddc9b3985d3a2567f4ac42b46db3fc92"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2e9fc7b8b95c839683b5aa492d2e24481b389ce4","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"class TestPayloads(unit.TestCase):"},{"line_number":275,"context_line":"    def assertTimestampsEqual(self, expected, actual):"},{"line_number":276,"context_line":"        # The timestamp that we get back when parsing the payload may not"},{"line_number":277,"context_line":"        # exactly match the timestamp that was put in the payload due to"},{"line_number":278,"context_line":"        # conversion to and from a float."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_df31e50c","line":275,"in_reply_to":"5a2ca52d_6b033743","updated":"2015-10-14 19:37:11.000000000","message":"hah, i love that assertion!","commit_id":"16fd29daddc9b3985d3a2567f4ac42b46db3fc92"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"77a87a1f6e175dea4d172006c5d9488f8a4a162b","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        exp_time \u003d timeutils.parse_isotime(expected)"},{"line_number":285,"context_line":"        actual_time \u003d timeutils.parse_isotime(actual)"},{"line_number":286,"context_line":"        self.assertTrue(abs(exp_time - actual_time).total_seconds() \u003c\u003d 1e-05)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    def test_uuid_hex_to_byte_conversions(self):"},{"line_number":289,"context_line":"        payload_cls \u003d token_formatters.BasePayload"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_aff2e56d","line":286,"updated":"2015-10-12 20:33:57.000000000","message":"nit: we should add a comment details the \"within\" value here. Saying \"well, we\u0027re within in 0.00001 here\". Just for readability sake.","commit_id":"16fd29daddc9b3985d3a2567f4ac42b46db3fc92"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"ec430c4293cb81615f74a57111842790acb07b8c","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        exp_time \u003d timeutils.parse_isotime(expected)"},{"line_number":285,"context_line":"        actual_time \u003d timeutils.parse_isotime(actual)"},{"line_number":286,"context_line":"        self.assertTrue(abs(exp_time - actual_time).total_seconds() \u003c\u003d 1e-05)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    def test_uuid_hex_to_byte_conversions(self):"},{"line_number":289,"context_line":"        payload_cls \u003d token_formatters.BasePayload"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_d1855e07","line":286,"in_reply_to":"7a2fa921_aff2e56d","updated":"2015-10-14 18:34:01.000000000","message":"Done","commit_id":"16fd29daddc9b3985d3a2567f4ac42b46db3fc92"}]}
