)]}'
{"keystone/federation/idp.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b587c2bb24774af89612a9bb5fdc0c7042b13202","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                  CONF.saml.idp_contact_surname,"},{"line_number":570,"context_line":"                  CONF.saml.idp_contact_email,"},{"line_number":571,"context_line":"                  CONF.saml.idp_contact_telephone,"},{"line_number":572,"context_line":"                  CONF.saml.idp_contact_type]"},{"line_number":573,"context_line":"        for value in params:"},{"line_number":574,"context_line":"            if value is None:"},{"line_number":575,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_8c044f80","line":572,"updated":"2017-05-02 13:45:37.000000000","message":"I think this is correct. Looking at the saml schema for a ContactPerson the ContactType seems to be required.","commit_id":"5da589a8f68a0edee5a41b377b59d5f8c987ed0f"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"46f99c2fb5068f17f2af47e66f866375b01306f0","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                  CONF.saml.idp_contact_surname,"},{"line_number":570,"context_line":"                  CONF.saml.idp_contact_email,"},{"line_number":571,"context_line":"                  CONF.saml.idp_contact_telephone,"},{"line_number":572,"context_line":"                  CONF.saml.idp_contact_type]"},{"line_number":573,"context_line":"        for value in params:"},{"line_number":574,"context_line":"            if value is None:"},{"line_number":575,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ff73747_74c41b93","line":572,"in_reply_to":"5ff73747_8c044f80","updated":"2017-05-03 01:44:11.000000000","message":"yes, type checking occurs when getting option value like this, so we need check its value by this.","commit_id":"5da589a8f68a0edee5a41b377b59d5f8c987ed0f"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9c2db8a74271faea93ff3eef13254008f6d17cb7","unresolved":false,"context_lines":[{"line_number":4002,"context_line":"    def test_metadata_invalid_contact_type(self):"},{"line_number":4003,"context_line":"        self.config_fixture.config("},{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_1969e3f7","side":"PARENT","line":4005,"range":{"start_line":4005,"start_character":12,"end_line":4005,"end_character":39},"updated":"2017-04-28 14:34:20.000000000","message":"it will raise ValueError here.","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"5282e3180c0d9aa49eaf715171fc00f10f95a187","unresolved":false,"context_lines":[{"line_number":4002,"context_line":"    def test_metadata_invalid_contact_type(self):"},{"line_number":4003,"context_line":"        self.config_fixture.config("},{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_6f621eb0","side":"PARENT","line":4005,"range":{"start_line":4005,"start_character":12,"end_line":4005,"end_character":39},"in_reply_to":"5ff73747_11989767","updated":"2017-05-02 09:08:51.000000000","message":"Done","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8ffdcddd9ce77100c321dcf17c0acbe1383aa2bd","unresolved":false,"context_lines":[{"line_number":4002,"context_line":"    def test_metadata_invalid_contact_type(self):"},{"line_number":4003,"context_line":"        self.config_fixture.config("},{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_ae5dfe47","side":"PARENT","line":4005,"range":{"start_line":4005,"start_character":12,"end_line":4005,"end_character":39},"in_reply_to":"5ff73747_1969e3f7","updated":"2017-04-28 16:17:55.000000000","message":"so the code below is dead (never executed)?","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"5687ee71ddba557de7a00c38bfddcc7c8fd9b5c0","unresolved":false,"context_lines":[{"line_number":4002,"context_line":"    def test_metadata_invalid_contact_type(self):"},{"line_number":4003,"context_line":"        self.config_fixture.config("},{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_11989767","side":"PARENT","line":4005,"range":{"start_line":4005,"start_character":12,"end_line":4005,"end_character":39},"in_reply_to":"5ff73747_31a153f9","updated":"2017-04-28 16:35:11.000000000","message":"Ok so our self.generator.generate_metadata should be reworked to not check that again, if oslo does that for us already. Could you update it ?","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"2e6eb2157719f5a79b159f650468f4d83d22f7f5","unresolved":false,"context_lines":[{"line_number":4002,"context_line":"    def test_metadata_invalid_contact_type(self):"},{"line_number":4003,"context_line":"        self.config_fixture.config("},{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_31a153f9","side":"PARENT","line":4005,"range":{"start_line":4005,"start_character":12,"end_line":4005,"end_character":39},"in_reply_to":"5ff73747_ae5dfe47","updated":"2017-04-28 16:23:54.000000000","message":"yes","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"398960ce8a2b827a1d9fc4913eb371a0355d29ca","unresolved":false,"context_lines":[{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""},{"line_number":4009,"context_line":"    def test_metadata_invalid_idp_sso_endpoint(self):"},{"line_number":4010,"context_line":"        self.config_fixture.config("}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_59a64bad","side":"PARENT","line":4007,"updated":"2017-04-28 14:22:08.000000000","message":"Well, this is testing it\u0027s throwing a keystone exception. Even if oslo is the one throwing the exception, it is good to test we are wrapping it.","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"21c23df7e3ad1945fd74e1e5d84ffb2d2c268640","unresolved":false,"context_lines":[{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""},{"line_number":4009,"context_line":"    def test_metadata_invalid_idp_sso_endpoint(self):"},{"line_number":4010,"context_line":"        self.config_fixture.config("}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_59de4bda","side":"PARENT","line":4007,"in_reply_to":"5ff73747_59a64bad","updated":"2017-04-28 14:29:52.000000000","message":"It\u0027s testing that the response to an HTTP request is a validation error: http://git.openstack.org/cgit/openstack/keystone/tree/keystone/exception.py#n89\n\nbut this test will never get that far because oslo.config will fail to set the value in the first place. If we really care to test that part then the test should be in test_config.py or somewhere that\u0027s not structured around making client requests.","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9c2db8a74271faea93ff3eef13254008f6d17cb7","unresolved":false,"context_lines":[{"line_number":4004,"context_line":"            group\u003d\u0027saml\u0027,"},{"line_number":4005,"context_line":"            idp_contact_type\u003d\"invalid\")"},{"line_number":4006,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":4007,"context_line":"                          self.generator.generate_metadata)"},{"line_number":4008,"context_line":""},{"line_number":4009,"context_line":"    def test_metadata_invalid_idp_sso_endpoint(self):"},{"line_number":4010,"context_line":"        self.config_fixture.config("}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_19c443f4","side":"PARENT","line":4007,"in_reply_to":"5ff73747_59de4bda","updated":"2017-04-28 14:34:20.000000000","message":"oslo.config test the case that value is  in or not in choices carefully, so we don\u0027t test this in consuming projects, this test seems duplicated.\n\nSee https://github.com/openstack/oslo.config/blob/master/oslo_config/tests/test_cfg.py#L3278-L3290","commit_id":"716c70c315c3344ee718e63e38bced2f12560cf7"}]}
