private function checkSP(EntityDescriptor $ed, $url)
 {
     $arr = $ed->getAllSpSsoDescriptors();
     $this->assertEquals(1, count($arr));
     $sp = $arr[0];
     $this->assertTrue($sp->getWantAssertionsSigned());
     $this->assertEquals(2, count($sp->getKeyDescriptors()));
     $arr = $sp->findKeyDescriptors(KeyDescriptor::USE_SIGNING);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(KeyDescriptor::USE_SIGNING, $arr[0]->getUse());
     $cert = $arr[0]->getCertificate();
     $this->assertNotNull($cert);
     $this->assertGreaterThan(100, strlen($cert->getData()));
     $arr = $sp->findKeyDescriptors(KeyDescriptor::USE_ENCRYPTION);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(KeyDescriptor::USE_ENCRYPTION, $arr[0]->getUse());
     $cert = $arr[0]->getCertificate();
     $this->assertNotNull($cert);
     $this->assertGreaterThan(100, strlen($cert->getData()));
     $this->assertEquals(2, count($sp->findSingleLogoutServices()));
     $arr = $sp->findSingleLogoutServices(Bindings::SAML2_HTTP_REDIRECT);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(Bindings::SAML2_HTTP_REDIRECT, $arr[0]->getBinding());
     $this->assertEquals($url, $arr[0]->getLocation());
     $arr = $sp->findSingleLogoutServices(Bindings::SAML2_HTTP_POST);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(Bindings::SAML2_HTTP_POST, $arr[0]->getBinding());
     $this->assertEquals($url, $arr[0]->getLocation());
     $this->assertEquals(3, count($sp->findAssertionConsumerServices()));
     $arr = $sp->findAssertionConsumerServices(Bindings::SAML2_HTTP_POST);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(Bindings::SAML2_HTTP_POST, $arr[0]->getBinding());
     $this->assertEquals($url, $arr[0]->getLocation());
     $this->assertEquals(0, $arr[0]->getIndex());
     $arr = $sp->findAssertionConsumerServices(Bindings::SAML2_HTTP_ARTIFACT);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(Bindings::SAML2_HTTP_ARTIFACT, $arr[0]->getBinding());
     $this->assertEquals($url, $arr[0]->getLocation());
     $this->assertEquals(1, $arr[0]->getIndex());
     $arr = $sp->findAssertionConsumerServices(Bindings::SAML2_HTTP_REDIRECT);
     $this->assertEquals(1, count($arr));
     $this->assertEquals(Bindings::SAML2_HTTP_REDIRECT, $arr[0]->getBinding());
     $this->assertEquals($url, $arr[0]->getLocation());
     $this->assertEquals(2, $arr[0]->getIndex());
 }
 private function checkSP(EntityDescriptor $ed)
 {
     $arr = $ed->getAllSpSsoDescriptors();
     $this->assertEquals(0, count($arr));
 }