)]}'
{"keystone/tests/unit/test_healthcheck.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"74f0bc4476642c63cd8fa240dc7831215b486e4e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_44731ee9","line":1,"updated":"2018-10-10 21:37:48.000000000","message":"Don\u0027t assign copyright to an org that you don\u0027t belong to (omit this line)","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"21a3b4608ef94e33b2be03d7fa03d1ffa3419f4c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_47700074","line":1,"in_reply_to":"3f79a3b5_44731ee9","updated":"2018-10-10 22:00:16.000000000","message":"Done","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"74f0bc4476642c63cd8fa240dc7831215b486e4e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from keystone.tests import unit"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class HealthCheckTestCase(unit.TestCase):"},{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_c4488e8b","line":22,"updated":"2018-10-10 21:37:48.000000000","message":"Use a restful testcase.","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"21a3b4608ef94e33b2be03d7fa03d1ffa3419f4c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from keystone.tests import unit"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class HealthCheckTestCase(unit.TestCase):"},{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_676dfc97","line":22,"in_reply_to":"3f79a3b5_c4488e8b","updated":"2018-10-10 22:00:16.000000000","message":"Done","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"74f0bc4476642c63cd8fa240dc7831215b486e4e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            public_endpoint\u003d\u0027http://localhost:%d\u0027 % self.public_port)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def _test_get_healthcheck(self, app_name):"},{"line_number":33,"context_line":"        app \u003d self.loadapp(app_name)"},{"line_number":34,"context_line":"        req \u003d webob.Request.blank(\u0027/healthcheck\u0027)"},{"line_number":35,"context_line":"        req.method \u003d \u0027GET\u0027"},{"line_number":36,"context_line":"        resp \u003d req.get_response(app)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_a438f2ec","line":33,"updated":"2018-10-10 21:37:48.000000000","message":"This is done for you in the restful testcase.","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"21a3b4608ef94e33b2be03d7fa03d1ffa3419f4c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            public_endpoint\u003d\u0027http://localhost:%d\u0027 % self.public_port)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def _test_get_healthcheck(self, app_name):"},{"line_number":33,"context_line":"        app \u003d self.loadapp(app_name)"},{"line_number":34,"context_line":"        req \u003d webob.Request.blank(\u0027/healthcheck\u0027)"},{"line_number":35,"context_line":"        req.method \u003d \u0027GET\u0027"},{"line_number":36,"context_line":"        resp \u003d req.get_response(app)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_a70c74eb","line":33,"in_reply_to":"3f79a3b5_a438f2ec","updated":"2018-10-10 22:00:16.000000000","message":"Done","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"74f0bc4476642c63cd8fa240dc7831215b486e4e","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def _test_get_healthcheck(self, app_name):"},{"line_number":33,"context_line":"        app \u003d self.loadapp(app_name)"},{"line_number":34,"context_line":"        req \u003d webob.Request.blank(\u0027/healthcheck\u0027)"},{"line_number":35,"context_line":"        req.method \u003d \u0027GET\u0027"},{"line_number":36,"context_line":"        resp \u003d req.get_response(app)"},{"line_number":37,"context_line":"        self.assertEqual(200, resp.status_int)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_c42deeae","line":34,"updated":"2018-10-10 21:37:48.000000000","message":"do not use webob, use test client (flask) see example:\n\n   with self.test_client() as c:\n       resp \u003d c.get(\u0027/healthcheck\u0027)\n       ... confirm things work ...","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"21a3b4608ef94e33b2be03d7fa03d1ffa3419f4c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def _test_get_healthcheck(self, app_name):"},{"line_number":33,"context_line":"        app \u003d self.loadapp(app_name)"},{"line_number":34,"context_line":"        req \u003d webob.Request.blank(\u0027/healthcheck\u0027)"},{"line_number":35,"context_line":"        req.method \u003d \u0027GET\u0027"},{"line_number":36,"context_line":"        resp \u003d req.get_response(app)"},{"line_number":37,"context_line":"        self.assertEqual(200, resp.status_int)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_07fbe8be","line":34,"in_reply_to":"3f79a3b5_c42deeae","updated":"2018-10-10 22:00:16.000000000","message":"Very nice! Saved us a bunch of boilerplate stuff. :-)","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"74f0bc4476642c63cd8fa240dc7831215b486e4e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        resp \u003d req.get_response(app)"},{"line_number":37,"context_line":"        self.assertEqual(200, resp.status_int)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_public(self):"},{"line_number":40,"context_line":"        self._test_get_healthcheck(\u0027public\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_admin(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_84337612","line":39,"updated":"2018-10-10 21:37:48.000000000","message":"remove these aliases and just use test_get_healthcheck.","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"21a3b4608ef94e33b2be03d7fa03d1ffa3419f4c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        resp \u003d req.get_response(app)"},{"line_number":37,"context_line":"        self.assertEqual(200, resp.status_int)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_public(self):"},{"line_number":40,"context_line":"        self._test_get_healthcheck(\u0027public\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_admin(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_27f864bf","line":39,"in_reply_to":"3f79a3b5_84337612","updated":"2018-10-10 22:00:16.000000000","message":"Done","commit_id":"a3f9baba5bce72ab8bfe7fb11ccd52aab61d0af3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"877978adc9900963d64038b7074278cb80cf7904","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class HealthCheckTestCase(rest.RestfulTestCase):"},{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"},{"line_number":26,"context_line":"        self.public_app \u003d self.loadapp(\u0027public\u0027)"},{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_cae5f73f","line":25,"updated":"2018-10-10 22:41:30.000000000","message":"This is also done as part of setup, you can simply drop the setUp() method in it\u0027s entirety.","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"8c1d3c77c19160c669dc75436a6d55af35112e37","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class HealthCheckTestCase(rest.RestfulTestCase):"},{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"},{"line_number":26,"context_line":"        self.public_app \u003d self.loadapp(\u0027public\u0027)"},{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_aa819bfc","line":25,"in_reply_to":"3f79a3b5_cae5f73f","updated":"2018-10-10 23:02:02.000000000","message":"Done","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"877978adc9900963d64038b7074278cb80cf7904","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"},{"line_number":26,"context_line":"        self.public_app \u003d self.loadapp(\u0027public\u0027)"},{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        self.config_fixture.config("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_6a91439a","line":26,"updated":"2018-10-10 22:41:30.000000000","message":"This isn\u0027t needed, it\u0027s done as part of setup for you: \nhttps://github.com/openstack/keystone/blob/8e33c782320ae1014f9b69b484b5b6c3cf0593f6/keystone/tests/unit/rest.py#L64","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"8c1d3c77c19160c669dc75436a6d55af35112e37","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    def setUp(self):"},{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"},{"line_number":26,"context_line":"        self.public_app \u003d self.loadapp(\u0027public\u0027)"},{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        self.config_fixture.config("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_4a7a4725","line":26,"in_reply_to":"3f79a3b5_6a91439a","updated":"2018-10-10 23:02:02.000000000","message":"Done","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"877978adc9900963d64038b7074278cb80cf7904","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"},{"line_number":26,"context_line":"        self.public_app \u003d self.loadapp(\u0027public\u0027)"},{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        self.config_fixture.config("},{"line_number":30,"context_line":"            public_endpoint\u003d\u0027http://localhost:%d\u0027 % self.public_port)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_6aa863d8","line":27,"updated":"2018-10-10 22:41:30.000000000","message":"This isn\u0027t needed. test_client automatically sends data through to the application itself.","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"8c1d3c77c19160c669dc75436a6d55af35112e37","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        super(HealthCheckTestCase, self).setUp()"},{"line_number":25,"context_line":"        self.load_backends()"},{"line_number":26,"context_line":"        self.public_app \u003d self.loadapp(\u0027public\u0027)"},{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        self.config_fixture.config("},{"line_number":30,"context_line":"            public_endpoint\u003d\u0027http://localhost:%d\u0027 % self.public_port)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_6a77033d","line":27,"in_reply_to":"3f79a3b5_6aa863d8","updated":"2018-10-10 23:02:02.000000000","message":"Done","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"877978adc9900963d64038b7074278cb80cf7904","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        self.config_fixture.config("},{"line_number":30,"context_line":"            public_endpoint\u003d\u0027http://localhost:%d\u0027 % self.public_port)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_get_healthcheck(self):"},{"line_number":33,"context_line":"        with self.test_client() as c:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_ca80974c","line":30,"updated":"2018-10-10 22:41:30.000000000","message":"this can also be dropped. let it just be \"localhost\"","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"8c1d3c77c19160c669dc75436a6d55af35112e37","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        self.public_port \u003d random.randint(40000, 60000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        self.config_fixture.config("},{"line_number":30,"context_line":"            public_endpoint\u003d\u0027http://localhost:%d\u0027 % self.public_port)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_get_healthcheck(self):"},{"line_number":33,"context_line":"        with self.test_client() as c:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_0a70cf40","line":30,"in_reply_to":"3f79a3b5_ca80974c","updated":"2018-10-10 23:02:02.000000000","message":"Done","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"877978adc9900963d64038b7074278cb80cf7904","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_get_healthcheck(self):"},{"line_number":33,"context_line":"        with self.test_client() as c:"},{"line_number":34,"context_line":"            c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_eaea330c","line":34,"updated":"2018-10-10 22:41:30.000000000","message":"You may want to look at the response make sure it is what you expect. Otherwise, as you can see, the test is super super lightweight.","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"8c1d3c77c19160c669dc75436a6d55af35112e37","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_get_healthcheck(self):"},{"line_number":33,"context_line":"        with self.test_client() as c:"},{"line_number":34,"context_line":"            c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_2a6d8b66","line":34,"in_reply_to":"3f79a3b5_eaea330c","updated":"2018-10-10 23:02:02.000000000","message":"Done","commit_id":"48310fa529fd10da53a62adfa39c4988634abd72"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"e3e62143f472238a75f01482c84f101f70bef231","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import random"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves import http_client"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_0bd44e46","line":15,"updated":"2018-10-11 07:07:41.000000000","message":"Remove this as you haven\u0027t used it. Pep8 failing due to this","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"6fa7957441530d8f6a053555e65f36d162018393","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import random"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves import http_client"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_6af851c0","line":15,"in_reply_to":"3f79a3b5_0bd44e46","updated":"2018-10-11 15:34:30.000000000","message":"Done","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"803920a7eee5014ec01b09bac259e7b2305e6696","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from keystone.tests.unit import rest"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class HealthCheckTestCase(rest.RestfulTestCase):"},{"line_number":23,"context_line":"    def test_get_healthcheck(self):"},{"line_number":24,"context_line":"        with self.test_client() as c:"},{"line_number":25,"context_line":"            resp \u003d c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_0d1469e9","line":22,"updated":"2018-10-11 00:28:01.000000000","message":"I am a little curious, do we really require a new file for this test case?? Can this class be written in its base class?","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"75c25f1ac838c35ec093a81a9313312c995995e9","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from keystone.tests.unit import rest"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class HealthCheckTestCase(rest.RestfulTestCase):"},{"line_number":23,"context_line":"    def test_get_healthcheck(self):"},{"line_number":24,"context_line":"        with self.test_client() as c:"},{"line_number":25,"context_line":"            resp \u003d c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_2d24c5c2","line":22,"in_reply_to":"3f79a3b5_0d1469e9","updated":"2018-10-11 01:25:05.000000000","message":"This is an isolated check specifically for functionality. It shouldn\u0027t be added to a current baseclass, it could be added to another test_Xxx file if we have one that makes sense.","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"22e0b683b58625460b200675846c7c36a0303fc5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from keystone.tests.unit import rest"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class HealthCheckTestCase(rest.RestfulTestCase):"},{"line_number":23,"context_line":"    def test_get_healthcheck(self):"},{"line_number":24,"context_line":"        with self.test_client() as c:"},{"line_number":25,"context_line":"            resp \u003d c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_ab9d1abb","line":22,"in_reply_to":"3f79a3b5_2d24c5c2","updated":"2018-10-11 07:04:24.000000000","message":"Yeah I agree with another test_xxx file, other than base file. Thanks Morgan.","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"d0b0ed1cd5d1312adf72925391b279beed5d6ce5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        with self.test_client() as c:"},{"line_number":25,"context_line":"            resp \u003d c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"},{"line_number":26,"context_line":"            # healthcheck is not supposed to return any data"},{"line_number":27,"context_line":"            self.assertEqual(\u0027\u0027, resp.data)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_6d071d1f","line":27,"updated":"2018-10-11 01:26:41.000000000","message":"You should be able to make the expected b\u0027\u0027 and work in both py27 and py3x","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"6fa7957441530d8f6a053555e65f36d162018393","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        with self.test_client() as c:"},{"line_number":25,"context_line":"            resp \u003d c.get(\u0027/healthcheck\u0027, expected_status_code\u003dhttp_client.OK)"},{"line_number":26,"context_line":"            # healthcheck is not supposed to return any data"},{"line_number":27,"context_line":"            self.assertEqual(\u0027\u0027, resp.data)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_4a979547","line":27,"in_reply_to":"3f79a3b5_6d071d1f","updated":"2018-10-11 15:34:30.000000000","message":"b\u0027\u0027 for an empty string? Let me use content_length instead.","commit_id":"11ba4bdcbed23949addc29ef5e8aa795bebca70d"}]}
