1010use SimpleSAML \Test \XML \SerializableXMLTestTrait ;
1111use SimpleSAML \XML \Chunk ;
1212use SimpleSAML \XML \DOMDocumentFactory ;
13+ use SimpleSAML \XML \Utils as XMLUtils ;
1314use SimpleSAML \XMLSecurity \Constants ;
1415use SimpleSAML \XMLSecurity \Key ;
1516use SimpleSAML \XMLSecurity \XML \ds \X509Certificate ;
@@ -90,7 +91,7 @@ public function setUp(): void
9091 */
9192 public function testMarshalling (): void
9293 {
93- $ X509data = new X509Data (
94+ $ x509data = new X509Data (
9495 [
9596 new Chunk (
9697 DOMDocumentFactory::fromString ('<ds:X509UnknownTag>somevalue</ds:X509UnknownTag> ' )->documentElement
@@ -102,25 +103,35 @@ public function testMarshalling(): void
102103 ]
103104 );
104105
105- $ data = $ X509data ->getData ();
106+ $ x509dataElement = $ x509data ->toXML ();
107+ $ this ->assertCount (5 , $ x509dataElement ->childNodes );
106108
107- $ this ->assertInstanceOf (Chunk::class, $ data [0 ]);
108- $ this ->assertInstanceOf (X509Certificate::class, $ data [1 ]);
109- $ this ->assertInstanceOf (X509Digest::class, $ data [2 ]);
110- $ this ->assertInstanceOf (X509SubjectName::class, $ data [3 ]);
111- $ this ->assertInstanceOf (Chunk::class, $ data [4 ]);
109+ $ x509Certificate = XMLUtils::xpQuery ($ x509dataElement , './ds:X509Certificate ' );
110+ $ this ->assertCount (1 , $ x509Certificate );
111+ $ this ->assertEquals ($ this ->certificate , $ x509Certificate [0 ]->textContent );
112+
113+ $ x509Digest = XMLUtils::xpQuery ($ x509dataElement , './ds:X509Digest ' );
114+ $ this ->assertCount (1 , $ x509Digest );
115+ $ this ->assertEquals ($ this ->digest , $ x509Digest [0 ]->textContent );
112116
113- $ this ->assertEquals ($ this ->xmlRepresentation ->saveXML ($ this ->xmlRepresentation ->documentElement ), strval ($ X509data ));
117+ $ x509SubjectName = XMLUtils::xpQuery ($ x509dataElement , './ds:X509SubjectName ' );
118+ $ this ->assertCount (1 , $ x509SubjectName );
119+ $ this ->assertEquals ($ this ->certData ['name ' ], $ x509SubjectName [0 ]->textContent );
120+
121+ $ this ->assertEquals (
122+ $ this ->xmlRepresentation ->saveXML ($ this ->xmlRepresentation ->documentElement ),
123+ strval ($ x509data )
124+ );
114125 }
115126
116127
117128 /**
118129 */
119130 public function testUnmarshalling (): void
120131 {
121- $ X509data = X509Data::fromXML ($ this ->xmlRepresentation ->documentElement );
132+ $ x509data = X509Data::fromXML ($ this ->xmlRepresentation ->documentElement );
122133
123- $ data = $ X509data ->getData ();
134+ $ data = $ x509data ->getData ();
124135 $ this ->assertInstanceOf (Chunk::class, $ data [0 ]);
125136 $ this ->assertInstanceOf (X509Certificate::class, $ data [1 ]);
126137 $ this ->assertInstanceOf (X509Digest::class, $ data [2 ]);
0 commit comments