)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"64c4bb417ca48fb16df6b7f51b3d8103b3283179","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some tests need to verify that the first response from an API is indeed"},{"line_number":10,"context_line":"a redirect, this can not be done if the client automatically follows"},{"line_number":11,"context_line":"redirects. Introduce an option that allows consumers to disable the"},{"line_number":12,"context_line":"default behaviour, so that they can see the 301 response instead."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I366fa8d1971cd7502a1cd985f5ee6ad5e1ecb216"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_5e7c2570","line":11,"range":{"start_line":11,"start_character":21,"end_line":11,"end_character":30},"updated":"2018-07-05 15:29:57.000000000","message":"a new parameter","commit_id":"f19bf26ef70ee4b341897abc59f444a8db56fef0"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b0cf6439de09069ea0c38862d47c65abae1f42eb","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some tests need to verify that the first response from an API is indeed"},{"line_number":10,"context_line":"a redirect, this can not be done if the client automatically follows"},{"line_number":11,"context_line":"redirects. Introduce an option that allows consumers to disable the"},{"line_number":12,"context_line":"default behaviour, so that they can see the 301 response instead."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I366fa8d1971cd7502a1cd985f5ee6ad5e1ecb216"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_20925559","line":11,"range":{"start_line":11,"start_character":21,"end_line":11,"end_character":30},"in_reply_to":"5f7c97a3_5e7c2570","updated":"2018-07-06 10:06:57.000000000","message":"Done","commit_id":"f19bf26ef70ee4b341897abc59f444a8db56fef0"}],"tempest/lib/common/http.py":[{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"3a27f9db5ab493f3e62cc548c28de0f69c391007","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ClosingProxyHttp(urllib3.ProxyManager):"},{"line_number":21,"context_line":"    def __init__(self, proxy_url, disable_ssl_certificate_validation\u003dFalse,"},{"line_number":22,"context_line":"                 ca_certs\u003dNone, timeout\u003dNone, follow_redirects\u003dTrue):"},{"line_number":23,"context_line":"        self.follow_redirects \u003d follow_redirects"},{"line_number":24,"context_line":"        kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_3e1709a0","line":21,"range":{"start_line":21,"start_character":23,"end_line":21,"end_character":32},"updated":"2018-10-11 05:23:53.000000000","message":"It\u0027s mandatory field and during calling of \"ClosingProxyHttp\" from test cases, no attribute has been passed.","commit_id":"5400b5a6f88e3ec51c5883815fe4413e3a694e19"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"7aec71dae7d25d95cdb6401aa55e7d5a3bdb9a77","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ClosingProxyHttp(urllib3.ProxyManager):"},{"line_number":21,"context_line":"    def __init__(self, proxy_url, disable_ssl_certificate_validation\u003dFalse,"},{"line_number":22,"context_line":"                 ca_certs\u003dNone, timeout\u003dNone, follow_redirects\u003dTrue):"},{"line_number":23,"context_line":"        self.follow_redirects \u003d follow_redirects"},{"line_number":24,"context_line":"        kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_81bfddfa","line":21,"range":{"start_line":21,"start_character":23,"end_line":21,"end_character":32},"in_reply_to":"3f79a3b5_3e1709a0","updated":"2018-10-11 08:49:29.000000000","message":"Done, thanks for the pointer.","commit_id":"5400b5a6f88e3ec51c5883815fe4413e3a694e19"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4701255ea8d18bcd7879c475b8ca01c7cac8964a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        else:"},{"line_number":59,"context_line":"            # Do not follow redirections. Don\u0027t raise an exception if"},{"line_number":60,"context_line":"            # a redirect is found, but return the HTTP 3XX response instead."},{"line_number":61,"context_line":"            retry \u003d urllib3.util.Retry(redirect\u003dFalse)"},{"line_number":62,"context_line":"        r \u003d super(ClosingProxyHttp, self).request(method, url, retries\u003dretry,"},{"line_number":63,"context_line":"                                                  *args, **new_kwargs)"},{"line_number":64,"context_line":"        return Response(r), r.data"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_a842e73a","line":61,"range":{"start_line":61,"start_character":39,"end_line":61,"end_character":53},"updated":"2018-10-12 01:30:26.000000000","message":"Set to False to disable and imply raise_on_redirect\u003dFalse. So this makes sense to me.","commit_id":"3ffa54e446ed2a8bf6758343a3130ae424d3ddc4"}],"tempest/tests/lib/common/test_http.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b0cf6439de09069ea0c38862d47c65abae1f42eb","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def test_redirect_off(self):"},{"line_number":180,"context_line":"        connection \u003d http.ClosingHttp(follow_redirects\u003dFalse)"},{"line_number":181,"context_line":"        self.assertFalse(connection.follow_redirects)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a09e6566","line":181,"updated":"2018-07-06 10:06:57.000000000","message":"I admit that these tests are a bit trivial, but there seems to be no testing that the redirects are working in the old code, either, so I\u0027m not sure what else to do here.","commit_id":"505446c830b0a6e88277dcb425d84d88358547c0"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"08bdee69532b41bca6bc2371a4a6d3772b585091","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                                         proxy.port))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"class TestClosingHttpRedirects(base.TestCase):"},{"line_number":173,"context_line":"    def setUp(self):"},{"line_number":174,"context_line":"        super(TestClosingHttpRedirects, self).setUp()"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_redirect_default(self):"},{"line_number":177,"context_line":"        connection \u003d http.ClosingHttp()"},{"line_number":178,"context_line":"        self.assertTrue(connection.follow_redirects)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def test_redirect_off(self):"},{"line_number":181,"context_line":"        connection \u003d http.ClosingHttp(follow_redirects\u003dFalse)"},{"line_number":182,"context_line":"        self.assertFalse(connection.follow_redirects)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_6a039fbe","line":182,"range":{"start_line":172,"start_character":0,"end_line":182,"end_character":53},"updated":"2018-07-26 05:18:55.000000000","message":"Missing unit tests for \"ClosingProxyHttp\" for new change.","commit_id":"617b1423d63b047e9a31d65a2a57ef2dbe0a62c6"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4701255ea8d18bcd7879c475b8ca01c7cac8964a","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"class TestClosingHttpRedirects(base.TestCase):"},{"line_number":173,"context_line":"    def setUp(self):"},{"line_number":174,"context_line":"        super(TestClosingHttpRedirects, self).setUp()"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_redirect_default(self):"},{"line_number":177,"context_line":"        connection \u003d http.ClosingHttp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_281a576a","line":174,"range":{"start_line":173,"start_character":0,"end_line":174,"end_character":53},"updated":"2018-10-12 01:30:26.000000000","message":"nit: This can be removed. I think this can be done in a follow up though.","commit_id":"3ffa54e446ed2a8bf6758343a3130ae424d3ddc4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4701255ea8d18bcd7879c475b8ca01c7cac8964a","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"class TestClosingProxyHttpRedirects(base.TestCase):"},{"line_number":186,"context_line":"    def setUp(self):"},{"line_number":187,"context_line":"        super(TestClosingProxyHttpRedirects, self).setUp()"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_redirect_default(self):"},{"line_number":190,"context_line":"        connection \u003d http.ClosingProxyHttp(proxy_url\u003dPROXY_URL)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_481f9359","line":187,"range":{"start_line":186,"start_character":0,"end_line":187,"end_character":58},"updated":"2018-10-12 01:30:26.000000000","message":"nit: This can be removed.","commit_id":"3ffa54e446ed2a8bf6758343a3130ae424d3ddc4"}]}
