)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11045,"name":"Bob Thyne","email":"bob.thyne@hp.com","username":"bobt"},"change_message_id":"a57353b37946ec872c432ed37159ae16b8cb37bf","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Stanek \u003cdstanek@dstanek.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-06-26 06:07:46 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix the order of assertEqual arguments(pemutils, v3_catalog, etc)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"assertEqual method\u0027s arguments should be in"},{"line_number":10,"context_line":"(\u0027expected\u0027, \u0027actual\u0027) order."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1ae5cdf2_d5df8564","line":7,"updated":"2014-06-26 15:13:24.000000000","message":"Remove \"(pemutils, v3_catalog, etc)\" from the subject line - I don\u0027t believe it\u0027s adding any additional information worthy of being in the subject line. More importantly, remember, the first line of the commit message should be \u003c\u003d 50 chars. See https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_GIT_commit_message_structure.","commit_id":"8624716287e5457fa851047ae53f9d8250bed43e"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"15f47a2756eaee49fc7516717c2e6362eb0f265e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Stanek \u003cdstanek@dstanek.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-01 07:11:15 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes the order of assertEqual arguments"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"assertEqual method\u0027s arguments should be in"},{"line_number":10,"context_line":"(\u0027expected\u0027, \u0027actual\u0027) order."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"baada198_a7cad84c","line":7,"updated":"2014-07-11 21:55:30.000000000","message":"maybe s/Fixes/Fix/","commit_id":"9d12ec57a25b3af64cc45b3cf27c2a6f3f569a8a"}],"keystone/tests/test_sql_upgrade.py":[{"author":{"_account_id":11717,"name":"Ryan Oshima","email":"ryan.oshima@hp.com","username":"RyanOshima"},"change_message_id":"07d8d736a7b4231fca56f2b9b0956d45e0579a4a","unresolved":false,"context_lines":[{"line_number":996,"context_line":"        self.assertEqual(\u0027{}\u0027, ref.extra)"},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"    def test_group_project_FK_fixup(self):"},{"line_number":999,"context_line":"        # To create test data we must start before we broke in the"},{"line_number":1000,"context_line":"        # group_project_metadata table in 015."},{"line_number":1001,"context_line":"        self.upgrade(14)"},{"line_number":1002,"context_line":"        session \u003d self.Session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_f92057fa","line":999,"updated":"2014-06-09 20:22:55.000000000","message":"\"broke\"/\"break\"","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"c71b83d2e2239f5421be93a0033548acd49469a4","unresolved":false,"context_lines":[{"line_number":1628,"context_line":"        new_json_data \u003d json.loads(updated_user1.extra)"},{"line_number":1629,"context_line":"        self.assertNotIn(\u0027tenantId\u0027, new_json_data)"},{"line_number":1630,"context_line":"        self.assertEqual(updated_user1.default_project_id,"},{"line_number":1631,"context_line":"                         old_json_data[\u0027tenantId\u0027])"},{"line_number":1632,"context_line":"        updated_user2 \u003d session.query(user_table).filter_by(id\u003d\u0027foo2\u0027).one()"},{"line_number":1633,"context_line":"        old_json_data \u003d json.loads(user2[\u0027extra\u0027])"},{"line_number":1634,"context_line":"        new_json_data \u003d json.loads(updated_user2.extra)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9VMY%3D","line":1631,"updated":"2014-04-06 22:52:29.000000000","message":"backwards?","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4ebcc15cf61055ec34fe79900d26dee4b3ffb7d7","unresolved":false,"context_lines":[{"line_number":1628,"context_line":"        new_json_data \u003d json.loads(updated_user1.extra)"},{"line_number":1629,"context_line":"        self.assertNotIn(\u0027tenantId\u0027, new_json_data)"},{"line_number":1630,"context_line":"        self.assertEqual(updated_user1.default_project_id,"},{"line_number":1631,"context_line":"                         old_json_data[\u0027tenantId\u0027])"},{"line_number":1632,"context_line":"        updated_user2 \u003d session.query(user_table).filter_by(id\u003d\u0027foo2\u0027).one()"},{"line_number":1633,"context_line":"        old_json_data \u003d json.loads(user2[\u0027extra\u0027])"},{"line_number":1634,"context_line":"        new_json_data \u003d json.loads(updated_user2.extra)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_9342d466","line":1631,"in_reply_to":"AAAAWH%2F9VMY%3D","updated":"2014-06-24 15:38:51.000000000","message":"Yes, I think they are. The old_json_data seems to be the expected value.","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"}],"keystone/tests/test_token_provider.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"c71b83d2e2239f5421be93a0033548acd49469a4","unresolved":false,"context_lines":[{"line_number":710,"context_line":"    def test_get_token_version(self):"},{"line_number":711,"context_line":"        self.assertEqual("},{"line_number":712,"context_line":"            self.token_provider_api.get_token_version(SAMPLE_V2_TOKEN),"},{"line_number":713,"context_line":"            token.provider.V2)"},{"line_number":714,"context_line":"        self.assertEqual("},{"line_number":715,"context_line":"            self.token_provider_api.get_token_version("},{"line_number":716,"context_line":"                SAMPLE_V2_TOKEN_WITH_EMBEDED_VERSION),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9VMU%3D","line":713,"updated":"2014-04-06 22:52:29.000000000","message":"backwards?","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4ebcc15cf61055ec34fe79900d26dee4b3ffb7d7","unresolved":false,"context_lines":[{"line_number":710,"context_line":"    def test_get_token_version(self):"},{"line_number":711,"context_line":"        self.assertEqual("},{"line_number":712,"context_line":"            self.token_provider_api.get_token_version(SAMPLE_V2_TOKEN),"},{"line_number":713,"context_line":"            token.provider.V2)"},{"line_number":714,"context_line":"        self.assertEqual("},{"line_number":715,"context_line":"            self.token_provider_api.get_token_version("},{"line_number":716,"context_line":"                SAMPLE_V2_TOKEN_WITH_EMBEDED_VERSION),"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_19a8a31f","line":713,"in_reply_to":"AAAAWH%2F9VMU%3D","updated":"2014-06-24 15:38:51.000000000","message":"I think so. token.provider.V2 is a constant. Same goes for V3.","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"}],"keystone/tests/test_v3_catalog.py":[{"author":{"_account_id":11717,"name":"Ryan Oshima","email":"ryan.oshima@hp.com","username":"RyanOshima"},"change_message_id":"07d8d736a7b4231fca56f2b9b0956d45e0579a4a","unresolved":false,"context_lines":[{"line_number":383,"context_line":"        self.assertEqual(1, len(endpoints))"},{"line_number":384,"context_line":"        endpoint_v3 \u003d endpoints.pop()"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        # these attributes are identical between both API\u0027s"},{"line_number":387,"context_line":"        self.assertEqual(ref[\u0027region\u0027], endpoint_v3[\u0027region\u0027])"},{"line_number":388,"context_line":"        self.assertEqual(ref[\u0027service_id\u0027], endpoint_v3[\u0027service_id\u0027])"},{"line_number":389,"context_line":"        self.assertEqual(ref[\u0027description\u0027], endpoint_v3[\u0027description\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_59630b1a","line":386,"updated":"2014-06-09 20:22:55.000000000","message":"\"API\u0027s}/\"APIs\"","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4ebcc15cf61055ec34fe79900d26dee4b3ffb7d7","unresolved":false,"context_lines":[{"line_number":383,"context_line":"        self.assertEqual(1, len(endpoints))"},{"line_number":384,"context_line":"        endpoint_v3 \u003d endpoints.pop()"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        # these attributes are identical between both API\u0027s"},{"line_number":387,"context_line":"        self.assertEqual(ref[\u0027region\u0027], endpoint_v3[\u0027region\u0027])"},{"line_number":388,"context_line":"        self.assertEqual(ref[\u0027service_id\u0027], endpoint_v3[\u0027service_id\u0027])"},{"line_number":389,"context_line":"        self.assertEqual(ref[\u0027description\u0027], endpoint_v3[\u0027description\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_7fcb4c4a","line":386,"in_reply_to":"1ae5cdf2_59630b1a","updated":"2014-06-24 15:38:51.000000000","message":"That has been fixed here: https://review.openstack.org/#/c/102237/","commit_id":"4f957359a0f5fa76a755f51db5254508c829b44c"}]}
