public loadFingerprints ( SAML2\Configuration\CertificateProvider $configuration ) : |
||
$configuration | SAML2\Configuration\CertificateProvider | |
리턴 |
public function loadFingerprints(CertificateProvider $configuration)
{
$fingerprints = $configuration->getCertificateFingerprints();
if (!is_array($fingerprints) && !$fingerprints instanceof \Traversable) {
throw InvalidArgumentException::invalidType('array or instanceof \\Traversable', $fingerprints);
}
$collection = new FingerprintCollection();
foreach ($fingerprints as $fingerprint) {
if (!is_string($fingerprint) && !(is_object($fingerprint) && method_exists($fingerprint, '__toString'))) {
throw InvalidArgumentException::invalidType('fingerprint as string or object that can be casted to string', $fingerprint);
}
$collection->add(new Fingerprint((string) $fingerprint));
}
return $collection;
}
/** * @group certificate * @test * * @dataProvider invalidConfigurationProvider * @expectedException \SAML2\Exception\InvalidArgumentException */ public function it_correctly_parses_arrays_and_traversables($configurationValue) { $this->configurationMock->shouldReceive('getCertificateFingerprints')->once()->andReturn($configurationValue); $result = $this->fingerprintLoader->loadFingerprints($this->configurationMock); $this->assertInstanceOf('\\SAML2\\Certificate\\FingerprintCollection', $result); $this->assertCount(count($configurationValue), $result); }