Skip to content

Commit f93cb66

Browse files
committed
Add missing samlp:NewID
1 parent 419addd commit f93cb66

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed

src/XML/samlp/NewID.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace SimpleSAML\SAML2\XML\samlp;
6+
7+
use SimpleSAML\SAML2\Type\SAMLStringValue;
8+
use SimpleSAML\XML\SchemaValidatableElementInterface;
9+
use SimpleSAML\XML\SchemaValidatableElementTrait;
10+
use SimpleSAML\XML\TypedTextContentTrait;
11+
12+
/**
13+
* Class representing a samlp:NewID element.
14+
*
15+
* @package simplesaml/saml2
16+
*/
17+
final class NewID extends AbstractSamlpElement implements SchemaValidatableElementInterface
18+
{
19+
use SchemaValidatableElementTrait;
20+
use TypedTextContentTrait;
21+
22+
23+
/** @var string */
24+
public const TEXTCONTENT_TYPE = SAMLStringValue::class;
25+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace SimpleSAML\SAML2\Test\SAML2\XML\samlp;
6+
7+
use PHPUnit\Framework\Attributes\CoversClass;
8+
use PHPUnit\Framework\Attributes\Group;
9+
use PHPUnit\Framework\TestCase;
10+
use SimpleSAML\SAML2\Type\SAMLStringValue;
11+
use SimpleSAML\SAML2\XML\samlp\AbstractSamlpElement;
12+
use SimpleSAML\SAML2\XML\samlp\NewID;
13+
use SimpleSAML\XML\DOMDocumentFactory;
14+
use SimpleSAML\XML\TestUtils\SchemaValidationTestTrait;
15+
use SimpleSAML\XML\TestUtils\SerializableElementTestTrait;
16+
17+
use function dirname;
18+
use function strval;
19+
20+
/**
21+
* Class \SimpleSAML\SAML2\XML\samlp\NewIDTest
22+
*
23+
* @package simplesamlphp/saml2
24+
*/
25+
#[Group('samlp')]
26+
#[CoversClass(NewID::class)]
27+
#[CoversClass(AbstractSamlpElement::class)]
28+
final class NewIDTest extends TestCase
29+
{
30+
use SchemaValidationTestTrait;
31+
use SerializableElementTestTrait;
32+
33+
34+
/**
35+
*/
36+
public static function setUpBeforeClass(): void
37+
{
38+
self::$testedClass = NewID::class;
39+
40+
self::$xmlRepresentation = DOMDocumentFactory::fromFile(
41+
dirname(__FILE__, 4) . '/resources/xml/samlp_NewID.xml',
42+
);
43+
}
44+
45+
46+
/**
47+
*/
48+
public function testMarshalling(): void
49+
{
50+
$newID = new NewID(
51+
SAMLStringValue::fromString('simplesamlphp'),
52+
);
53+
54+
$this->assertEquals(
55+
self::$xmlRepresentation->saveXML(self::$xmlRepresentation->documentElement),
56+
strval($newID),
57+
);
58+
}
59+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<samlp:NewID xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">simplesamlphp</samlp:NewID>

0 commit comments

Comments
 (0)