@@ -90,7 +90,7 @@ public void setup() throws Exception {
90
90
@ Test
91
91
public void withMetadataUrlLocationWhenResolvableThenFindByEntityIdReturns () throws Exception {
92
92
try (MockWebServer server = new MockWebServer ()) {
93
- server . setDispatcher ( new AlwaysDispatch ( this .metadata ) );
93
+ enqueue ( server , this .metadata , 3 );
94
94
AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
95
95
.withTrustedMetadataLocation (server .url ("/" ).toString ())
96
96
.build ();
@@ -107,7 +107,7 @@ public void withMetadataUrlLocationWhenResolvableThenFindByEntityIdReturns() thr
107
107
@ Test
108
108
public void withMetadataUrlLocationnWhenResolvableThenIteratorReturns () throws Exception {
109
109
try (MockWebServer server = new MockWebServer ()) {
110
- server . setDispatcher ( new AlwaysDispatch ( this .entitiesDescriptor ) );
110
+ enqueue ( server , this .entitiesDescriptor , 3 );
111
111
List <AssertingPartyMetadata > parties = new ArrayList <>();
112
112
OpenSaml4AssertingPartyMetadataRepository .withTrustedMetadataLocation (server .url ("/" ).toString ())
113
113
.build ()
@@ -122,9 +122,6 @@ public void withMetadataUrlLocationnWhenResolvableThenIteratorReturns() throws E
122
122
@ Test
123
123
public void withMetadataUrlLocationWhenUnresolvableThenThrowsSaml2Exception () throws Exception {
124
124
try (MockWebServer server = new MockWebServer ()) {
125
- server .enqueue (new MockResponse ().setBody (this .metadata )
126
- .setResponseCode (200 )
127
- .setBodyDelay (1 , TimeUnit .MILLISECONDS ));
128
125
String url = server .url ("/" ).toString ();
129
126
server .shutdown ();
130
127
assertThatExceptionOfType (Saml2Exception .class )
@@ -135,7 +132,7 @@ public void withMetadataUrlLocationWhenUnresolvableThenThrowsSaml2Exception() th
135
132
@ Test
136
133
public void withMetadataUrlLocationWhenMalformedResponseThenSaml2Exception () throws Exception {
137
134
try (MockWebServer server = new MockWebServer ()) {
138
- server . setDispatcher ( new AlwaysDispatch ( "malformed" ) );
135
+ enqueue ( server , "malformed" , 3 );
139
136
String url = server .url ("/" ).toString ();
140
137
assertThatExceptionOfType (Saml2Exception .class )
141
138
.isThrownBy (() -> OpenSaml4AssertingPartyMetadataRepository .withTrustedMetadataLocation (url ).build ());
@@ -218,8 +215,7 @@ public void withTrustedMetadataLocationWhenMatchingCredentialsThenVerifiesSignat
218
215
Credential credential = TestOpenSamlObjects
219
216
.getSigningCredential (TestSaml2X509Credentials .relyingPartyVerifyingCredential (), descriptor .getEntityID ());
220
217
try (MockWebServer server = new MockWebServer ()) {
221
- server .start ();
222
- server .setDispatcher (new AlwaysDispatch (serialized ));
218
+ enqueue (server , serialized , 3 );
223
219
AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
224
220
.withTrustedMetadataLocation (server .url ("/" ).toString ())
225
221
.verificationCredentials ((c ) -> c .add (credential ))
@@ -238,8 +234,7 @@ public void withTrustedMetadataLocationWhenMismatchingCredentialsThenSaml2Except
238
234
Credential credential = TestOpenSamlObjects
239
235
.getSigningCredential (TestSaml2X509Credentials .relyingPartyVerifyingCredential (), descriptor .getEntityID ());
240
236
try (MockWebServer server = new MockWebServer ()) {
241
- server .start ();
242
- server .setDispatcher (new AlwaysDispatch (serialized ));
237
+ enqueue (server , serialized , 3 );
243
238
assertThatExceptionOfType (Saml2Exception .class ).isThrownBy (() -> OpenSaml4AssertingPartyMetadataRepository
244
239
.withTrustedMetadataLocation (server .url ("/" ).toString ())
245
240
.verificationCredentials ((c ) -> c .add (credential ))
@@ -255,8 +250,7 @@ public void withTrustedMetadataLocationWhenNoCredentialsThenSkipsVerifySignature
255
250
descriptor .getEntityID ());
256
251
String serialized = serialize (descriptor );
257
252
try (MockWebServer server = new MockWebServer ()) {
258
- server .start ();
259
- server .setDispatcher (new AlwaysDispatch (serialized ));
253
+ enqueue (server , serialized , 3 );
260
254
AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
261
255
.withTrustedMetadataLocation (server .url ("/" ).toString ())
262
256
.build ();
@@ -336,8 +330,7 @@ public void withMetadataLocationWhenMatchingCredentialsThenVerifiesSignature() t
336
330
Credential credential = TestOpenSamlObjects
337
331
.getSigningCredential (TestSaml2X509Credentials .relyingPartyVerifyingCredential (), descriptor .getEntityID ());
338
332
try (MockWebServer server = new MockWebServer ()) {
339
- server .start ();
340
- server .setDispatcher (new AlwaysDispatch (serialized ));
333
+ enqueue (server , serialized , 3 );
341
334
AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
342
335
.withMetadataLocation (server .url ("/" ).toString ())
343
336
.verificationCredentials ((c ) -> c .add (credential ))
@@ -357,25 +350,10 @@ private static String serialize(XMLObject object) {
357
350
}
358
351
}
359
352
360
- private static final class AlwaysDispatch extends Dispatcher {
361
-
362
- private final MockResponse response ;
363
-
364
- private AlwaysDispatch (String body ) {
365
- this .response = new MockResponse ().setBody (body )
366
- .setResponseCode (200 )
367
- .setBodyDelay (1 , TimeUnit .MILLISECONDS );
368
- }
369
-
370
- private AlwaysDispatch (MockResponse response ) {
371
- this .response = response ;
353
+ private static void enqueue (MockWebServer web , String body , int times ) {
354
+ for (int i = 0 ; i < times ; i ++) {
355
+ web .enqueue (new MockResponse ().setBody (body ).setResponseCode (200 ));
372
356
}
373
-
374
- @ Override
375
- public MockResponse dispatch (RecordedRequest recordedRequest ) throws InterruptedException {
376
- return this .response ;
377
- }
378
-
379
357
}
380
358
381
359
}
0 commit comments