)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"53931b8ac812deef0184a5760580872e03732119","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Old tests did not ensure the valid certificate, and did not only test HTTPS."},{"line_number":10,"context_line":"Revised tests are API agnostic, use a certificate valid for \u0027127.0.0.1\u0027 (old"},{"line_number":11,"context_line":"certificate incorrectly had common name of \u00270.0.0.0\u0027 so could not be"},{"line_number":12,"context_line":"validated) through the authority chain, but does not duplicate testing of"},{"line_number":13,"context_line":"the API. Included a the ca.key matching the ca.crt as well to simplify"},{"line_number":14,"context_line":"generation of a replacement certificate in the future."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da86d52c_92580b58","line":11,"updated":"2015-02-02 16:58:13.000000000","message":"Yes, originally tests ran on 0.0.0.0, looks like the cert was never updated when the tests switched to 127.0.0.1","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e7fd9f5c5b4fd2d1523a0e6aee476f5510f5390d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Revised tests are API agnostic, use a certificate valid for \u0027127.0.0.1\u0027 (old"},{"line_number":11,"context_line":"certificate incorrectly had common name of \u00270.0.0.0\u0027 so could not be"},{"line_number":12,"context_line":"validated) through the authority chain, but does not duplicate testing of"},{"line_number":13,"context_line":"the API. Included a the ca.key matching the ca.crt as well to simplify"},{"line_number":14,"context_line":"generation of a replacement certificate in the future."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ibe49d82cca9fd0148c60c501bf074c499ada8a29"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da86d52c_f46cf338","line":13,"updated":"2015-02-01 22:51:35.000000000","message":"a OR the?","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"e1da43747786e4d88bab7999aadd56fec32ecf22","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Revised tests are API agnostic, use a certificate valid for \u0027127.0.0.1\u0027 (old"},{"line_number":11,"context_line":"certificate incorrectly had common name of \u0027Glance CA\u0027 and so could not be"},{"line_number":12,"context_line":"validated) through the authority chain, but does not duplicate testing of"},{"line_number":13,"context_line":"the API. Included a the ca.key matching the ca.crt as well to simplify"},{"line_number":14,"context_line":"generation of a replacement certificate in the future."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ibe49d82cca9fd0148c60c501bf074c499ada8a29"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da86d52c_1a698425","line":13,"updated":"2015-02-02 20:43:34.000000000","message":"Same thing that Fei Long Wang noticed here.","commit_id":"cfd937f734128946f639178b823a0663c4700736"}],"glance/tests/functional/test_ssl.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"36b85c6271651e90d6ab1d60ad3f3eff1c52ea79","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a930d6b_8a545555","line":1,"updated":"2015-01-22 02:35:05.000000000","message":"(nit): Need a correct copyright?","commit_id":"e5abd6aa2fef4f9b38ebdba21712f8ab12c1a8ce"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"c02856f1bddeee1f812bc8bb5026afffe94b78ef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a930d6b_55d04e50","line":1,"in_reply_to":"1a930d6b_8a545555","updated":"2015-01-22 03:03:54.000000000","message":"Done","commit_id":"e5abd6aa2fef4f9b38ebdba21712f8ab12c1a8ce"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"36b85c6271651e90d6ab1d60ad3f3eff1c52ea79","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.inited \u003d False"},{"line_number":37,"context_line":"        self.disabled \u003d True"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Test key/cert/CA file created as per:"},{"line_number":40,"context_line":"        #   http://nrocco.github.io/2013/01/25/"},{"line_number":41,"context_line":"        #       self-signed-ssl-certificate-chains.html"},{"line_number":42,"context_line":"        # Note that for these tests certificate.crt had to"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a930d6b_8adb75ec","line":39,"updated":"2015-01-22 02:35:05.000000000","message":"(nit) I would recommend use #NOTE (xxx): zzz","commit_id":"e5abd6aa2fef4f9b38ebdba21712f8ab12c1a8ce"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"c02856f1bddeee1f812bc8bb5026afffe94b78ef","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.inited \u003d False"},{"line_number":37,"context_line":"        self.disabled \u003d True"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Test key/cert/CA file created as per:"},{"line_number":40,"context_line":"        #   http://nrocco.github.io/2013/01/25/"},{"line_number":41,"context_line":"        #       self-signed-ssl-certificate-chains.html"},{"line_number":42,"context_line":"        # Note that for these tests certificate.crt had to"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a930d6b_35cbc2a6","line":39,"in_reply_to":"1a930d6b_8adb75ec","updated":"2015-01-22 03:03:54.000000000","message":"Done","commit_id":"e5abd6aa2fef4f9b38ebdba21712f8ab12c1a8ce"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"53931b8ac812deef0184a5760580872e03732119","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        path \u003d \"https://%s:%d/versions\" % (\"127.0.0.1\", self.api_port)"},{"line_number":80,"context_line":"        https \u003d httplib2.Http(ca_certs\u003dself.ca_file)"},{"line_number":81,"context_line":"        response, content \u003d https.request(path, \u0027GET\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Expect a \"300 Multiple Choices\""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_f0093f96","line":80,"updated":"2015-02-02 16:58:13.000000000","message":"really minor -- should we try to standardize on \u0027requests\u0027 in the tests? (Does it matter?)","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"a7315606cf1105f56eb9e3ccc2c06bcc7a8d5f1f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        path \u003d \"https://%s:%d/versions\" % (\"127.0.0.1\", self.api_port)"},{"line_number":80,"context_line":"        https \u003d httplib2.Http(ca_certs\u003dself.ca_file)"},{"line_number":81,"context_line":"        response, content \u003d https.request(path, \u0027GET\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Expect a \"300 Multiple Choices\""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_66902c44","line":80,"in_reply_to":"da86d52c_f0093f96","updated":"2015-02-02 20:12:17.000000000","message":"You anticipated my next move, Stuart. \n\nI\u0027d like to make that change separately, removing all uses of httplib2 in tests. I started with httplib2 in the rewrite as that was what was used originally.","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"53931b8ac812deef0184a5760580872e03732119","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        path \u003d \"https://%s:%d/versions\" % (\"127.0.0.1\", self.api_port)"},{"line_number":80,"context_line":"        https \u003d httplib2.Http(ca_certs\u003dself.ca_file)"},{"line_number":81,"context_line":"        response, content \u003d https.request(path, \u0027GET\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Expect a \"300 Multiple Choices\""},{"line_number":84,"context_line":"        self.assertEqual(300, response.status)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_b07427fe","line":81,"updated":"2015-02-02 16:58:13.000000000","message":"Would a \u0027negative\u0027 test be useful? eg don\u0027t supply the ca_file. (Or would that only be testing the client library...?)","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"45ff99e963f12884c9e7712cd54c21410dfc0528","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        path \u003d \"https://%s:%d/versions\" % (\"127.0.0.1\", self.api_port)"},{"line_number":80,"context_line":"        https \u003d httplib2.Http(ca_certs\u003dself.ca_file)"},{"line_number":81,"context_line":"        response, content \u003d https.request(path, \u0027GET\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Expect a \"300 Multiple Choices\""},{"line_number":84,"context_line":"        self.assertEqual(300, response.status)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_1a50a45d","line":81,"in_reply_to":"da86d52c_4616c8f2","updated":"2015-02-02 20:43:39.000000000","message":"Stuart, that would be more testing the behaviour of the client and I\u0027m not sure how much value a negative test would have here.","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"a7315606cf1105f56eb9e3ccc2c06bcc7a8d5f1f","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        path \u003d \"https://%s:%d/versions\" % (\"127.0.0.1\", self.api_port)"},{"line_number":80,"context_line":"        https \u003d httplib2.Http(ca_certs\u003dself.ca_file)"},{"line_number":81,"context_line":"        response, content \u003d https.request(path, \u0027GET\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Expect a \"300 Multiple Choices\""},{"line_number":84,"context_line":"        self.assertEqual(300, response.status)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_4616c8f2","line":81,"in_reply_to":"da86d52c_b07427fe","updated":"2015-02-02 20:12:17.000000000","message":"I considered that and other test cases but felt they would only be testing the client library. To be sure, I ran a test myself without the ca_file as a negative test to ensure the library worked as intended but don\u0027t feel it adds much to Glance to keep that test.","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"bab3560e9ab75a63c6aa3a28011bfb2bfbd68df6","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        response, content \u003d https.request(path, \u0027GET\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Expect a \"300 Multiple Choices\""},{"line_number":84,"context_line":"        self.assertEqual(300, response.status)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_3dee79ed","line":84,"updated":"2015-01-31 19:33:29.000000000","message":"In case someone else is wondering why stop_servers() isn\u0027t called here, functional.FunctionalTest.tearDown covers this by first calling the cleanup() method.","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"}],"glance/tests/var/certificate.crt":[{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"53931b8ac812deef0184a5760580872e03732119","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN CERTIFICATE-----"},{"line_number":2,"context_line":"MIIEKjCCAxICAQEwDQYJKoZIhvcNAQELBQAwWzELMAkGA1UEBhMCQVUxEzARBgNV"},{"line_number":3,"context_line":"BAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCU9wZW5TdGFjazEPMA0GA1UECwwGR2xh"},{"line_number":4,"context_line":"bmNlMRIwEAYDVQQDDAlHbGFuY2UgQ0EwHhcNMTUwMTMxMDUzMTEzWhcNMTYwMTMx"}],"source_content_type":"application/pkix-cert","patch_set":4,"id":"da86d52c_753e21ba","line":1,"updated":"2015-02-02 16:58:13.000000000","message":"not a \u0027must have\u0027 but for the client (some of) the output of\n\nopenssl x509 -in certificate.crt -noout -text\n\nwas put at the top of the various cert/key files as a comment.\n\nhttps://github.com/openstack/python-glanceclient/blob/master/tests/var/certificate.crt","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"a7315606cf1105f56eb9e3ccc2c06bcc7a8d5f1f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN CERTIFICATE-----"},{"line_number":2,"context_line":"MIIEKjCCAxICAQEwDQYJKoZIhvcNAQELBQAwWzELMAkGA1UEBhMCQVUxEzARBgNV"},{"line_number":3,"context_line":"BAgMClNvbWUtU3RhdGUxEjAQBgNVBAoMCU9wZW5TdGFjazEPMA0GA1UECwwGR2xh"},{"line_number":4,"context_line":"bmNlMRIwEAYDVQQDDAlHbGFuY2UgQ0EwHhcNMTUwMTMxMDUzMTEzWhcNMTYwMTMx"}],"source_content_type":"application/pkix-cert","patch_set":4,"id":"da86d52c_a636a450","line":1,"in_reply_to":"da86d52c_753e21ba","updated":"2015-02-02 20:12:17.000000000","message":"Seems like that will help the next person.","commit_id":"651be0825179b12bde08bf860c59e928857a2a26"}]}
