Skip to content

Commit 9313a37

Browse files
committed
Intitial test of the MDSL stuff
1 parent 0e460b0 commit 9313a37

File tree

4 files changed

+260
-0
lines changed

4 files changed

+260
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ser:MetadataList xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:ser="http://eidas.europa.eu/metadata/servicelist" Territory="FR">
3+
<ser:MetadataLocation xmlns:shibmeta="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" Location="https://eidas.pp.dev-franceconnect.fr/EidasNode/ConnectorMetadata">
4+
<ser:Endpoint EndpointType="http://eidas.europa.eu/metadata/ept/Connector" EntityID="https://eidas.pp.dev-franceconnect.fr/EidasNode/ConnectorMetadata"/>
5+
<ds:KeyInfo>
6+
<ds:X509Data>
7+
<ds:X509Certificate>MIIECTCCAnGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMQswCQYDVQQGEwJGUjEkMCIGA1UECgwb
8+
RlItRElOVU0tZUlEQVMtbm9kZS1wcmVwcm9kMB4XDTIyMDkyMjE0NDgwNloXDTMyMDkxOTE0NDgw
9+
NlowTDELMAkGA1UEBhMCRlIxJDAiBgNVBAoMG0ZSLURJTlVNLWVJREFTLW5vZGUtcHJlcHJvZDEX
10+
MBUGA1UEAwwOZUlEQVMtbWV0YWRhdGEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDO
11+
B8ffvjFTk3rBzcyBiwFFMDlYPxIlj+i1BLdLvvzSJdUHKZhegOhzNuRVCeJfoyvml9vtlwK5tfzD
12+
iY4znZsFO/qIB1wROxrPVRq8AEw0LiPCfP1Ie1rvK2Ddaw0wUEI6wFn4ViAStP5wI3/yaOqN1cFf
13+
JceXUbvgVfjRS5ETRVZK7UER5vMeMIPn4ESkf86d+GB0rvZoipNOyymXfgs9RU/dvjd40lrRs5rZ
14+
Nc/l4dOrFUpxHXq/AfLsWKjmmOGx959qMmYtsK9KcQdEAQs2L/adKM+yLJL0JyHxyNnWuaUJDBwW
15+
xV5PK/hWnkLkebkgpeB5loF7f7Ra2MnB1uzZlaAa69tSILjycdw0cOcY5+hnH6QFq74JDL4WPDR8
16+
FzCdcN+TY7/HvG6cTR4lPdW/iY3eZQycQqkEccQiFITAeewwVwZbQddbWhHxdtJE8P73QoZl3iSp
17+
/TzP33Kr3im+IEX1o2PV6Ur36/cDNmc9WQWsRKTeydoIY+AOmV/odt0CAwEAAaMPMA0wCwYDVR0P
18+
BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBgQB2FpL/Xen8z318X2To+3nEdRthc/9OwPF9ZNzftcce
19+
QP4Q+lxuwKFacklt5VoXURy/JMsgPtSHhar5kiFZTm2SMXVSEqVDj4UzAobVnUutiZPsFoyPWr/c
20+
iEsWu0VSthsI31AUOvSTisy0w81rPKjNkRuCU5V+AS1Z5rBqMlkwOEiUxUMci+pZQ4VhH+mqg1oH
21+
1rMuJ1gysYf/zMjSWGlraSbcHApIMBAjs24uSTH/O6io+9k9jLhZGZv9LpssoeSPVz3wJY6h1LHT
22+
D5OHZYDtelO4X5ZCVRFx5kCaUpKtb4mvo72oWN9KlGvrqp6SkUF1ogovTl16sEf2FZHoN4r0+5ZN
23+
/vS/plTsCGbe46QPGuj+FO5yN6KclM+eonmBp0JSyoABfYN1T28a4dRwE8CPWCOgJmzxuwqSOH+P
24+
XlUbPftbx5nGsE3mRBAU1Jga2S4S+zJPHirc2lfZGh6ggdYG9kkqp7X7kiTyPyPuWU644+YaCOwv
25+
x7804cuLUcQ8VSQ=</ds:X509Certificate>
26+
</ds:X509Data>
27+
</ds:KeyInfo>
28+
</ser:MetadataLocation>
29+
<ser:MetadataLocation xmlns:shibmeta="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" Location="https://eidas.pp.dev-franceconnect.fr/EidasNode/ServiceMetadata">
30+
<ser:Endpoint EndpointType="http://eidas.europa.eu/metadata/ept/ProxyService" EntityID="https://eidas.pp.dev-franceconnect.fr/EidasNode/ServiceMetadata" HideFromDiscovery="false"/>
31+
<ds:KeyInfo>
32+
<ds:X509Data>
33+
<ds:X509Certificate>MIIECTCCAnGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMQswCQYDVQQGEwJGUjEkMCIGA1UECgwb
34+
RlItRElOVU0tZUlEQVMtbm9kZS1wcmVwcm9kMB4XDTIyMDkyMjE0NDgwNloXDTMyMDkxOTE0NDgw
35+
NlowTDELMAkGA1UEBhMCRlIxJDAiBgNVBAoMG0ZSLURJTlVNLWVJREFTLW5vZGUtcHJlcHJvZDEX
36+
MBUGA1UEAwwOZUlEQVMtbWV0YWRhdGEwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDO
37+
B8ffvjFTk3rBzcyBiwFFMDlYPxIlj+i1BLdLvvzSJdUHKZhegOhzNuRVCeJfoyvml9vtlwK5tfzD
38+
iY4znZsFO/qIB1wROxrPVRq8AEw0LiPCfP1Ie1rvK2Ddaw0wUEI6wFn4ViAStP5wI3/yaOqN1cFf
39+
JceXUbvgVfjRS5ETRVZK7UER5vMeMIPn4ESkf86d+GB0rvZoipNOyymXfgs9RU/dvjd40lrRs5rZ
40+
Nc/l4dOrFUpxHXq/AfLsWKjmmOGx959qMmYtsK9KcQdEAQs2L/adKM+yLJL0JyHxyNnWuaUJDBwW
41+
xV5PK/hWnkLkebkgpeB5loF7f7Ra2MnB1uzZlaAa69tSILjycdw0cOcY5+hnH6QFq74JDL4WPDR8
42+
FzCdcN+TY7/HvG6cTR4lPdW/iY3eZQycQqkEccQiFITAeewwVwZbQddbWhHxdtJE8P73QoZl3iSp
43+
/TzP33Kr3im+IEX1o2PV6Ur36/cDNmc9WQWsRKTeydoIY+AOmV/odt0CAwEAAaMPMA0wCwYDVR0P
44+
BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBgQB2FpL/Xen8z318X2To+3nEdRthc/9OwPF9ZNzftcce
45+
QP4Q+lxuwKFacklt5VoXURy/JMsgPtSHhar5kiFZTm2SMXVSEqVDj4UzAobVnUutiZPsFoyPWr/c
46+
iEsWu0VSthsI31AUOvSTisy0w81rPKjNkRuCU5V+AS1Z5rBqMlkwOEiUxUMci+pZQ4VhH+mqg1oH
47+
1rMuJ1gysYf/zMjSWGlraSbcHApIMBAjs24uSTH/O6io+9k9jLhZGZv9LpssoeSPVz3wJY6h1LHT
48+
D5OHZYDtelO4X5ZCVRFx5kCaUpKtb4mvo72oWN9KlGvrqp6SkUF1ogovTl16sEf2FZHoN4r0+5ZN
49+
/vS/plTsCGbe46QPGuj+FO5yN6KclM+eonmBp0JSyoABfYN1T28a4dRwE8CPWCOgJmzxuwqSOH+P
50+
XlUbPftbx5nGsE3mRBAU1Jga2S4S+zJPHirc2lfZGh6ggdYG9kkqp7X7kiTyPyPuWU644+YaCOwv
51+
x7804cuLUcQ8VSQ=</ds:X509Certificate>
52+
</ds:X509Data>
53+
</ds:KeyInfo>
54+
</ser:MetadataLocation>
55+
</ser:MetadataList>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ser:MetadataList xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:ser="http://eidas.europa.eu/metadata/servicelist" Territory="GR">
3+
<ser:MetadataLocation xmlns:shibmeta="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" Location="https://pre.eidas.gov.gr/EidasNode/ConnectorMetadata">
4+
<ser:Endpoint EndpointType="http://eidas.europa.eu/metadata/ept/Connector" EntityID="https://pre.eidas.gov.gr/EidasNode/ConnectorMetadata"/>
5+
<ds:KeyInfo>
6+
<ds:X509Data>
7+
<ds:X509Certificate>MIIE5zCCA0+gAwIBAgIULMraEI5oF6p3T3LH0x/21gVFOvcwDQYJKoZIhvcNAQELBQAwgYkxCzAJ
8+
BgNVBAYTAkdSMScwJQYDVQQKDB5NaW5pc3RyeSBvZiBEaWdpdGFsIEdvdmVybmFuY2UxPTA7BgNV
9+
BAsMNGVJREFTIE5vZGUgTWV0YWRhdGEgU2lnbmluZyB0ZXN0aW5nIGVudmlyb25tZW50IDIwMjMx
10+
EjAQBgNVBAMMCUNvbm5lY3RvcjAeFw0yMzA5MjAxODIxMDlaFw0zMzA5MTcxODIxMDlaMIGJMQsw
11+
CQYDVQQGEwJHUjEnMCUGA1UECgweTWluaXN0cnkgb2YgRGlnaXRhbCBHb3Zlcm5hbmNlMT0wOwYD
12+
VQQLDDRlSURBUyBOb2RlIE1ldGFkYXRhIFNpZ25pbmcgdGVzdGluZyBlbnZpcm9ubWVudCAyMDIz
13+
MRIwEAYDVQQDDAlDb25uZWN0b3IwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC0PU5P
14+
pibubglyAQJDW0Q+iWiKXnfoBV6K5yFvzzE91UT/lE2UvX3haqqj8PwsfsJsPG7M805ky2UPY5nO
15+
U7VcnaQ3MWzz35kjNI1fvlXkR06YEkhBkr64WJ/7JTxf0wLO83ZRqBcvMqlDCqf8bPHXdjar89sS
16+
e866Wd2rthi7Tu6Ah6buF96lXpS2d9vwnf1S9mhOmtykQ53Vs5zgqMVOaHfKwCThefoYOCyzuqNP
17+
S1G0dQaRbXkIDpbniT96aap8Ksf0/Yx5E+o7BnvbnEsCJPHTYudTKqN7ljD8+Q4M2UNpMT05qIR7
18+
Zd2KfpufEV8o5YJzMCIftZH6sndBYbpDYkqM+Cd6qy84HBy2/UWgZDt2iQ1eML/Szk59wSm21szd
19+
Q4mshSv4rTwHuTtHg+ZeiCzwJGgvnQen3WR+TGm0YyHijfI9DqIvzbM8yXF8Abp00l3sA3Grm7wo
20+
E0YW+EbkiiJGUFrs88+P+cpcXeNkLltXSvhVosgF0JLcgoLl62UCAwEAAaNFMEMwEgYDVR0TAQH/
21+
BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFDu6OnhYjoq3nx9jmT8vwQ5tjFWD
22+
MA0GCSqGSIb3DQEBCwUAA4IBgQARw/klO118DF5BNunXqsiExeQSQqb+n/qcBXDYLypQJomO/JAs
23+
VEg4FEn05Z26QxyacwWxVqWhInVLFVhXgBJ5vnRTwK7RUkJCDQ+9u00oHd3JeOvygFjc7DoC5SWJ
24+
q9hnN+pX1qK9yI+R9hs7cKPKpQ+MaNPWl0yVQCE53GZrWk+Skgl2T5/s0rY+LTYUx5d21kxq1tKE
25+
cpzy9di+33w05uv7ozh7xcbL91wj7zbdDSibxpXmFdlY6C8BH4DOI0kRoYjWKpbuQnPrEbhQwZjI
26+
V9S5OcEaPyiYkVB9n4Z0z3AMTD5G4X52gKmdSh/iTuZuYP4Vj1hbgNYpMHI7B5fnXisa26e2DzT4
27+
OFEots8gDlsf26WBEHQcJnrNzqCPTd4Zyl5Jpzg+Vo/dwknIESuZYn2l+Iu1GJCMIV+RrI/LoPD4
28+
FRGrw9YbcFOqAgmSdqxRj6fSb2W5WanIvc7OAT0hKQjPu1jYHDGIeXipKf1rBLjpRF/xtzU/xb4m
29+
JDmr+yA=</ds:X509Certificate>
30+
</ds:X509Data>
31+
</ds:KeyInfo>
32+
</ser:MetadataLocation>
33+
<ser:MetadataLocation xmlns:shibmeta="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" Location="https://pre.eidas.gov.gr/EidasNode/ServiceMetadata">
34+
<ser:Endpoint EndpointType="http://eidas.europa.eu/metadata/ept/ProxyService" EntityID="https://pre.eidas.gov.gr/EidasNode/ServiceMetadata" HideFromDiscovery="true"/>
35+
<ds:KeyInfo>
36+
<ds:X509Data>
37+
<ds:X509Certificate>MIIE7TCCA1WgAwIBAgIUTo2pg82nNFjKFzNyHnCbQu1rEVYwDQYJKoZIhvcNAQELBQAwgYwxCzAJ
38+
BgNVBAYTAkdSMScwJQYDVQQKDB5NaW5pc3RyeSBvZiBEaWdpdGFsIEdvdmVybmFuY2UxPTA7BgNV
39+
BAsMNGVJREFTIE5vZGUgTWV0YWRhdGEgU2lnbmluZyB0ZXN0aW5nIGVudmlyb25tZW50IDIwMjMx
40+
FTATBgNVBAMMDFByb3h5U2VydmljZTAeFw0yMzA5MjAxODM5MDZaFw0zMzA5MTcxODM5MDZaMIGM
41+
MQswCQYDVQQGEwJHUjEnMCUGA1UECgweTWluaXN0cnkgb2YgRGlnaXRhbCBHb3Zlcm5hbmNlMT0w
42+
OwYDVQQLDDRlSURBUyBOb2RlIE1ldGFkYXRhIFNpZ25pbmcgdGVzdGluZyBlbnZpcm9ubWVudCAy
43+
MDIzMRUwEwYDVQQDDAxQcm94eVNlcnZpY2UwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB
44+
gQCqNGRL80G3XrF5wgtJIOCglAg8361zga2Hup8G+w6eQdP5bUyX9JZskTr9IUNeajUw7sRGN9GC
45+
iflAILmzHqySnspOZZer4bUaOEKhRE0RZnhWoCyeZgdp1j9bwe2uLgRJtLQWpeGq3kEzCoSqul70
46+
iLegKd85f8i0S5ZgzdpjSBJcetGwQxV8bw1+3IT4/OXrL467Z2tBvPE1AClf0ETkw9y5vfI1O+Vr
47+
OHJg8ywIKUgLdfgpCpjHGzljOVlA1ZbCplPvKOOkjRKx7BWAFwFqUbSLYjVDrhIHkCv+EsGeHLK4
48+
aLmxAVVpwj5qhlnxJ7vweKUEorw7GUGHhAmiM9bem5Wc3jakt06Hd8vA6/kn7Yr17feZtaBfWHAP
49+
HoH0nvGLHk6+WU3W3/i89KLnYH+JsGfY8vSOQesaavmZy6WTEmXk6AkDrUocdC0IrMhq8duOiN3u
50+
KrzN9t0vaRb6KMr35x7l9Sq6hxyiIjfZW+qB8434HmxKyZODCcXEncpNK8MCAwEAAaNFMEMwEgYD
51+
VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFM6pVXDExVEGIVCJbVKV
52+
/S9m7zFtMA0GCSqGSIb3DQEBCwUAA4IBgQCmADqhrXNb4iOsSOkHBghndhsT/lowKPtCicLrwfmm
53+
twQtwA/H1JILe11r97LxIuDmFi0wdSIwx+E0ioA3BF4kcddXrYDimQD2LDQZIWFYHaMhAII89Kfv
54+
VXnn9Ox048cJHsKrteMchCOKw1xxZYsOKr1dFPiQQOX+mP/S1aBnj+7Sr4GuTSkWXC4OiO+BaZQW
55+
4mWe83DsngdUjHmCDrvnBT3xzUbJx5hEky2lnU1ZFZtusH6v6VElQ1KPgDBov1dTktB+r44v47DO
56+
WZ7GUkwvoOVS0lpl7nCpD9QBBch0JmAyPI9RvVRD5vaPghD+Jv5JEiQtMJwcE2l1GYLcwo5Q1BOu
57+
FsLJQEEmD7PUm0ZisV7GTQbRqh2YcLSHMrXOMvbvBlNdEuTDrdMvKFK/FMGh+4DHh/J3+hklGw+e
58+
X+U++5GGUbOS6nZtDwmW/KBYMSnanWyWJ1cnhos7A2JkL429B6uhZsPIHAQn26LBz8yGx3vxze8D
59+
wBm+w1VVhk19CHc=</ds:X509Certificate>
60+
</ds:X509Data>
61+
</ds:KeyInfo>
62+
</ser:MetadataLocation>
63+
</ser:MetadataList>

src/pyff/test/data/eidas/eidas.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ser:MetadataServiceList Version="1.0" IssueDate="1970-01-01T00:00:00Z"
3+
xmlns:xi="http://www.w3.org/2001/XInclude"
4+
xmlns:ser="http://eidas.europa.eu/metadata/servicelist">
5+
<ser:SchemeInformation>
6+
<ser:IssuerName>Swedish E-Identification Board</ser:IssuerName>
7+
<ser:SchemeIdentifier>urn:se:elegnamnden:eidas:mdlist:local</ser:SchemeIdentifier>
8+
<ser:SchemeTerritory>SE</ser:SchemeTerritory>
9+
</ser:SchemeInformation>
10+
<!--
11+
<xi:include href="/Volumes/git/pyff/src/pyff/test/data/eidas/countries/GR.xml"/>
12+
-->
13+
<xi:include href="src/pyff/test/data/eidas/countries/FR.xml"/>
14+
<xi:include href="src/pyff/test/data/eidas/countries/GR.xml"/>
15+
<ser:DistributionPoints>
16+
<ser:DistributionPoint>https://qa.md.eidas.swedenconnect.se/mdservicelist-aggregate.xml</ser:DistributionPoint>
17+
</ser:DistributionPoints>
18+
</ser:MetadataServiceList>

src/pyff/test/test_mdsl.py

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
import json
2+
import os
3+
import shutil
4+
import sys
5+
import tempfile
6+
7+
import pytest
8+
import six
9+
import yaml
10+
from mako.lookup import TemplateLookup
11+
from mock import patch
12+
13+
from pyff import builtins
14+
from pyff.exceptions import MetadataException
15+
from pyff.parse import ParserException
16+
from pyff.pipes import PipeException, Plumbing, plumbing
17+
from pyff.repo import MDRepository
18+
from pyff.resource import ResourceException
19+
from pyff.test import ExitException, SignerTestCase
20+
from pyff.utils import hash_id, parse_xml, resource_filename, root, dumptree
21+
from pyff.constants import NS
22+
23+
24+
__author__ = 'leifj'
25+
26+
# The 'builtins' import appears unused to static analysers, ensure it isn't removed
27+
assert builtins is not None
28+
29+
30+
class PipeLineTest(SignerTestCase):
31+
@pytest.fixture(autouse=True)
32+
def _capsys(self, capsys):
33+
self._capsys = capsys
34+
35+
@property
36+
def captured_stdout(self) -> str:
37+
""" Return anything written to STDOUT during this test """
38+
out, _err = self._capsys.readouterr() # type: ignore
39+
return out
40+
41+
@property
42+
def captured_stderr(self) -> str:
43+
""" Return anything written to STDERR during this test """
44+
_out, err = self._capsys.readouterr() # type: ignore
45+
return err
46+
47+
@pytest.fixture(autouse=True)
48+
def _caplog(self, caplog):
49+
""" Return anything written to the logging system during this test """
50+
self._caplog = caplog
51+
52+
@property
53+
def captured_log_text(self) -> str:
54+
return self._caplog.text # type: ignore
55+
56+
def run_pipeline(self, pl_name, ctx=None, md=None):
57+
if ctx is None:
58+
ctx = dict()
59+
60+
if md is None:
61+
md = MDRepository()
62+
63+
templates = TemplateLookup(directories=[os.path.join(self.datadir, 'simple-pipeline')])
64+
pipeline = tempfile.NamedTemporaryFile('w').name
65+
template = templates.get_template(pl_name)
66+
with open(pipeline, "w") as fd:
67+
fd.write(template.render(ctx=ctx))
68+
res = plumbing(pipeline).process(md, state={'batch': True, 'stats': {}})
69+
os.unlink(pipeline)
70+
return res, md, ctx
71+
72+
def exec_pipeline(self, pstr):
73+
md = MDRepository()
74+
p = yaml.safe_load(six.StringIO(pstr))
75+
print("\n{}".format(yaml.dump(p)))
76+
pl = Plumbing(p, pid="test")
77+
res = pl.process(md, state={'batch': True, 'stats': {}})
78+
return res, md
79+
80+
@classmethod
81+
def setUpClass(cls):
82+
SignerTestCase.setUpClass()
83+
84+
def setUp(self):
85+
SignerTestCase.setUpClass()
86+
self.templates = TemplateLookup(directories=[os.path.join(self.datadir, 'simple-pipeline')])
87+
88+
89+
class ParseTest(PipeLineTest):
90+
def test_eidas_country(self):
91+
tmpfile = tempfile.NamedTemporaryFile('w').name
92+
try:
93+
self.exec_pipeline(f"""
94+
- when eidas:
95+
- xslt:
96+
stylesheet: eidas-cleanup.xsl
97+
- break
98+
99+
- load:
100+
- file://{self.datadir}/eidas/eidas.xml cleanup eidas
101+
- select
102+
- publish: {tmpfile}
103+
"""
104+
)
105+
xml = parse_xml(tmpfile)
106+
assert xml is not None
107+
entityID = "https://pre.eidas.gov.gr/EidasNode/ServiceMetadata"
108+
with_hide_from_discovery = xml.find("{%s}EntityDescriptor[@entityID='%s']" % (NS['md'], entityID))
109+
assert with_hide_from_discovery is not None
110+
search = "{%s}Extensions/{%s}EntityAttributes/{%s}Attribute[@Name='%s']" % (NS['md'], NS['mdattr'], NS['saml'],'http://macedir.org/entity-category')
111+
ecs = with_hide_from_discovery.find(search)
112+
assert ecs is not None
113+
entityID2 = "https://eidas.pp.dev-franceconnect.fr/EidasNode/ServiceMetadata"
114+
without_hide_from_discovery = xml.find("{%s}EntityDescriptor[@entityID='%s']" % (NS['md'], entityID2))
115+
ecs2 = without_hide_from_discovery.find(search)
116+
assert ecs2 is None
117+
except IOError:
118+
pass
119+
finally:
120+
try:
121+
#os.unlink(tmpfile)
122+
pass
123+
except (IOError, OSError):
124+
pass

0 commit comments

Comments
 (0)