SAML2\MessageTest::testConvertIssuerToXML PHP Method

testConvertIssuerToXML() public method

    public function testConvertIssuerToXML()
    {
        // first, try with common Issuer objects (Format=entity)
        $response = new Response();
        $issuer = new XML\saml\Issuer();
        $issuer->value = 'https://gateway.stepup.org/saml20/sp/metadata';
        $response->setIssuer($issuer);
        $xml = $response->toUnsignedXML();
        $xml_issuer = Utils::xpQuery($xml, './saml_assertion:Issuer');
        $xml_issuer = $xml_issuer[0];
        $this->assertFalse($xml_issuer->hasAttributes());
        $this->assertEquals($issuer->value, $xml_issuer->textContent);
        // now, try an Issuer with another format and attributes
        $issuer->Format = Constants::NAMEID_UNSPECIFIED;
        $issuer->NameQualifier = 'SomeNameQualifier';
        $issuer->SPNameQualifier = 'SomeSPNameQualifier';
        $issuer->SPProvidedID = 'SomeSPProvidedID';
        $response->setIssuer($issuer);
        $xml = $response->toUnsignedXML();
        $xml_issuer = Utils::xpQuery($xml, './saml_assertion:Issuer');
        $xml_issuer = $xml_issuer[0];
        $this->assertTrue($xml_issuer->hasAttributes());
        $this->assertEquals($issuer->value, $xml_issuer->textContent);
        $this->assertEquals($issuer->NameQualifier, $xml_issuer->getAttribute('NameQualifier'));
        $this->assertEquals($issuer->SPNameQualifier, $xml_issuer->getAttribute('SPNameQualifier'));
        $this->assertEquals($issuer->SPProvidedID, $xml_issuer->getAttribute('SPProvidedID'));
        // finally, make sure we can skip the Issuer by setting it to null
        $response->setIssuer(null);
        $xml = $response->toUnsignedXML();
        $this->assertEmpty(Utils::xpQuery($xml, './saml_assertion:Issuer'));
    }