Closed ewedlund closed 8 months ago
Hi @ewedlund
we could move forward with an example metadata in the unit tests to analyze where the problem is and fix it asap
As I can see we need a cie private metadata, we actually have only the public one https://github.com/italia/spid-sp-test/blob/main/tests/metadata/public-sp-cie.xml
so we need first of an unsigned private-sp-cie.xml that would be signed and named private-sp-cie_signed.xml
Once get this done, we should take a look here: https://github.com/italia/spid-sp-test/blob/834c9f2cbafb821c0bc7f4b46088bd4578aff537/src/spid_sp_test/metadata.py#L1061
we have to check where code must be improved/fixed
So I have have done some testing and digging, and I think the problem is in https://github.com/italia/spid-sp-test/blob/834c9f2cbafb821c0bc7f4b46088bd4578aff537/src/spid_sp_test/metadata.py
The checks for public metadata: https://github.com/italia/spid-sp-test/blob/834c9f2cbafb821c0bc7f4b46088bd4578aff537/src/spid_sp_test/metadata.py#L1053-L1059
And for private: https://github.com/italia/spid-sp-test/blob/834c9f2cbafb821c0bc7f4b46088bd4578aff537/src/spid_sp_test/metadata.py#L1061-L1068
In https://docs.italia.it/italia/cie/cie-manuale-tecnico-docs/it/master/federazione.html#informazioni-di-censimento-e-contatto I don't see any difference in administrative/technical contacts. The technical contact is not mandatory for any of the two profiles, it should be present only if the SP uses an external technical entity.
Changing the method test_profile_cie_sp_private
to:
def test_profile_cie_sp_private(self):
self.test_profile_cie_sp()
self.test_extensions_public_private(
ext_type="Private", contact_type="administrative"
)
self.test_Contacts_PubPriv(contact_type="administrative")
self.test_extensions_cie(ext_type="Private")
Makes the metadata pass the tests, and looks more reasonable to me, or am I missing something?
Ciao @ewedlund, sorry for the late!
We may leave self.test_Contacts_PubPriv(contact_type="technical")
as it is and makes the entire check not mandatory if the contact_type == technical
Ciao @ewedlund, sorry for the late!
We may leave
self.test_Contacts_PubPriv(contact_type="technical")
as it is and makes the entire check not mandatory if the contact_type == technical
Sounds OK to me.
Ciao, i nuovi files XSD condivisi dai colleghi di IPZS sono stati aggiornati in questa release https://github.com/italia/spid-sp-test/releases/tag/v1.2.11 Questo problema è ancora presente a seguito di questo aggiornamento?
I'm really sorry about the extreme delay in response, I have just now got back to working on CIE after a long "break".
Unfortunately the problem seems to remain, my test continues to fail and I checked the release you refer to, and the only change seems to be to the cie.xsd whereas the specification of the contact types is in the enumeration here: https://github.com/italia/spid-sp-test/blob/c008edfac47892987c971e6ff27958d93dea2cf2/src/spid_sp_test/xsd/cie/saml-schema-metadata-sp-cie.xsd#L153.
What I do not understand is why the tests test_profile_cie_sp_public
and test_profile_cie_sp_private
are different, since I cannot find any documentation stating that there is any difference in the type of contacts, the technical contact is never mandatory (https://docs.italia.it/italia/cie/cie-eid-saml-docs/it/versione-corrente/federazione.html#informazioni-di-censimento-e-contatto).
I repeat my suggestion in https://github.com/italia/spid-sp-test/issues/121#issuecomment-1047895719 to modify test_profile_cie_sp_private
so that it is the same as test_profile_cie_sp_public
(I also saw that it is not just me getting this error: https://github.com/italia/spid-sp-test/issues/162#issue-1745594948)
could you please propose a PR?
running a test on CIE metadata
returns
Even though the contact information follows the guidelines in https://docs.italia.it/italia/cie/cie-manuale-tecnico-docs/it/master/federazione.html#informazioni-di-censimento-e-contatto, i.e.
I have also tested with the metadata example in paragraph "2.3.6. Esempio di metadata" (adding a signature and certificate), and it gives the same result as above: