SAML2\AssertionTest::testMarshallingUnmarshallingChristmas PHP Метод

testMarshallingUnmarshallingChristmas() публичный Метод

Test an assertion with lots of options
    public function testMarshallingUnmarshallingChristmas()
    {
        // Create an assertion
        $assertion = new Assertion();
        $assertion->setIssuer('testIssuer');
        $assertion->setValidAudiences(array('audience1', 'audience2'));
        // deprecated function
        $this->assertNull($assertion->getAuthnContext());
        $assertion->setAuthnContext('someAuthnContext');
        $assertion->setAuthnContextDeclRef('/relative/path/to/document.xml');
        $assertion->setID("_123abc");
        $assertion->setIssueInstant(1234567890);
        $assertion->setAuthnInstant(1234567890 - 1);
        $assertion->setNotBefore(1234567890 - 10);
        $assertion->setNotOnOrAfter(1234567890 + 100);
        $assertion->setSessionNotOnOrAfter(1234568890 + 200);
        $assertion->setSessionIndex("idx1");
        $assertion->setAuthenticatingAuthority(array("idp1", "idp2"));
        $assertion->setAttributes(array("name1" => array("value1", "value2"), "name2" => array(2), "name3" => array(null)));
        $assertion->setAttributeNameFormat("urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified");
        $assertionElement = $assertion->toXML()->ownerDocument->saveXML();
        $assertionToVerify = new Assertion(DOMDocumentFactory::fromString($assertionElement)->firstChild);
        $this->assertEquals('/relative/path/to/document.xml', $assertionToVerify->getAuthnContextDeclRef());
        $this->assertEquals('_123abc', $assertionToVerify->getId());
        $this->assertEquals(1234567890, $assertionToVerify->getIssueInstant());
        $this->assertEquals(1234567889, $assertionToVerify->getAuthnInstant());
        $this->assertEquals(1234567880, $assertionToVerify->getNotBefore());
        $this->assertEquals(1234567990, $assertionToVerify->getNotOnOrAfter());
        $this->assertEquals(1234569090, $assertionToVerify->getSessionNotOnOrAfter());
        $this->assertEquals('idx1', $assertionToVerify->getSessionIndex());
        $authauth = $assertionToVerify->getAuthenticatingAuthority();
        $this->assertCount(2, $authauth);
        $this->assertEquals("idp2", $authauth[1]);
        $attributes = $assertionToVerify->getAttributes();
        $this->assertCount(3, $attributes);
        $this->assertCount(2, $attributes['name1']);
        $this->assertEquals("value1", $attributes['name1'][0]);
        $this->assertEquals(2, $attributes['name2'][0]);
        // NOTE: nil attribute is currently parsed as string..
        //$this->assertNull($attributes["name3"][0]);
        $this->assertEquals("urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified", $assertionToVerify->getAttributeNameFormat());
    }
AssertionTest