SAML2\XML\mdui\DiscoHintsTest::testMarshalling PHP Method

testMarshalling() public method

Test marshalling a basic DiscoHints element
public testMarshalling ( )
    public function testMarshalling()
    {
        $discoHints = new DiscoHints();
        $discoHints->IPHint = array("192.168.6.0/24", "fd00:0123:aa:1001::/64");
        $discoHints->DomainHint = array("example.org", "student.example.org");
        $discoHints->GeolocationHint = array("geo:47.37328,8.531126", "geo:19.34343,12.342514");
        $document = DOMDocumentFactory::fromString('<root />');
        $xml = $discoHints->toXML($document->firstChild);
        $discoElements = Utils::xpQuery($xml, '/root/*[local-name()=\'DiscoHints\' and namespace-uri()=\'urn:oasis:names:tc:SAML:metadata:ui\']');
        $this->assertCount(1, $discoElements);
        $discoElement = $discoElements[0];
        $ipHintElements = Utils::xpQuery($discoElement, './*[local-name()=\'IPHint\' and namespace-uri()=\'urn:oasis:names:tc:SAML:metadata:ui\']');
        $this->assertCount(2, $ipHintElements);
        $this->assertEquals("192.168.6.0/24", $ipHintElements[0]->textContent);
        $this->assertEquals("fd00:0123:aa:1001::/64", $ipHintElements[1]->textContent);
        $domainHintElements = Utils::xpQuery($discoElement, './*[local-name()=\'DomainHint\' and namespace-uri()=\'urn:oasis:names:tc:SAML:metadata:ui\']');
        $this->assertCount(2, $domainHintElements);
        $this->assertEquals("example.org", $domainHintElements[0]->textContent);
        $this->assertEquals("student.example.org", $domainHintElements[1]->textContent);
        $geoHintElements = Utils::xpQuery($discoElement, './*[local-name()=\'GeolocationHint\' and namespace-uri()=\'urn:oasis:names:tc:SAML:metadata:ui\']');
        $this->assertCount(2, $geoHintElements);
        $this->assertEquals("geo:47.37328,8.531126", $geoHintElements[0]->textContent);
        $this->assertEquals("geo:19.34343,12.342514", $geoHintElements[1]->textContent);
    }