Skip to content

Commit e377511

Browse files
authored
Merge pull request #459 from fideloper/3.6.0-tests
PHP 8 test suite
2 parents 7d42211 + f03b4f8 commit e377511

10 files changed

Lines changed: 474 additions & 471 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@
1313
/vendor
1414
/composer.lock
1515
/.idea
16+
/.phpunit.result.cache

tests/src/OneLogin/Saml2/AuthTest.php

Lines changed: 82 additions & 82 deletions
Large diffs are not rendered by default.

tests/src/OneLogin/Saml2/AuthnRequestTest.php

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class AuthnRequestTest extends \PHPUnit\Framework\TestCase
1616
/**
1717
* Initializes the Test Suite
1818
*/
19-
public function setUp()
19+
public function setUp() : void
2020
{
2121
$settingsDir = TEST_ROOT .'/settings/';
2222
include $settingsDir.'settings1.php';
@@ -36,13 +36,13 @@ public function testCreateDeflatedSAMLRequestURLParameter()
3636
$authnRequest = new AuthnRequest($this->_settings);
3737
$parameters = array('SAMLRequest' => $authnRequest->getRequest());
3838
$authUrl = Utils::redirect('http://idp.example.com/SSOService.php', $parameters, true);
39-
$this->assertRegExp('#^http://idp\.example\.com\/SSOService\.php\?SAMLRequest=#', $authUrl);
39+
$this->assertMatchesRegularExpression('#^http://idp\.example\.com\/SSOService\.php\?SAMLRequest=#', $authUrl);
4040
parse_str(parse_url($authUrl, PHP_URL_QUERY), $exploded);
4141
// parse_url already urldecode de params so is not required.
4242
$payload = $exploded['SAMLRequest'];
4343
$decoded = base64_decode($payload);
4444
$inflated = gzinflate($decoded);
45-
$this->assertRegExp('#^<samlp:AuthnRequest#', $inflated);
45+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $inflated);
4646
}
4747

4848
/**
@@ -61,53 +61,53 @@ public function testAuthNContext()
6161
$encodedRequest = $authnRequest->getRequest();
6262
$decoded = base64_decode($encodedRequest);
6363
$request = gzinflate($decoded);
64-
$this->assertContains('<samlp:RequestedAuthnContext Comparison="exact">', $request);
65-
$this->assertContains('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request);
64+
$this->assertStringContainsString('<samlp:RequestedAuthnContext Comparison="exact">', $request);
65+
$this->assertStringContainsString('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request);
6666

6767
$settingsInfo['security']['requestedAuthnContext']= true;
6868
$settings2 = new Settings($settingsInfo);
6969
$authnRequest2 = new AuthnRequest($settings2);
7070
$encodedRequest2 = $authnRequest2->getRequest();
7171
$decoded2 = base64_decode($encodedRequest2);
7272
$request2 = gzinflate($decoded2);
73-
$this->assertContains('<samlp:RequestedAuthnContext Comparison="exact">', $request2);
74-
$this->assertContains('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request2);
73+
$this->assertStringContainsString('<samlp:RequestedAuthnContext Comparison="exact">', $request2);
74+
$this->assertStringContainsString('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request2);
7575

7676
$settingsInfo['security']['requestedAuthnContext'] = false;
7777
$settings3 = new Settings($settingsInfo);
7878
$authnRequest3 = new AuthnRequest($settings3);
7979
$encodedRequest3 = $authnRequest3->getRequest();
8080
$decoded3 = base64_decode($encodedRequest3);
8181
$request3 = gzinflate($decoded3);
82-
$this->assertNotContains('<samlp:RequestedAuthnContext Comparison="exact">', $request3);
83-
$this->assertNotContains('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request3);
82+
$this->assertStringNotContainsString('<samlp:RequestedAuthnContext Comparison="exact">', $request3);
83+
$this->assertStringNotContainsString('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request3);
8484

8585
$settingsInfo['security']['requestedAuthnContext']= array('urn:oasis:names:tc:SAML:2.0:ac:classes:Password', 'urn:oasis:names:tc:SAML:2.0:ac:classes:X509');
8686
$settings4 = new Settings($settingsInfo);
8787
$authnRequest4 = new AuthnRequest($settings4);
8888
$encodedRequest4 = $authnRequest4->getRequest();
8989
$decoded4 = base64_decode($encodedRequest4);
9090
$request4 = gzinflate($decoded4);
91-
$this->assertContains('<samlp:RequestedAuthnContext Comparison="exact">', $request4);
92-
$this->assertNotContains('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request4);
93-
$this->assertContains('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>', $request4);
94-
$this->assertContains('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:X509</saml:AuthnContextClassRef>', $request4);
91+
$this->assertStringContainsString('<samlp:RequestedAuthnContext Comparison="exact">', $request4);
92+
$this->assertStringNotContainsString('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>', $request4);
93+
$this->assertStringContainsString('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>', $request4);
94+
$this->assertStringContainsString('<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:X509</saml:AuthnContextClassRef>', $request4);
9595

9696
$settingsInfo['security']['requestedAuthnContextComparison'] = 'minimum';
9797
$settings5 = new Settings($settingsInfo);
9898
$authnRequest5 = new AuthnRequest($settings5);
9999
$encodedRequest5 = $authnRequest5->getRequest();
100100
$decoded5 = base64_decode($encodedRequest5);
101101
$request5 = gzinflate($decoded5);
102-
$this->assertContains('<samlp:RequestedAuthnContext Comparison="minimum">', $request5);
102+
$this->assertStringContainsString('<samlp:RequestedAuthnContext Comparison="minimum">', $request5);
103103

104104
$settingsInfo['security']['requestedAuthnContextComparison'] = '';
105105
$settings6 = new Settings($settingsInfo);
106106
$authnRequest6 = new AuthnRequest($settings6);
107107
$encodedRequest6 = $authnRequest6->getRequest();
108108
$decoded6 = base64_decode($encodedRequest6);
109109
$request6 = gzinflate($decoded6);
110-
$this->assertContains('<samlp:RequestedAuthnContext >', $request6);
110+
$this->assertStringContainsString('<samlp:RequestedAuthnContext >', $request6);
111111
}
112112

113113
/**
@@ -126,19 +126,19 @@ public function testForceAuthN()
126126
$encodedRequest = $authnRequest->getRequest();
127127
$decoded = base64_decode($encodedRequest);
128128
$request = gzinflate($decoded);
129-
$this->assertNotContains('ForceAuthn="true"', $request);
129+
$this->assertStringNotContainsString('ForceAuthn="true"', $request);
130130

131131
$authnRequest2 = new AuthnRequest($settings, false, false);
132132
$encodedRequest2 = $authnRequest2->getRequest();
133133
$decoded2 = base64_decode($encodedRequest2);
134134
$request2 = gzinflate($decoded2);
135-
$this->assertNotContains('ForceAuthn="true"', $request2);
135+
$this->assertStringNotContainsString('ForceAuthn="true"', $request2);
136136

137137
$authnRequest3 = new AuthnRequest($settings, true, false);
138138
$encodedRequest3 = $authnRequest3->getRequest();
139139
$decoded3 = base64_decode($encodedRequest3);
140140
$request3 = gzinflate($decoded3);
141-
$this->assertContains('ForceAuthn="true"', $request3);
141+
$this->assertStringContainsString('ForceAuthn="true"', $request3);
142142
}
143143

144144
/**
@@ -157,19 +157,19 @@ public function testIsPassive()
157157
$encodedRequest = $authnRequest->getRequest();
158158
$decoded = base64_decode($encodedRequest);
159159
$request = gzinflate($decoded);
160-
$this->assertNotContains('IsPassive="true"', $request);
160+
$this->assertStringNotContainsString('IsPassive="true"', $request);
161161

162162
$authnRequest2 = new AuthnRequest($settings, false, false);
163163
$encodedRequest2 = $authnRequest2->getRequest();
164164
$decoded2 = base64_decode($encodedRequest2);
165165
$request2 = gzinflate($decoded2);
166-
$this->assertNotContains('IsPassive="true"', $request2);
166+
$this->assertStringNotContainsString('IsPassive="true"', $request2);
167167

168168
$authnRequest3 = new AuthnRequest($settings, false, true);
169169
$encodedRequest3 = $authnRequest3->getRequest();
170170
$decoded3 = base64_decode($encodedRequest3);
171171
$request3 = gzinflate($decoded3);
172-
$this->assertContains('IsPassive="true"', $request3);
172+
$this->assertStringContainsString('IsPassive="true"', $request3);
173173
}
174174

175175
/**
@@ -188,19 +188,19 @@ public function testNameIDPolicy()
188188
$encodedRequest = $authnRequest->getRequest();
189189
$decoded = base64_decode($encodedRequest);
190190
$request = gzinflate($decoded);
191-
$this->assertNotContains('<samlp:NameIDPolicy', $request);
191+
$this->assertStringNotContainsString('<samlp:NameIDPolicy', $request);
192192

193193
$authnRequest2 = new AuthnRequest($settings, false, false, true);
194194
$encodedRequest2 = $authnRequest2->getRequest();
195195
$decoded2 = base64_decode($encodedRequest2);
196196
$request2 = gzinflate($decoded2);
197-
$this->assertContains('<samlp:NameIDPolicy', $request2);
197+
$this->assertStringContainsString('<samlp:NameIDPolicy', $request2);
198198

199199
$authnRequest3 = new AuthnRequest($settings);
200200
$encodedRequest3 = $authnRequest3->getRequest();
201201
$decoded3 = base64_decode($encodedRequest3);
202202
$request3 = gzinflate($decoded3);
203-
$this->assertContains('<samlp:NameIDPolicy', $request3);
203+
$this->assertStringContainsString('<samlp:NameIDPolicy', $request3);
204204
}
205205

206206
/**
@@ -219,25 +219,25 @@ public function testSubject()
219219
$encodedRequest = $authnRequest->getRequest();
220220
$decoded = base64_decode($encodedRequest);
221221
$request = gzinflate($decoded);
222-
$this->assertNotContains('<saml:Subject', $request);
222+
$this->assertStringNotContainsString('<saml:Subject', $request);
223223

224224
$authnRequest2 = new AuthnRequest($settings, false, false, true, "testuser@example.com");
225225
$encodedRequest2 = $authnRequest2->getRequest();
226226
$decoded2 = base64_decode($encodedRequest2);
227227
$request2 = gzinflate($decoded2);
228-
$this->assertContains('<saml:Subject', $request2);
229-
$this->assertContains('Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">testuser@example.com</saml:NameID>', $request2);
228+
$this->assertStringContainsString('<saml:Subject', $request2);
229+
$this->assertStringContainsString('Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">testuser@example.com</saml:NameID>', $request2);
230230

231-
$this->assertContains('<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">', $request2);
231+
$this->assertStringContainsString('<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">', $request2);
232232
$settingsInfo['sp']['NameIDFormat'] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress";
233233
$settings = new Settings($settingsInfo);
234234
$authnRequest3 = new AuthnRequest($settings, false, false, true, "testuser@example.com");
235235
$encodedRequest3 = $authnRequest3->getRequest();
236236
$decoded3 = base64_decode($encodedRequest3);
237237
$request3 = gzinflate($decoded3);
238-
$this->assertContains('<saml:Subject', $request3);
239-
$this->assertContains('Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">testuser@example.com</saml:NameID>', $request3);
240-
$this->assertContains('<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">', $request3);
238+
$this->assertStringContainsString('<saml:Subject', $request3);
239+
$this->assertStringContainsString('Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">testuser@example.com</saml:NameID>', $request3);
240+
$this->assertStringContainsString('<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">', $request3);
241241
}
242242

243243
/**
@@ -265,17 +265,17 @@ public function testCreateEncSAMLRequest()
265265
$authnRequest = new AuthnRequest($settings);
266266
$parameters = array('SAMLRequest' => $authnRequest->getRequest());
267267
$authUrl = Utils::redirect('http://idp.example.com/SSOService.php', $parameters, true);
268-
$this->assertRegExp('#^http://idp\.example\.com\/SSOService\.php\?SAMLRequest=#', $authUrl);
268+
$this->assertMatchesRegularExpression('#^http://idp\.example\.com\/SSOService\.php\?SAMLRequest=#', $authUrl);
269269
parse_str(parse_url($authUrl, PHP_URL_QUERY), $exploded);
270270
// parse_url already urldecode de params so is not required.
271271
$payload = $exploded['SAMLRequest'];
272272
$decoded = base64_decode($payload);
273273
$message = gzinflate($decoded);
274-
$this->assertRegExp('#^<samlp:AuthnRequest#', $message);
275-
$this->assertRegExp('#AssertionConsumerServiceURL="http://stuff.com/endpoints/endpoints/acs.php">#', $message);
276-
$this->assertRegExp('#<saml:Issuer>http://stuff.com/endpoints/metadata.php</saml:Issuer>#', $message);
277-
$this->assertRegExp('#Format="urn:oasis:names:tc:SAML:2.0:nameid-format:encrypted"#', $message);
278-
$this->assertRegExp('#ProviderName="SP prueba"#', $message);
274+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $message);
275+
$this->assertMatchesRegularExpression('#AssertionConsumerServiceURL="http://stuff.com/endpoints/endpoints/acs.php">#', $message);
276+
$this->assertMatchesRegularExpression('#<saml:Issuer>http://stuff.com/endpoints/metadata.php</saml:Issuer>#', $message);
277+
$this->assertMatchesRegularExpression('#Format="urn:oasis:names:tc:SAML:2.0:nameid-format:encrypted"#', $message);
278+
$this->assertMatchesRegularExpression('#ProviderName="SP prueba"#', $message);
279279
}
280280

281281
/**
@@ -295,7 +295,7 @@ public function testWeCanChooseToCompressARequest()
295295
$payload = $authnRequest->getRequest();
296296
$decoded = base64_decode($payload);
297297
$decompressed = gzinflate($decoded);
298-
$this->assertRegExp('#^<samlp:AuthnRequest#', $decompressed);
298+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $decompressed);
299299
}
300300

301301
/**
@@ -314,7 +314,7 @@ public function testWeCanChooseNotToCompressARequest()
314314
$authnRequest = new AuthnRequest($settings);
315315
$payload = $authnRequest->getRequest();
316316
$decoded = base64_decode($payload);
317-
$this->assertRegExp('#^<samlp:AuthnRequest#', $decoded);
317+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $decoded);
318318
}
319319

320320
/**
@@ -335,7 +335,7 @@ public function testWeCanChooseToDeflateARequestBody()
335335
$authnRequest = new AuthnRequest($settings);
336336
$payload = $authnRequest->getRequest(false);
337337
$decoded = base64_decode($payload);
338-
$this->assertRegExp('#^<samlp:AuthnRequest#', $decoded);
338+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $decoded);
339339

340340
//Test that we can choose not to compress the request payload.
341341
$settingsDir = TEST_ROOT .'/settings/';
@@ -347,7 +347,7 @@ public function testWeCanChooseToDeflateARequestBody()
347347
$payload = $authnRequest->getRequest(true);
348348
$decoded = base64_decode($payload);
349349
$decompressed = gzinflate($decoded);
350-
$this->assertRegExp('#^<samlp:AuthnRequest#', $decompressed);
350+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $decompressed);
351351
}
352352

353353
/**
@@ -365,6 +365,6 @@ public function testGetXML()
365365
$authnRequest = new AuthnRequest($settings);
366366

367367
$xml = $authnRequest->getXML();
368-
$this->assertRegExp('#^<samlp:AuthnRequest#', $xml);
368+
$this->assertMatchesRegularExpression('#^<samlp:AuthnRequest#', $xml);
369369
}
370370
}

0 commit comments

Comments
 (0)