)]}'
{"cinder/service.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"7d48a7e5a67c862dd6835faaae67c62e7c582a05","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                    \u0027The default is equal to the number of CPUs available.\u0027),"},{"line_number":77,"context_line":"    cfg.BoolOpt(\u0027osapi_volume_use_ssl\u0027,"},{"line_number":78,"context_line":"                default\u003dFalse,"},{"line_number":79,"context_line":"                help\u003d\u0027Wraps the socket in a SSL context if True is set.\u0027"},{"line_number":80,"context_line":"                \u0027A certificate file and key file must be specified.\u0027), ]"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_51a344b2","line":79,"range":{"start_line":79,"start_character":71,"end_line":79,"end_character":72},"updated":"2016-08-10 11:40:07.000000000","message":"Neat. You need an extra space here.","commit_id":"3fa386a2d0e0c1846cfb1ca159d637256ee00151"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"7d48a7e5a67c862dd6835faaae67c62e7c582a05","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    cfg.BoolOpt(\u0027osapi_volume_use_ssl\u0027,"},{"line_number":78,"context_line":"                default\u003dFalse,"},{"line_number":79,"context_line":"                help\u003d\u0027Wraps the socket in a SSL context if True is set.\u0027"},{"line_number":80,"context_line":"                \u0027A certificate file and key file must be specified.\u0027), ]"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_d1d3b402","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":66},"updated":"2016-08-10 11:40:07.000000000","message":"How is this files specified? I noted you added as comment in your first patch. Is it defined somewhere else?","commit_id":"3fa386a2d0e0c1846cfb1ca159d637256ee00151"},{"author":{"_account_id":22227,"name":"Justin A Wilson","email":"justin.wilson@intel.com","username":"waj334"},"change_message_id":"049b62545431859c34125d0b45fd9a01120eb98c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    cfg.BoolOpt(\u0027osapi_volume_use_ssl\u0027,"},{"line_number":78,"context_line":"                default\u003dFalse,"},{"line_number":79,"context_line":"                help\u003d\u0027Wraps the socket in a SSL context if True is set.\u0027"},{"line_number":80,"context_line":"                \u0027A certificate file and key file must be specified.\u0027), ]"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_dc11e805","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":66},"in_reply_to":"9ad45d7e_d1d3b402","updated":"2016-08-10 22:27:33.000000000","message":"A SSL section should be added to the conf file. These settings are picked up in sslutils.py.\n\n[ssl]\ncert_file \u003d ...\nkey_file \u003d ...","commit_id":"3fa386a2d0e0c1846cfb1ca159d637256ee00151"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"083c46c73c1a9e2cd78fa71e52b1d2961a3e9454","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                    \u0027The default is equal to the number of CPUs available.\u0027),"},{"line_number":77,"context_line":"    cfg.BoolOpt(\u0027osapi_volume_use_ssl\u0027,"},{"line_number":78,"context_line":"                default\u003dFalse,"},{"line_number":79,"context_line":"                help\u003d\u0027Wraps the socket in a SSL context if True is set.\u0027"},{"line_number":80,"context_line":"                     \u0027A certificate file and key file must be specified.\u0027), ]"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3ac371cc_c900d504","line":79,"range":{"start_line":79,"start_character":70,"end_line":79,"end_character":72},"updated":"2016-08-18 11:14:18.000000000","message":"space missing.","commit_id":"0ae7187b5fa9af259a12fd5da259c016800ece6a"}],"cinder/tests/unit/test_service.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"083c46c73c1a9e2cd78fa71e52b1d2961a3e9454","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import ddt"},{"line_number":23,"context_line":"import mock"},{"line_number":24,"context_line":"import os"},{"line_number":25,"context_line":"from oslo_concurrency import processutils"},{"line_number":26,"context_line":"from oslo_config import cfg"},{"line_number":27,"context_line":"from oslo_db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":15,"id":"3ac371cc_b4b20c4a","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":9},"updated":"2016-08-18 11:14:18.000000000","message":"imported but unused","commit_id":"0ae7187b5fa9af259a12fd5da259c016800ece6a"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"083c46c73c1a9e2cd78fa71e52b1d2961a3e9454","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"from cinder import test"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from oslo_service import _options"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"test_service_opts \u003d ["},{"line_number":43,"context_line":"    cfg.StrOpt(\"fake_manager\","}],"source_content_type":"text/x-python","patch_set":15,"id":"3ac371cc_d4b3484b","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":33},"updated":"2016-08-18 11:14:18.000000000","message":"imported but unused","commit_id":"0ae7187b5fa9af259a12fd5da259c016800ece6a"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"26c83c56737beea577c3fddd4eb430f90bba502f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":"from oslo_db import exception as db_exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from cinder import context"},{"line_number":30,"context_line":"from cinder import db"},{"line_number":31,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":17,"id":"1ac06dbe_da5fa80c","line":28,"updated":"2016-08-19 22:45:54.000000000","message":"why did you add these extra lines in the imports? It doesn\u0027t look like any imports were added or anything","commit_id":"8024e1039cbc2590698d18f6440889cabb594cfa"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"371c590616ca9a968f623c0de9ad36ebe53e6c42","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":"from oslo_db import exception as db_exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from cinder import context"},{"line_number":30,"context_line":"from cinder import db"},{"line_number":31,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":17,"id":"1ac06dbe_4655824e","line":28,"in_reply_to":"1ac06dbe_5e0a6c22","updated":"2016-08-22 05:58:46.000000000","message":"If you compare base with patchset 1, it just has on space in between. \n\nI think you added another extra line, which is not a needed\n\nhttps://github.com/openstack/cinder/blob/master/cinder/tests/unit/test_service.py#L27","commit_id":"8024e1039cbc2590698d18f6440889cabb594cfa"},{"author":{"_account_id":22227,"name":"Justin A Wilson","email":"justin.wilson@intel.com","username":"waj334"},"change_message_id":"76d81c9a79cb785f9292274eb6783a013f908593","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":"from oslo_db import exception as db_exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from cinder import context"},{"line_number":30,"context_line":"from cinder import db"},{"line_number":31,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":17,"id":"1ac06dbe_5e0a6c22","line":28,"in_reply_to":"1ac06dbe_da5fa80c","updated":"2016-08-21 23:58:25.000000000","message":"Because of pep8. The extra spaces affect how the pep8 test checks the order of the imports. I failed the pep8 test on my last patch because I removed them","commit_id":"8024e1039cbc2590698d18f6440889cabb594cfa"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"26c83c56737beea577c3fddd4eb430f90bba502f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from cinder import objects"},{"line_number":34,"context_line":"from cinder import rpc"},{"line_number":35,"context_line":"from cinder import service"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"from cinder import test"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"test_service_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":17,"id":"1ac06dbe_1aa020f4","line":36,"updated":"2016-08-19 22:45:54.000000000","message":"ditto","commit_id":"8024e1039cbc2590698d18f6440889cabb594cfa"}],"cinder/tests/unit/test_service_ssl.py":[{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":102,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":103,"context_line":"    def test_ssl_enabled_no_cert_no_key(self, mock_loader, mock_path_check):"},{"line_number":104,"context_line":"        mock_path_check.side_effect \u003d [False, False, False]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_e9e771aa","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":4},"updated":"2016-08-12 21:49:51.000000000","message":"I guess you dont need this anymore","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"dbb4fda86d4c4e6cb087014371fd94b3c5187228","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":102,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":103,"context_line":"    def test_ssl_enabled_no_cert_no_key(self, mock_loader, mock_path_check):"},{"line_number":104,"context_line":"        mock_path_check.side_effect \u003d [False, False, False]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_15f5be82","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":4},"in_reply_to":"7ac969e8_e9e771aa","updated":"2016-08-12 23:34:25.000000000","message":"Yeah I pulled this patch down and ran the tests after removing this mock and it all still passed okay","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            file or no key file, but not when both (runs without ssl)"},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # self.assertRaises(RuntimeError, sslutils.is_enabled, CONF)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Now test WSGI service"},{"line_number":118,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_2c13575e","line":115,"range":{"start_line":115,"start_character":15,"end_line":115,"end_character":27},"updated":"2016-08-12 21:49:51.000000000","message":"you need to remove these commented lines","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"dbb4fda86d4c4e6cb087014371fd94b3c5187228","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        else:"},{"line_number":124,"context_line":"            test_service.stop()"},{"line_number":125,"context_line":"            test_service.wait()  # wait for service to stop"},{"line_number":126,"context_line":"            print(\u0027Runs without SSL. No key, no cert\u0027)  # noqa"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_55d8d61d","line":126,"range":{"start_line":126,"start_character":12,"end_line":126,"end_character":17},"updated":"2016-08-12 23:34:25.000000000","message":"Do we need all of the print statements? What are they adding to the tests?","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":131,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":132,"context_line":"    def test_ssl_enabled_has_cert_no_key(self, mock_loader, mock_path_check):"},{"line_number":133,"context_line":"        mock_path_check.side_effect \u003d [True, False, False]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_c9ec3592","line":130,"range":{"start_line":130,"start_character":5,"end_line":130,"end_character":9},"updated":"2016-08-12 21:49:51.000000000","message":"I guess you dont need this anymore","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        self.assertRaises(RuntimeError, sslutils.is_enabled, CONF)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        # Now test WSGI service"},{"line_number":149,"context_line":"        try:"},{"line_number":150,"context_line":"            test_service \u003d service.WSGIService(\"osapi_volume\")"},{"line_number":151,"context_line":"        except RuntimeError:"},{"line_number":152,"context_line":"            print(\u0027!!!!!!!! Failed as it should have !!!!!!!!\u0027)  # noqa"},{"line_number":153,"context_line":"            pass"},{"line_number":154,"context_line":"        else:"},{"line_number":155,"context_line":"            test_service.stop()"},{"line_number":156,"context_line":"            test_service.wait()  # wait for service to stop"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":161,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_ec565f05","line":158,"range":{"start_line":149,"start_character":8,"end_line":158,"end_character":42},"updated":"2016-08-12 21:49:51.000000000","message":"do you need this part?","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":161,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":162,"context_line":"    def test_ssl_enabled_no_cert_has_key(self, mock_loader, mock_path_check):"},{"line_number":163,"context_line":"        mock_path_check.side_effect \u003d [True, False, False]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_2902293f","line":160,"range":{"start_line":160,"start_character":9,"end_line":160,"end_character":10},"updated":"2016-08-12 21:49:51.000000000","message":"I guess you dont need this anymore","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        self.assertRaises(RuntimeError, sslutils.is_enabled, CONF)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Now test WSGI service"},{"line_number":179,"context_line":"        try:"},{"line_number":180,"context_line":"            test_service \u003d service.WSGIService(\"osapi_volume\")"},{"line_number":181,"context_line":"        except RuntimeError:"},{"line_number":182,"context_line":"            print(\u0027!!!!!!!! Failed as it should have !!!!!!!!\u0027)  # noqa"},{"line_number":183,"context_line":"            pass"},{"line_number":184,"context_line":"        else:"},{"line_number":185,"context_line":"            test_service.stop()"},{"line_number":186,"context_line":"            test_service.wait()  # wait for service to stop"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":191,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_2c3a37ce","line":188,"range":{"start_line":178,"start_character":8,"end_line":188,"end_character":42},"updated":"2016-08-12 21:49:51.000000000","message":"Do you really need this part?","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        self.assertTrue(mock_loader.called)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":191,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":192,"context_line":"    def test_ssl_enabled_has_cert_and_key(self, mock_loader, mock_path_check):"},{"line_number":193,"context_line":"        # Override ssl enabler with cert and key"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_69fc213f","line":190,"updated":"2016-08-12 21:49:51.000000000","message":"I guess you dont need this anymore","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"499cc4b59964d316a9a5d7b30da2cc5b50925d6e","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            file or no key file"},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        # self.assert(RuntimeError, sslutils.is_enabled, CONF)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        # Now test WSGI service"},{"line_number":208,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ac969e8_692f01a2","line":205,"range":{"start_line":205,"start_character":10,"end_line":205,"end_character":14},"updated":"2016-08-12 21:49:51.000000000","message":"I guess you need to remove the commented part","commit_id":"50b8d022e8113074917d3d8216b676fe98fbf666"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import os"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"test_service_opts \u003d ["},{"line_number":20,"context_line":"    cfg.BoolOpt(\u0027test_osapi_volume_use_ssl\u0027,"},{"line_number":21,"context_line":"                default\u003dFalse,"},{"line_number":22,"context_line":"                help\u003d\u0027Wraps the socket in a SSL context if True is set.\u0027"},{"line_number":23,"context_line":"                \u0027A certificate file and key file must be specified.\u0027),"},{"line_number":24,"context_line":"    cfg.StrOpt(\u0027test_cert_file\u0027,"},{"line_number":25,"context_line":"               help\u003d\"Certificate file to use when starting \""},{"line_number":26,"context_line":"                    \"the server securely.\","},{"line_number":27,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":28,"context_line":"               deprecated_name\u003d\u0027ssl_cert_file\u0027),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027test_key_file\u0027,"},{"line_number":30,"context_line":"               help\u003d\"Private key file to use when starting \""},{"line_number":31,"context_line":"                    \"the server securely.\","},{"line_number":32,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":33,"context_line":"               deprecated_name\u003d\u0027ssl_key_file\u0027), ]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"ssl_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027ca_file\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_aca0aba0","line":33,"range":{"start_line":19,"start_character":0,"end_line":33,"end_character":49},"updated":"2016-08-15 22:33:12.000000000","message":"correct me if I\u0027m wrong, but it seems those are not even used by anything","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":33,"context_line":"               deprecated_name\u003d\u0027ssl_key_file\u0027), ]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"ssl_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027ca_file\u0027,"},{"line_number":37,"context_line":"               help\u003d\"CA certificate file to use to verify \""},{"line_number":38,"context_line":"                    \"connecting clients.\","},{"line_number":39,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":40,"context_line":"               deprecated_name\u003d\u0027ssl_ca_file\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027cert_file\u0027,"},{"line_number":42,"context_line":"               help\u003d\"Certificate file to use when starting \""},{"line_number":43,"context_line":"                    \"the server securely.\","},{"line_number":44,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":45,"context_line":"               deprecated_name\u003d\u0027ssl_cert_file\u0027),"},{"line_number":46,"context_line":"    cfg.StrOpt(\u0027key_file\u0027,"},{"line_number":47,"context_line":"               help\u003d\"Private key file to use when starting \""},{"line_number":48,"context_line":"                    \"the server securely.\","},{"line_number":49,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":50,"context_line":"               deprecated_name\u003d\u0027ssl_key_file\u0027),"},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027version\u0027,"},{"line_number":52,"context_line":"               help\u003d\u0027SSL version to use (valid only if SSL enabled). \u0027"},{"line_number":53,"context_line":"                    \u0027Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, \u0027"},{"line_number":54,"context_line":"                    \u0027TLSv1_1, and TLSv1_2 may be available on some \u0027"},{"line_number":55,"context_line":"                    \u0027distributions.\u0027"},{"line_number":56,"context_line":"               ),"},{"line_number":57,"context_line":"    cfg.StrOpt(\u0027ciphers\u0027,"},{"line_number":58,"context_line":"               help\u003d\u0027Sets the list of available ciphers. value should be a \u0027"},{"line_number":59,"context_line":"                    \u0027string in the OpenSSL cipher list format.\u0027"},{"line_number":60,"context_line":"               ),"},{"line_number":61,"context_line":"]"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"CONF \u003d cfg.CONF"},{"line_number":64,"context_line":"CONF.register_opts(test_service_opts)"},{"line_number":65,"context_line":"CONF.register_opts(ssl_opts, \u0027ssl\u0027)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"SSL_CERT_DIR \u003d os.path.normpath(os.path.join("},{"line_number":68,"context_line":"    os.path.dirname(os.path.abspath(__file__)),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_0656fd28","line":65,"range":{"start_line":35,"start_character":0,"end_line":65,"end_character":35},"updated":"2016-08-15 22:33:12.000000000","message":"why do you even register those options here, aren\u0027t those already registered by cinder / oslo","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"class TestWSGIService(test.TestCase):"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def setUp(self):"},{"line_number":78,"context_line":"        super(TestWSGIService, self).setUp()"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    test_service \u003d None"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_668ff123","line":78,"range":{"start_line":77,"start_character":4,"end_line":78,"end_character":44},"updated":"2016-08-15 22:33:12.000000000","message":"In current implementation it does nothing and could be removed.","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def setUp(self):"},{"line_number":78,"context_line":"        super(TestWSGIService, self).setUp()"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    test_service \u003d None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def create_service(self):"},{"line_number":83,"context_line":"        # Creates the WSGI service"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_e6d121fd","line":80,"range":{"start_line":80,"start_character":4,"end_line":80,"end_character":23},"updated":"2016-08-15 22:33:12.000000000","message":"you shouldn\u0027t create global variables in test case - each test should be independent so if you want to create predefined variable it should be moved to setUp, but in case of test_service, it\u0027s useless as you override it in every test case","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    test_service \u003d None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def create_service(self):"},{"line_number":83,"context_line":"        # Creates the WSGI service"},{"line_number":84,"context_line":"        self.test_service \u003d service.WSGIService(\"osapi_volume\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Stop the service"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_0691ddf0","line":83,"range":{"start_line":83,"start_character":8,"end_line":83,"end_character":34},"updated":"2016-08-15 22:33:12.000000000","message":"Try to avoid obvious comments","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # Creates the WSGI service"},{"line_number":84,"context_line":"        self.test_service \u003d service.WSGIService(\"osapi_volume\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Stop the service"},{"line_number":87,"context_line":"        self.test_service.stop()"},{"line_number":88,"context_line":"        self.test_service.wait()  # wait for service to stop"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_66bc116d","line":86,"range":{"start_line":86,"start_character":8,"end_line":86,"end_character":26},"updated":"2016-08-15 22:33:12.000000000","message":"same","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Stop the service"},{"line_number":87,"context_line":"        self.test_service.stop()"},{"line_number":88,"context_line":"        self.test_service.wait()  # wait for service to stop"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":91,"context_line":"    def test_ssl_default(self, mock_loader):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_46c115e4","line":88,"range":{"start_line":88,"start_character":34,"end_line":88,"end_character":60},"updated":"2016-08-15 22:33:12.000000000","message":"same","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.test_service.stop()"},{"line_number":88,"context_line":"        self.test_service.wait()  # wait for service to stop"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":91,"context_line":"    def test_ssl_default(self, mock_loader):"},{"line_number":92,"context_line":"        self.override_config(\u0027osapi_volume_listen_port\u0027, 0)  # random port"},{"line_number":93,"context_line":"        self.override_config(\u0027osapi_volume_use_ssl\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_865f8d71","line":90,"range":{"start_line":90,"start_character":4,"end_line":90,"end_character":43},"updated":"2016-08-15 22:33:12.000000000","message":"when you want to mock object for every test put mocking decorator on top of test case class","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @mock.patch(\u0027oslo_service.wsgi.Loader\u0027)"},{"line_number":91,"context_line":"    def test_ssl_default(self, mock_loader):"},{"line_number":92,"context_line":"        self.override_config(\u0027osapi_volume_listen_port\u0027, 0)  # random port"},{"line_number":93,"context_line":"        self.override_config(\u0027osapi_volume_use_ssl\u0027,"},{"line_number":94,"context_line":"                             CONF.test_osapi_volume_use_ssl)"},{"line_number":95,"context_line":"        self.override_config(\"cert_file\", CONF.test_cert_file, \u0027ssl\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_661251b6","line":92,"range":{"start_line":92,"start_character":8,"end_line":92,"end_character":74},"updated":"2016-08-15 22:33:12.000000000","message":"set up code that\u0027s same for each test should be moved to to setUp method to avoid duplication, that\u0027s why it exist :)","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"},{"author":{"_account_id":12825,"name":"Szymon Wróblewski","email":"szymon.wroblewski@ovhcloud.com","username":"bluex"},"change_message_id":"5bfd5929fe77d61ca63e953d1c655503cda2353d","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.override_config(\u0027osapi_volume_listen_port\u0027, 0)  # random port"},{"line_number":110,"context_line":"        self.override_config(\u0027osapi_volume_use_ssl\u0027, True)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        \"\"\""},{"line_number":113,"context_line":"            This should pass when no cert and no key is specified. It would be"},{"line_number":114,"context_line":"            the same as not using SSL"},{"line_number":115,"context_line":"        \"\"\""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Now test WSGI service"},{"line_number":118,"context_line":"        self.create_service()"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_2c9afb63","line":115,"range":{"start_line":112,"start_character":8,"end_line":115,"end_character":11},"updated":"2016-08-15 22:33:12.000000000","message":"What is this? If docstring it should be at the first line of function if comment just use #","commit_id":"6919bb7d6e14889a3c40430bdd759f139c13d416"}]}
