)]}'
{"keystone/tests/test_backend_sql.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        expected_query_args \u003d (token_sql.TokenModel.id,"},{"line_number":338,"context_line":"                               token_sql.TokenModel.expires)"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        with mock.patch(\u0027keystone.token.backends.sql.sql\u0027) as mock_sql:"},{"line_number":341,"context_line":"            tok \u003d token_sql.Token()"},{"line_number":342,"context_line":"            tok.list_revoked_tokens()"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98xg%3D","line":340,"updated":"2014-04-01 01:39:40.000000000","message":"suggest use mock.patch.object decorator instead.\n\nhttp://www.voidspace.org.uk/python/mock/patch.html#patch-object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        expected_query_args \u003d (token_sql.TokenModel.id,"},{"line_number":338,"context_line":"                               token_sql.TokenModel.expires)"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        with mock.patch(\u0027keystone.token.backends.sql.sql\u0027) as mock_sql:"},{"line_number":341,"context_line":"            tok \u003d token_sql.Token()"},{"line_number":342,"context_line":"            tok.list_revoked_tokens()"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kak%3D","line":340,"in_reply_to":"AAAAWH%2F98xg%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    def test_flush_expired_tokens_batch(self):"},{"line_number":348,"context_line":"        # TODO(dstanek): These tests should be rewritten to be less"},{"line_number":349,"context_line":"        # brittle. The code will likely need to be changed first. I"},{"line_number":350,"context_line":"        # just # copied th spirit of the existing test when I rewrite"},{"line_number":351,"context_line":"        # mox -\u003e mock. These tests are brittle because the have the"},{"line_number":352,"context_line":"        # call structure for SQLAlchemy encoded in them."},{"line_number":353,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98xM%3D","line":350,"updated":"2014-04-01 01:39:40.000000000","message":"remove #, change \"th\" to \"the\", \"rewrite\" to \"rewrote\"","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    def test_flush_expired_tokens_batch(self):"},{"line_number":348,"context_line":"        # TODO(dstanek): These tests should be rewritten to be less"},{"line_number":349,"context_line":"        # brittle. The code will likely need to be changed first. I"},{"line_number":350,"context_line":"        # just # copied th spirit of the existing test when I rewrite"},{"line_number":351,"context_line":"        # mox -\u003e mock. These tests are brittle because the have the"},{"line_number":352,"context_line":"        # call structure for SQLAlchemy encoded in them."},{"line_number":353,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kaU%3D","line":350,"in_reply_to":"AAAAWH%2F98xM%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        # TODO(dstanek): These tests should be rewritten to be less"},{"line_number":349,"context_line":"        # brittle. The code will likely need to be changed first. I"},{"line_number":350,"context_line":"        # just # copied th spirit of the existing test when I rewrite"},{"line_number":351,"context_line":"        # mox -\u003e mock. These tests are brittle because the have the"},{"line_number":352,"context_line":"        # call structure for SQLAlchemy encoded in them."},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"        # test sqlite dialect"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98xI%3D","line":351,"updated":"2014-04-01 01:39:40.000000000","message":"change \"the have\" to \"they have\"","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        # TODO(dstanek): These tests should be rewritten to be less"},{"line_number":349,"context_line":"        # brittle. The code will likely need to be changed first. I"},{"line_number":350,"context_line":"        # just # copied th spirit of the existing test when I rewrite"},{"line_number":351,"context_line":"        # mox -\u003e mock. These tests are brittle because the have the"},{"line_number":352,"context_line":"        # call structure for SQLAlchemy encoded in them."},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"        # test sqlite dialect"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kZY%3D","line":351,"in_reply_to":"AAAAWH%2F98xI%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        self.assertFalse(mock_sql.get_session().query().filter().limit.called)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        # test ibm_db_sa"},{"line_number":363,"context_line":"        with mock.patch(\u0027keystone.token.backends.sql.sql\u0027) as mock_sql:"},{"line_number":364,"context_line":"            # NOTE(dstanek): this will allow us to break out of the"},{"line_number":365,"context_line":"            # \u0027while True\u0027 loop"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98w4%3D","line":362,"updated":"2014-04-01 01:39:40.000000000","message":"these should be separate methods.","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        self.assertFalse(mock_sql.get_session().query().filter().limit.called)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        # test ibm_db_sa"},{"line_number":363,"context_line":"        with mock.patch(\u0027keystone.token.backends.sql.sql\u0027) as mock_sql:"},{"line_number":364,"context_line":"            # NOTE(dstanek): this will allow us to break out of the"},{"line_number":365,"context_line":"            # \u0027while True\u0027 loop"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kZM%3D","line":362,"in_reply_to":"AAAAWH%2F98w4%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"}],"keystone/tests/test_notifications.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            self.assertEqual(self.exp_resource_id, resource_id)"},{"line_number":49,"context_line":"            self.send_notification_called \u003d True"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        self.useFixture(mockpatch.Patch("},{"line_number":52,"context_line":"            \u0027keystone.notifications._send_notification\u0027, fake_notify))"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @notifications.created(EXP_RESOURCE_TYPE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98ww%3D","line":51,"updated":"2014-04-01 01:39:40.000000000","message":"Use PatchObject","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            self.assertEqual(self.exp_resource_id, resource_id)"},{"line_number":49,"context_line":"            self.send_notification_called \u003d True"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        self.useFixture(mockpatch.Patch("},{"line_number":52,"context_line":"            \u0027keystone.notifications._send_notification\u0027, fake_notify))"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @notifications.created(EXP_RESOURCE_TYPE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kVw%3D","line":51,"in_reply_to":"AAAAWH%2F98ww%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                \u0027public\u0027: public}"},{"line_number":174,"context_line":"            self._notifications.append(note)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.useFixture(mockpatch.Patch("},{"line_number":177,"context_line":"            \u0027keystone.notifications._send_notification\u0027, fake_notify))"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _assertNotifySeen(self, resource_id, operation, resource_type):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98wg%3D","line":176,"updated":"2014-04-01 01:39:40.000000000","message":"use PatchObject","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                \u0027public\u0027: public}"},{"line_number":174,"context_line":"            self._notifications.append(note)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.useFixture(mockpatch.Patch("},{"line_number":177,"context_line":"            \u0027keystone.notifications._send_notification\u0027, fake_notify))"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _assertNotifySeen(self, resource_id, operation, resource_type):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kV0%3D","line":176,"in_reply_to":"AAAAWH%2F98wg%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":456,"context_line":"                \u0027send_notification_called\u0027: True}"},{"line_number":457,"context_line":"            self._notifications.append(note)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        self.useFixture(mockpatch.Patch("},{"line_number":460,"context_line":"            \u0027keystone.notifications._send_audit_notification\u0027, fake_notify))"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def _assertLastNotify(self, action, user_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98wc%3D","line":459,"updated":"2014-04-01 01:39:40.000000000","message":"use PatchObject","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":456,"context_line":"                \u0027send_notification_called\u0027: True}"},{"line_number":457,"context_line":"            self._notifications.append(note)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        self.useFixture(mockpatch.Patch("},{"line_number":460,"context_line":"            \u0027keystone.notifications._send_audit_notification\u0027, fake_notify))"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def _assertLastNotify(self, action, user_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kV4%3D","line":459,"in_reply_to":"AAAAWH%2F98wc%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"}],"keystone/tests/test_policy.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        action \u003d \"example:get_http\""},{"line_number":114,"context_line":"        target \u003d {}"},{"line_number":115,"context_line":"        with mock.patch(\u0027six.moves.urllib.request.urlopen\u0027, fakeurlopen):"},{"line_number":116,"context_line":"            result \u003d rules.enforce(self.credentials, action, target)"},{"line_number":117,"context_line":"        self.assertTrue(result)"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98wQ%3D","line":115,"updated":"2014-04-01 01:39:40.000000000","message":"use mock.patch.object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        action \u003d \"example:get_http\""},{"line_number":114,"context_line":"        target \u003d {}"},{"line_number":115,"context_line":"        with mock.patch(\u0027six.moves.urllib.request.urlopen\u0027, fakeurlopen):"},{"line_number":116,"context_line":"            result \u003d rules.enforce(self.credentials, action, target)"},{"line_number":117,"context_line":"        self.assertTrue(result)"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kOk%3D","line":115,"in_reply_to":"AAAAWH%2F98wQ%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        action \u003d \"example:get_http\""},{"line_number":125,"context_line":"        target \u003d {}"},{"line_number":126,"context_line":"        with mock.patch(\u0027six.moves.urllib.request.urlopen\u0027, fakeurlopen):"},{"line_number":127,"context_line":"            self.assertRaises(exception.ForbiddenAction, rules.enforce,"},{"line_number":128,"context_line":"                              self.credentials, action, target)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98wM%3D","line":126,"updated":"2014-04-01 01:39:40.000000000","message":"use mock.patch.object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        action \u003d \"example:get_http\""},{"line_number":125,"context_line":"        target \u003d {}"},{"line_number":126,"context_line":"        with mock.patch(\u0027six.moves.urllib.request.urlopen\u0027, fakeurlopen):"},{"line_number":127,"context_line":"            self.assertRaises(exception.ForbiddenAction, rules.enforce,"},{"line_number":128,"context_line":"                              self.credentials, action, target)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kOg%3D","line":126,"in_reply_to":"AAAAWH%2F98wM%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"}],"keystone/tests/test_versions.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            self._paste_in_port(expected[\u0027version\u0027], \u0027http://localhost/v3/\u0027)"},{"line_number":244,"context_line":"            self.assertEqual(data, expected)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v3\u0027])"},{"line_number":247,"context_line":"    def test_v2_disabled(self):"},{"line_number":248,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":249,"context_line":"        # request to /v2.0 should fail"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98wE%3D","line":246,"updated":"2014-04-01 01:39:40.000000000","message":"use mock.patch.object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            self._paste_in_port(expected[\u0027version\u0027], \u0027http://localhost/v3/\u0027)"},{"line_number":244,"context_line":"            self.assertEqual(data, expected)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v3\u0027])"},{"line_number":247,"context_line":"    def test_v2_disabled(self):"},{"line_number":248,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":249,"context_line":"        # request to /v2.0 should fail"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kM8%3D","line":246,"in_reply_to":"AAAAWH%2F98wE%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        data \u003d jsonutils.loads(resp.body)"},{"line_number":275,"context_line":"        self.assertEqual(data, v3_only_response)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v2.0\u0027])"},{"line_number":278,"context_line":"    def test_v3_disabled(self):"},{"line_number":279,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":280,"context_line":"        # request to /v3 should fail"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98wA%3D","line":277,"updated":"2014-04-01 01:39:40.000000000","message":"use mock.patch.object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        data \u003d jsonutils.loads(resp.body)"},{"line_number":275,"context_line":"        self.assertEqual(data, v3_only_response)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v2.0\u0027])"},{"line_number":278,"context_line":"    def test_v3_disabled(self):"},{"line_number":279,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":280,"context_line":"        # request to /v3 should fail"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kM0%3D","line":277,"in_reply_to":"AAAAWH%2F98wA%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        expected \u003d self.v3_VERSION_RESPONSE % dict(port\u003dCONF.admin_port)"},{"line_number":439,"context_line":"        self.assertThat(data, matchers.XMLEquals(expected))"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v3\u0027])"},{"line_number":442,"context_line":"    def test_v2_disabled(self):"},{"line_number":443,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98v4%3D","line":441,"updated":"2014-04-01 01:39:40.000000000","message":"use mock.patch.object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        expected \u003d self.v3_VERSION_RESPONSE % dict(port\u003dCONF.admin_port)"},{"line_number":439,"context_line":"        self.assertThat(data, matchers.XMLEquals(expected))"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v3\u0027])"},{"line_number":442,"context_line":"    def test_v2_disabled(self):"},{"line_number":443,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kMw%3D","line":441,"in_reply_to":"AAAAWH%2F98v4%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        data \u003d resp.body"},{"line_number":462,"context_line":"        self.assertThat(data, matchers.XMLEquals(v3_only_response))"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v2.0\u0027])"},{"line_number":465,"context_line":"    def test_v3_disabled(self):"},{"line_number":466,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":467,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98v0%3D","line":464,"updated":"2014-04-01 01:39:40.000000000","message":"use mock.patch.object","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        data \u003d resp.body"},{"line_number":462,"context_line":"        self.assertThat(data, matchers.XMLEquals(v3_only_response))"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"    @mock.patch(\u0027keystone.controllers._VERSIONS\u0027, [\u0027v2.0\u0027])"},{"line_number":465,"context_line":"    def test_v3_disabled(self):"},{"line_number":466,"context_line":"        client \u003d self.client(self.public_app)"},{"line_number":467,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kMs%3D","line":464,"in_reply_to":"AAAAWH%2F98v0%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"}],"keystone/tests/test_wsgi.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        def returns_some_locales(*args, **kwargs):"},{"line_number":220,"context_line":"            return all_locales"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        self.useFixture(mockpatch.Patch(\u0027babel.localedata.locale_identifiers\u0027,"},{"line_number":223,"context_line":"                                        returns_some_locales))"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        # Override gettext.find to return other than None for some languages."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98vo%3D","line":222,"updated":"2014-04-01 01:39:40.000000000","message":"use PatchObject","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        def returns_some_locales(*args, **kwargs):"},{"line_number":220,"context_line":"            return all_locales"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        self.useFixture(mockpatch.Patch(\u0027babel.localedata.locale_identifiers\u0027,"},{"line_number":223,"context_line":"                                        returns_some_locales))"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        # Override gettext.find to return other than None for some languages."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kJ0%3D","line":222,"in_reply_to":"AAAAWH%2F98vo%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e34a9803be4f024e00a16273d5957733c0b57acf","unresolved":false,"context_lines":[{"line_number":233,"context_line":"                return found_ret"},{"line_number":234,"context_line":"            return None"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        self.useFixture(mockpatch.Patch(\u0027gettext.find\u0027, fake_gettext_find))"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def test_request_match_default(self):"},{"line_number":239,"context_line":"        # The default language if no Accept-Language is provided is None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98vk%3D","line":236,"updated":"2014-04-01 01:39:40.000000000","message":"PatchObject","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c5da295fea60f25f36f0de50c8f4e55f636ee348","unresolved":false,"context_lines":[{"line_number":233,"context_line":"                return found_ret"},{"line_number":234,"context_line":"            return None"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        self.useFixture(mockpatch.Patch(\u0027gettext.find\u0027, fake_gettext_find))"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def test_request_match_default(self):"},{"line_number":239,"context_line":"        # The default language if no Accept-Language is provided is None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9kJs%3D","line":236,"in_reply_to":"AAAAWH%2F98vk%3D","updated":"2014-04-03 16:49:53.000000000","message":"Done","commit_id":"e202e47a10755925330c1687615b0992fca3ff1e"}]}
