)]}'
{"keystone/tests/functional/shared/test_running.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d097b6b046f06d83a66df95537cd7b753c9d270d","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import requests"},{"line_number":14,"context_line":"import testtools"},{"line_number":15,"context_line":"import testtools.matchers as M"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_f1b48536","line":15,"updated":"2015-02-24 20:10:16.000000000","message":"curious, do we usually do this?","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"df76a96995730f5bad3613acc2c79db0594eb35a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import requests"},{"line_number":14,"context_line":"import testtools"},{"line_number":15,"context_line":"import testtools.matchers as M"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_15cd4cb7","line":15,"in_reply_to":"ba7be1f8_e7e1f92a","updated":"2015-02-25 21:31:28.000000000","message":"++","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6c510322f6ca615b2182f672b78f70eb8089f2a1","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import requests"},{"line_number":14,"context_line":"import testtools"},{"line_number":15,"context_line":"import testtools.matchers as M"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_e7e1f92a","line":15,"in_reply_to":"ba7be1f8_f1b48536","updated":"2015-02-25 17:47:04.000000000","message":"To keep everything shorter due to 79 column wrap issues.","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"3f911717b04cd5add9054acf513677eb102e769e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_32d2c200","line":21,"updated":"2015-02-24 06:00:43.000000000","message":"isn\u0027t public_url supposed to be port 5000?","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d097b6b046f06d83a66df95537cd7b753c9d270d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_b1392dd9","line":21,"in_reply_to":"ba7be1f8_32d2c200","updated":"2015-02-24 20:10:16.000000000","message":"++ I believe so","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"df76a96995730f5bad3613acc2c79db0594eb35a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_95b85c12","line":21,"in_reply_to":"ba7be1f8_67f6e9fa","updated":"2015-02-25 21:31:28.000000000","message":"Yeah. copy-\u003epaste and forget to edit issue.","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6c510322f6ca615b2182f672b78f70eb8089f2a1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_67f6e9fa","line":21,"in_reply_to":"ba7be1f8_b1392dd9","updated":"2015-02-25 17:47:04.000000000","message":"Typically.","commit_id":"7fe15a7698b35afbde07389afc0ca4cbd1f19f46"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"8989b28e0a589986699d5493fcba658ba0a579bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9a80dd14_3a1ff271","updated":"2015-03-18 19:57:47.000000000","message":"add a docstring or comments somewhere explaining the point of this file, is it to act as a sample or to provide shared/common functionality?","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3a2a9bbda34cc174b752dabbf4520f2e97543480","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import requests"},{"line_number":14,"context_line":"import testtools"},{"line_number":15,"context_line":"import testtools.matchers as M"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_dc92f84a","line":14,"updated":"2015-02-26 01:34:41.000000000","message":"shouldn\u0027t need this import since the next line picks it up.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"17f6e3c2751420e56b4a2d57278aed6072197936","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import requests"},{"line_number":14,"context_line":"import testtools"},{"line_number":15,"context_line":"import testtools.matchers as M"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_763710e4","line":14,"in_reply_to":"9a80dd14_297b362a","updated":"2015-04-17 01:12:26.000000000","message":"I did something similar.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e2e3b4f3c231a0e46b0bac0b0ab7dca6a4307886","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import requests"},{"line_number":14,"context_line":"import testtools"},{"line_number":15,"context_line":"import testtools.matchers as M"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_297b362a","line":14,"in_reply_to":"ba7be1f8_dc92f84a","updated":"2015-03-18 18:43:59.000000000","message":"Why not just keep this; \n\n    import testtools \n\nand do \n\n    ....\n    testtools.matchers() \n\nlater on?","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"fff8f912192936e076660f54293e57e2e8296e50","unresolved":false,"context_lines":[{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_37807b8a","line":21,"updated":"2015-02-26 12:34:49.000000000","message":"The spec says:\n\"Certain elements of the tests must be controllable via environment variables. For example, the base URL for Keystone\". Are you planning to implement it in a follow-up patch?","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"53e37fb0e4a5f6300c93688f134776de046dbac3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"http_status_codes \u003d requests.status_codes.codes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_02563bce","line":21,"in_reply_to":"ba7be1f8_37807b8a","updated":"2015-03-02 23:19:37.000000000","message":"Yes, this was a patch to make a simple sample test so that sphinx wouldn\u0027t complain.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3a2a9bbda34cc174b752dabbf4520f2e97543480","unresolved":false,"context_lines":[{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_admin_responds_with_multiple_choices(self):"},{"line_number":27,"context_line":"        resp \u003d requests.get(admin_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_dc8bd81c","line":24,"updated":"2015-02-26 01:34:41.000000000","message":"what\u0027s broken? This could use a comment.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"53e37fb0e4a5f6300c93688f134776de046dbac3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_admin_responds_with_multiple_choices(self):"},{"line_number":27,"context_line":"        resp \u003d requests.get(admin_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_a24f2f33","line":24,"in_reply_to":"ba7be1f8_3c522235","updated":"2015-03-02 23:19:37.000000000","message":"My mind is broken. This should be renamed because it isn\u0027t broken anymore.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"17f6e3c2751420e56b4a2d57278aed6072197936","unresolved":false,"context_lines":[{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_admin_responds_with_multiple_choices(self):"},{"line_number":27,"context_line":"        resp \u003d requests.get(admin_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_63775103","line":24,"in_reply_to":"ba7be1f8_a24f2f33","updated":"2015-04-17 01:12:26.000000000","message":"Done","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"fff8f912192936e076660f54293e57e2e8296e50","unresolved":false,"context_lines":[{"line_number":21,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestBroken(testtools.TestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_admin_responds_with_multiple_choices(self):"},{"line_number":27,"context_line":"        resp \u003d requests.get(admin_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_3c522235","line":24,"in_reply_to":"ba7be1f8_dc8bd81c","updated":"2015-02-26 12:34:49.000000000","message":"++","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3a2a9bbda34cc174b752dabbf4520f2e97543480","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_public_responds_with_multiple_choices(self):"},{"line_number":32,"context_line":"        resp \u003d requests.get(public_url)"},{"line_number":33,"context_line":"        self.assertThat(resp.status_code,"},{"line_number":34,"context_line":"                        M.Equals(http_status_codes.multiple_choices))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_5ccd2865","line":34,"updated":"2015-02-26 01:34:41.000000000","message":"rather than do \"http_status_codes \u003d requests.status_codes.codes\" above, could do\n\n is_multiple_choices \u003d M.Equals(http_status_codes.multiple_choices)","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"17f6e3c2751420e56b4a2d57278aed6072197936","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_public_responds_with_multiple_choices(self):"},{"line_number":32,"context_line":"        resp \u003d requests.get(public_url)"},{"line_number":33,"context_line":"        self.assertThat(resp.status_code,"},{"line_number":34,"context_line":"                        M.Equals(http_status_codes.multiple_choices))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_4b06b121","line":34,"in_reply_to":"9a80dd14_49c4ea40","updated":"2015-04-17 01:12:26.000000000","message":"I\u0027m not going to do that yet. We can move it to a shared location if we start using it more.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"17f6e3c2751420e56b4a2d57278aed6072197936","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_public_responds_with_multiple_choices(self):"},{"line_number":32,"context_line":"        resp \u003d requests.get(public_url)"},{"line_number":33,"context_line":"        self.assertThat(resp.status_code,"},{"line_number":34,"context_line":"                        M.Equals(http_status_codes.multiple_choices))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ab451fb_8bb0398d","line":34,"in_reply_to":"ba7be1f8_5ccd2865","updated":"2015-04-17 01:12:26.000000000","message":"Good call.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e2e3b4f3c231a0e46b0bac0b0ab7dca6a4307886","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_public_responds_with_multiple_choices(self):"},{"line_number":32,"context_line":"        resp \u003d requests.get(public_url)"},{"line_number":33,"context_line":"        self.assertThat(resp.status_code,"},{"line_number":34,"context_line":"                        M.Equals(http_status_codes.multiple_choices))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_49c4ea40","line":34,"in_reply_to":"ba7be1f8_5ccd2865","updated":"2015-03-18 18:43:59.000000000","message":"Sure, and that could live somewhere shared so other tests could use it.","commit_id":"d780b00280c5a3eb8a3939a0c2d9c0e1d4e3c027"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"b626969b577d49350dac39f2ab2a3b5defd5445b","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_admin_versions(self):"},{"line_number":33,"context_line":"        for version in versions:"},{"line_number":34,"context_line":"            resp \u003d requests.get(public_url + \u0027/\u0027 + version)"},{"line_number":35,"context_line":"            self.assertThat(resp.status_code, is_ok)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_public_responds_with_multiple_choices(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ab451fb_1f3b2aed","line":34,"updated":"2015-04-17 14:06:44.000000000","message":"is it supposed to request public_url? The name suggests admin url.","commit_id":"75aa93daa66fff9570c9c9b53c36e48a90978b7d"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"894dd40c5f4a834d4179a99f886a45a3eadf68ec","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_admin_versions(self):"},{"line_number":33,"context_line":"        for version in versions:"},{"line_number":34,"context_line":"            resp \u003d requests.get(public_url + \u0027/\u0027 + version)"},{"line_number":35,"context_line":"            self.assertThat(resp.status_code, is_ok)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_public_responds_with_multiple_choices(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ab451fb_5ad0a053","line":34,"in_reply_to":"3ab451fb_1f3b2aed","updated":"2015-04-17 14:11:44.000000000","message":"ouch. thanks. copy-paste issue. that\u0027s what i get for trying to sneak in a few more tests.","commit_id":"75aa93daa66fff9570c9c9b53c36e48a90978b7d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6132a490edf7885314f0dcae6ba7b0fb6a2571b3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import testtools.matchers"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"is_multple_choices \u003d testtools.matchers.Equals("},{"line_number":18,"context_line":"    requests.status_codes.codes.multiple_choices)"},{"line_number":19,"context_line":"is_ok \u003d testtools.matchers.Equals(requests.status_codes.codes.ok)"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fabf19d9_094d5572","line":17,"updated":"2015-04-18 14:37:56.000000000","message":"change \"multple\" to \"multiple\"","commit_id":"8b727a162919dfc0fd4b0740dcf1d145030514e5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6132a490edf7885314f0dcae6ba7b0fb6a2571b3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def test_admin_versions(self):"},{"line_number":33,"context_line":"        for version in versions:"},{"line_number":34,"context_line":"            resp \u003d requests.get(admin_url + \u0027/\u0027 + version)"},{"line_number":35,"context_line":"            self.assertThat(resp.status_code, is_ok)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_public_responds_with_multiple_choices(self):"},{"line_number":38,"context_line":"        resp \u003d requests.get(public_url)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fabf19d9_e9510110","line":35,"updated":"2015-04-18 14:37:56.000000000","message":"should be some text that says which version failed, otherwise it\u0027s going to be hard to tell.","commit_id":"8b727a162919dfc0fd4b0740dcf1d145030514e5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6132a490edf7885314f0dcae6ba7b0fb6a2571b3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    def test_public_versions(self):"},{"line_number":42,"context_line":"        for version in versions:"},{"line_number":43,"context_line":"            resp \u003d requests.get(public_url + \u0027/\u0027 + version)"},{"line_number":44,"context_line":"            self.assertThat(resp.status_code, is_ok)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fabf19d9_c9563d06","line":44,"updated":"2015-04-18 14:37:56.000000000","message":"should be some text that says which version failed, otherwise it\u0027s going to be hard to tell.","commit_id":"8b727a162919dfc0fd4b0740dcf1d145030514e5"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"12bd6318e48ded1d7f75475abc5b873d7746e6c0","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"admin_url \u003d \u0027http://localhost:35357\u0027"},{"line_number":22,"context_line":"public_url \u003d \u0027http://localhost:5000\u0027"},{"line_number":23,"context_line":"versions \u003d (\u0027v2.0\u0027, \u0027v3\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class TestServerRunning(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_23bb6d74","line":23,"updated":"2015-04-20 19:53:47.000000000","message":"module-level constants are normally uppercase","commit_id":"177dc830df0fc955e0ea91cff62dc64f1958e848"}]}
