From 54bedcdaa7b4441a4fd9abbf220badf89ae2a8f0 Mon Sep 17 00:00:00 2001 From: Tim van Dijen Date: Sun, 15 Sep 2024 17:59:30 +0200 Subject: [PATCH] Add element fed:PseudonymServiceEndpoints --- src/XML/fed/PseudonymServiceEndpoints.php | 14 +++ .../XML/fed/PseudonymServiceEndpointsTest.php | 118 ++++++++++++++++++ .../xml/fed_PseudonymServiceEndpoints.xml | 16 +++ 3 files changed, 148 insertions(+) create mode 100644 src/XML/fed/PseudonymServiceEndpoints.php create mode 100644 tests/WSSecurity/XML/fed/PseudonymServiceEndpointsTest.php create mode 100644 tests/resources/xml/fed_PseudonymServiceEndpoints.xml diff --git a/src/XML/fed/PseudonymServiceEndpoints.php b/src/XML/fed/PseudonymServiceEndpoints.php new file mode 100644 index 00000000..ad37b0fb --- /dev/null +++ b/src/XML/fed/PseudonymServiceEndpoints.php @@ -0,0 +1,14 @@ +Pears', + )->documentElement; + + self::$metadataContent = DOMDocumentFactory::fromString( + 'Apples', + )->documentElement; + + self::$customContent = DOMDocumentFactory::fromString( + 'SomeChunk', + )->documentElement; + + self::$endpointReference = DOMDocumentFactory::fromFile( + dirname(__FILE__, 4) . '/resources/xml/wsa/200508/EndpointReference.xml', + )->documentElement; + } + + + // test marshalling + + + /** + * Test creating an PseudonymServiceEndpoints object from scratch. + */ + public function testMarshalling(): void + { + $doc = DOMDocumentFactory::fromString(''); + + $attr1 = new XMLAttribute('urn:x-simplesamlphp:namespace', 'ssp', 'test1', 'value1'); + $attr2 = new XMLAttribute('urn:x-simplesamlphp:namespace', 'ssp', 'test2', 'value2'); + $attr3 = new XMLAttribute('urn:x-simplesamlphp:namespace', 'ssp', 'test3', 'value3'); + $attr4 = new XMLAttribute('urn:x-simplesamlphp:namespace', 'ssp', 'test4', 'value4'); + + $referenceParameters = new ReferenceParameters([new Chunk(self::$referenceParameters)], [$attr4]); + $metadata = new Metadata([new Chunk(self::$metadataContent)], [$attr3]); + $chunk = new Chunk(self::$customContent); + + $endpointReference = new EndpointReference( + new Address('https://login.microsoftonline.com/login.srf', [$attr2]), + $referenceParameters, + $metadata, + [$chunk], + [$attr1], + ); + + $PseudonymServiceEndpoints = new PseudonymServiceEndpoints([$endpointReference]); + + $this->assertEquals( + self::$xmlRepresentation->saveXML(self::$xmlRepresentation->documentElement), + strval($PseudonymServiceEndpoints), + ); + } +} diff --git a/tests/resources/xml/fed_PseudonymServiceEndpoints.xml b/tests/resources/xml/fed_PseudonymServiceEndpoints.xml new file mode 100644 index 00000000..f7ab0412 --- /dev/null +++ b/tests/resources/xml/fed_PseudonymServiceEndpoints.xml @@ -0,0 +1,16 @@ + + + https://login.microsoftonline.com/login.srf + + + Pears + + + + + Apples + + + SomeChunk + +