@@ -90,7 +90,7 @@ public void setup() throws Exception {
9090 @ Test
9191 public void withMetadataUrlLocationWhenResolvableThenFindByEntityIdReturns () throws Exception {
9292 try (MockWebServer server = new MockWebServer ()) {
93- server . setDispatcher ( new AlwaysDispatch ( this .metadata ) );
93+ enqueue ( server , this .metadata , 3 );
9494 AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
9595 .withTrustedMetadataLocation (server .url ("/" ).toString ())
9696 .build ();
@@ -107,7 +107,7 @@ public void withMetadataUrlLocationWhenResolvableThenFindByEntityIdReturns() thr
107107 @ Test
108108 public void withMetadataUrlLocationnWhenResolvableThenIteratorReturns () throws Exception {
109109 try (MockWebServer server = new MockWebServer ()) {
110- server . setDispatcher ( new AlwaysDispatch ( this .entitiesDescriptor ) );
110+ enqueue ( server , this .entitiesDescriptor , 3 );
111111 List <AssertingPartyMetadata > parties = new ArrayList <>();
112112 OpenSaml4AssertingPartyMetadataRepository .withTrustedMetadataLocation (server .url ("/" ).toString ())
113113 .build ()
@@ -122,9 +122,6 @@ public void withMetadataUrlLocationnWhenResolvableThenIteratorReturns() throws E
122122 @ Test
123123 public void withMetadataUrlLocationWhenUnresolvableThenThrowsSaml2Exception () throws Exception {
124124 try (MockWebServer server = new MockWebServer ()) {
125- server .enqueue (new MockResponse ().setBody (this .metadata )
126- .setResponseCode (200 )
127- .setBodyDelay (1 , TimeUnit .MILLISECONDS ));
128125 String url = server .url ("/" ).toString ();
129126 server .shutdown ();
130127 assertThatExceptionOfType (Saml2Exception .class )
@@ -135,7 +132,7 @@ public void withMetadataUrlLocationWhenUnresolvableThenThrowsSaml2Exception() th
135132 @ Test
136133 public void withMetadataUrlLocationWhenMalformedResponseThenSaml2Exception () throws Exception {
137134 try (MockWebServer server = new MockWebServer ()) {
138- server . setDispatcher ( new AlwaysDispatch ( "malformed" ) );
135+ enqueue ( server , "malformed" , 3 );
139136 String url = server .url ("/" ).toString ();
140137 assertThatExceptionOfType (Saml2Exception .class )
141138 .isThrownBy (() -> OpenSaml4AssertingPartyMetadataRepository .withTrustedMetadataLocation (url ).build ());
@@ -218,8 +215,7 @@ public void withTrustedMetadataLocationWhenMatchingCredentialsThenVerifiesSignat
218215 Credential credential = TestOpenSamlObjects
219216 .getSigningCredential (TestSaml2X509Credentials .relyingPartyVerifyingCredential (), descriptor .getEntityID ());
220217 try (MockWebServer server = new MockWebServer ()) {
221- server .start ();
222- server .setDispatcher (new AlwaysDispatch (serialized ));
218+ enqueue (server , serialized , 3 );
223219 AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
224220 .withTrustedMetadataLocation (server .url ("/" ).toString ())
225221 .verificationCredentials ((c ) -> c .add (credential ))
@@ -238,8 +234,7 @@ public void withTrustedMetadataLocationWhenMismatchingCredentialsThenSaml2Except
238234 Credential credential = TestOpenSamlObjects
239235 .getSigningCredential (TestSaml2X509Credentials .relyingPartyVerifyingCredential (), descriptor .getEntityID ());
240236 try (MockWebServer server = new MockWebServer ()) {
241- server .start ();
242- server .setDispatcher (new AlwaysDispatch (serialized ));
237+ enqueue (server , serialized , 3 );
243238 assertThatExceptionOfType (Saml2Exception .class ).isThrownBy (() -> OpenSaml4AssertingPartyMetadataRepository
244239 .withTrustedMetadataLocation (server .url ("/" ).toString ())
245240 .verificationCredentials ((c ) -> c .add (credential ))
@@ -255,8 +250,7 @@ public void withTrustedMetadataLocationWhenNoCredentialsThenSkipsVerifySignature
255250 descriptor .getEntityID ());
256251 String serialized = serialize (descriptor );
257252 try (MockWebServer server = new MockWebServer ()) {
258- server .start ();
259- server .setDispatcher (new AlwaysDispatch (serialized ));
253+ enqueue (server , serialized , 3 );
260254 AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
261255 .withTrustedMetadataLocation (server .url ("/" ).toString ())
262256 .build ();
@@ -336,8 +330,7 @@ public void withMetadataLocationWhenMatchingCredentialsThenVerifiesSignature() t
336330 Credential credential = TestOpenSamlObjects
337331 .getSigningCredential (TestSaml2X509Credentials .relyingPartyVerifyingCredential (), descriptor .getEntityID ());
338332 try (MockWebServer server = new MockWebServer ()) {
339- server .start ();
340- server .setDispatcher (new AlwaysDispatch (serialized ));
333+ enqueue (server , serialized , 3 );
341334 AssertingPartyMetadataRepository parties = OpenSaml4AssertingPartyMetadataRepository
342335 .withMetadataLocation (server .url ("/" ).toString ())
343336 .verificationCredentials ((c ) -> c .add (credential ))
@@ -357,25 +350,10 @@ private static String serialize(XMLObject object) {
357350 }
358351 }
359352
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 ));
372356 }
373-
374- @ Override
375- public MockResponse dispatch (RecordedRequest recordedRequest ) throws InterruptedException {
376- return this .response ;
377- }
378-
379357 }
380358
381359}
0 commit comments