Passed
Pull Request — master (#11)
by Pol
02:31
created

RPDiscoveryOpenIdConfiguration::execute()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 5
nc 1
nop 1
dl 0
loc 8
rs 10
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Facile\OpenIDClient\ConformanceTest\RpTest\Discovery;
6
7
use PHPUnit\Framework\Assert;
8
use Facile\OpenIDClient\ConformanceTest\RpTest\AbstractRpTest;
9
use Facile\OpenIDClient\ConformanceTest\TestInfo;
10
use Facile\OpenIDClient\Issuer\IssuerBuilder;
11
12
/**
13
 * Retrieve and use the OpenID Provider Configuration Information.
14
 *
15
 * Read and use the JSON object returned from the OpenID Connect Provider.
16
 */
17
class RPDiscoveryOpenIdConfiguration extends AbstractRpTest
18
{
19
20
    public function getTestId(): string
21
    {
22
        return 'rp-discovery-openid-configuration';
23
    }
24
25
    public function execute(TestInfo $testInfo): void
26
    {
27
        $configUri = sprintf('%s/%s/%s/.well-known/openid-configuration', $testInfo->getRoot(), $testInfo->getRpId(), $this->getTestId());
28
        $issuer = (new IssuerBuilder())
29
            ->build($configUri);
30
31
        $expected = sprintf('%s/%s/%s', $testInfo->getRoot(), $testInfo->getRpId(), $this->getTestId());
32
        Assert::assertSame($expected, $issuer->getMetadata()->getIssuer());
33
    }
34
}
35