Passed
Push — master ( feb95e...9f38d8 )
by Tim
01:59
created

ExponentTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
dl 0
loc 37
rs 10
c 1
b 0
f 0
wmc 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SimpleSAML\XMLSecurity\Test\XML\ds;
6
7
use PHPUnit\Framework\Attributes\CoversClass;
8
use PHPUnit\Framework\TestCase;
9
use SimpleSAML\XML\DOMDocumentFactory;
10
use SimpleSAML\XML\Exception\SchemaViolationException;
11
use SimpleSAML\XML\TestUtils\SerializableElementTestTrait;
12
use SimpleSAML\XMLSecurity\Test\XML\XMLDumper;
13
use SimpleSAML\XMLSecurity\XML\ds\AbstractDsElement;
14
use SimpleSAML\XMLSecurity\XML\ds\Exponent;
15
16
use function dirname;
17
use function strval;
18
19
/**
20
 * Class \SimpleSAML\XMLSecurity\Test\XML\ds\ExponentTest
21
 *
22
 * @package simplesamlphp/xml-security
23
 */
24
#[CoversClass(AbstractDsElement::class)]
25
#[CoversClass(Exponent::class)]
26
final class ExponentTest extends TestCase
27
{
28
    use SerializableElementTestTrait;
29
30
    /**
31
     */
32
    public static function setUpBeforeClass(): void
33
    {
34
        self::$testedClass = Exponent::class;
35
36
        self::$xmlRepresentation = DOMDocumentFactory::fromFile(
37
            dirname(__FILE__, 3) . '/resources/xml/ds_Exponent.xml',
38
        );
39
    }
40
41
42
    /**
43
     */
44
    public function testMarshalling(): void
45
    {
46
        $exponent = new Exponent('dGhpcyBpcyBzb21lIHJhbmRvbSBleHBvbmVudAo=');
47
48
        $this->assertEquals(
49
            XMLDumper::dumpDOMDocumentXMLWithBase64Content(self::$xmlRepresentation),
50
            strval($exponent),
51
        );
52
    }
53
54
55
    /**
56
     */
57
    public function testMarshallingNotBase64(): void
58
    {
59
        $this->expectException(SchemaViolationException::class);
60
        new Exponent('/CTj3d1DB5e2t7CTo9BEzCf5S9NRzwnBgZRlm32REI=');
61
    }
62
}
63