11package com .auth0 ;
22
3- import com .auth0 .client .HttpOptions ;
43import com .auth0 .client .auth .AuthAPI ;
54import com .auth0 .exception .Auth0Exception ;
65import com .auth0 .json .auth .PushedAuthorizationResponse ;
76import com .auth0 .net .Request ;
7+ import com .auth0 .net .Response ;
88import okhttp3 .HttpUrl ;
99import org .junit .jupiter .api .BeforeEach ;
1010import org .junit .jupiter .api .Test ;
@@ -244,67 +244,75 @@ public void shouldThrowWhenChangingTheNonceUsingCustomParameterSetter() {
244244 assertEquals ("Please, use the dedicated methods for setting the 'nonce' and 'state' parameters." , e .getMessage ());
245245 }
246246
247- // @Test
248- // public void shouldGetAuthorizeUrlFromPAR() throws Exception {
249- // AuthAPIStub authAPIStub = new AuthAPIStub("https://domain.com", "clientId", "clientSecret");
250- // Request requestMock = mock(Request.class);
251- //
252- // when(requestMock.execute().getBody()).thenReturn(new PushedAuthorizationResponse("urn:example:bwc4JK-ESC0w8acc191e-Y1LTC2", 90));
253- //
254- // authAPIStub.pushedAuthorizationResponseRequest = requestMock;
255- // String url = new AuthorizeUrl(authAPIStub, request, response, "https://domain.com/callback", "code")
256- // .fromPushedAuthorizationRequest();
257- //
258- // assertThat(url, is("https://domain.com/authorize?client_id=clientId&request_uri=urn%3Aexample%3Abwc4JK-ESC0w8acc191e-Y1LTC2"));
259- // }
260-
261- // @Test
262- // public void fromPushedAuthorizationRequestThrowsWhenRequestUriIsNull() throws Exception {
263- // AuthAPIStub authAPIStub = new AuthAPIStub("https://domain.com", "clientId", "clientSecret");
264- // Request requestMock = mock(Request.class);
265- // when(requestMock.execute().getBody()).thenReturn(new PushedAuthorizationResponse(null, 90));
266- //
267- // authAPIStub.pushedAuthorizationResponseRequest = requestMock;
268- //
269- // InvalidRequestException exception = assertThrows(InvalidRequestException.class, () -> {
270- // new AuthorizeUrl(authAPIStub, request, response, "https://domain.com/callback", "code")
271- // .fromPushedAuthorizationRequest();
272- // });
273- //
274- // assertThat(exception.getMessage(), is("The PAR request returned a missing or empty request_uri value"));
275- // }
276-
277- // @Test
278- // public void fromPushedAuthorizationRequestThrowsWhenRequestUriIsEmpty() throws Exception {
279- // AuthAPIStub authAPIStub = new AuthAPIStub("https://domain.com", "clientId", "clientSecret");
280- // Request requestMock = mock(Request.class);
281- // when(requestMock.execute().getBody()).thenReturn(new PushedAuthorizationResponse("urn:example:bwc4JK-ESC0w8acc191e-Y1LTC2", null));
282- //
283- // authAPIStub.pushedAuthorizationResponseRequest = requestMock;
284- //
285- // InvalidRequestException exception = assertThrows(InvalidRequestException.class, () -> {
286- // new AuthorizeUrl(authAPIStub, request, response, "https://domain.com/callback", "code")
287- // .fromPushedAuthorizationRequest();
288- // });
289- //
290- // assertThat(exception.getMessage(), is("The PAR request returned a missing expires_in value"));
291- // }
292-
293- // @Test
294- // public void fromPushedAuthorizationRequestThrowsWhenExpiresInIsNull() throws Exception {
295- // AuthAPIStub authAPIStub = new AuthAPIStub("https://domain.com", "clientId", "clientSecret");
296- // Request requestMock = mock(Request.class);
297- // when(requestMock.execute().getBody()).thenReturn(new PushedAuthorizationResponse(null, 90));
298- //
299- // authAPIStub.pushedAuthorizationResponseRequest = requestMock;
300- //
301- // InvalidRequestException exception = assertThrows(InvalidRequestException.class, () -> {
302- // new AuthorizeUrl(authAPIStub, request, response, "https://domain.com/callback", "code")
303- // .fromPushedAuthorizationRequest();
304- // });
305- //
306- // assertThat(exception.getMessage(), is("The PAR request returned a missing or empty request_uri value"));
307- // }
247+ @ Test
248+ public void shouldGetAuthorizeUrlFromPAR () throws Exception {
249+ AuthAPIStub authAPIStub = new AuthAPIStub ("https://domain.com" , "clientId" , "clientSecret" );
250+ Request requestMock = mock (Request .class );
251+
252+ Response <PushedAuthorizationResponse > pushedAuthorizationResponseResponse = mock (Response .class );
253+ when (requestMock .execute ()).thenReturn (pushedAuthorizationResponseResponse );
254+ when (requestMock .execute ().getBody ()).thenReturn (new PushedAuthorizationResponse ("urn:example:bwc4JK-ESC0w8acc191e-Y1LTC2" , 90 ));
255+
256+ authAPIStub .pushedAuthorizationResponseRequest = requestMock ;
257+ String url = new AuthorizeUrl (authAPIStub , request , response , "https://domain.com/callback" , "code" )
258+ .fromPushedAuthorizationRequest ();
259+
260+ assertThat (url , is ("https://domain.com/authorize?client_id=clientId&request_uri=urn%3Aexample%3Abwc4JK-ESC0w8acc191e-Y1LTC2" ));
261+ }
262+
263+ @ Test
264+ public void fromPushedAuthorizationRequestThrowsWhenRequestUriIsNull () throws Exception {
265+ AuthAPIStub authAPIStub = new AuthAPIStub ("https://domain.com" , "clientId" , "clientSecret" );
266+ Request requestMock = mock (Request .class );
267+ Response <PushedAuthorizationResponse > pushedAuthorizationResponseResponse = mock (Response .class );
268+ when (requestMock .execute ()).thenReturn (pushedAuthorizationResponseResponse );
269+ when (requestMock .execute ().getBody ()).thenReturn (new PushedAuthorizationResponse (null , 90 ));
270+
271+ authAPIStub .pushedAuthorizationResponseRequest = requestMock ;
272+
273+ InvalidRequestException exception = assertThrows (InvalidRequestException .class , () -> {
274+ new AuthorizeUrl (authAPIStub , request , response , "https://domain.com/callback" , "code" )
275+ .fromPushedAuthorizationRequest ();
276+ });
277+
278+ assertThat (exception .getMessage (), is ("The PAR request returned a missing or empty request_uri value" ));
279+ }
280+
281+ @ Test
282+ public void fromPushedAuthorizationRequestThrowsWhenRequestUriIsEmpty () throws Exception {
283+ AuthAPIStub authAPIStub = new AuthAPIStub ("https://domain.com" , "clientId" , "clientSecret" );
284+ Request requestMock = mock (Request .class );
285+ Response <PushedAuthorizationResponse > pushedAuthorizationResponseResponse = mock (Response .class );
286+ when (requestMock .execute ()).thenReturn (pushedAuthorizationResponseResponse );
287+ when (requestMock .execute ().getBody ()).thenReturn (new PushedAuthorizationResponse ("urn:example:bwc4JK-ESC0w8acc191e-Y1LTC2" , null ));
288+
289+ authAPIStub .pushedAuthorizationResponseRequest = requestMock ;
290+
291+ InvalidRequestException exception = assertThrows (InvalidRequestException .class , () -> {
292+ new AuthorizeUrl (authAPIStub , request , response , "https://domain.com/callback" , "code" )
293+ .fromPushedAuthorizationRequest ();
294+ });
295+
296+ assertThat (exception .getMessage (), is ("The PAR request returned a missing expires_in value" ));
297+ }
298+
299+ @ Test
300+ public void fromPushedAuthorizationRequestThrowsWhenExpiresInIsNull () throws Exception {
301+ AuthAPIStub authAPIStub = new AuthAPIStub ("https://domain.com" , "clientId" , "clientSecret" );
302+ Request requestMock = mock (Request .class );
303+ Response <PushedAuthorizationResponse > pushedAuthorizationResponseResponse = mock (Response .class );
304+ when (requestMock .execute ()).thenReturn (pushedAuthorizationResponseResponse );
305+ when (requestMock .execute ().getBody ()).thenReturn (new PushedAuthorizationResponse (null , 90 ));
306+
307+ authAPIStub .pushedAuthorizationResponseRequest = requestMock ;
308+
309+ InvalidRequestException exception = assertThrows (InvalidRequestException .class , () -> {
310+ new AuthorizeUrl (authAPIStub , request , response , "https://domain.com/callback" , "code" )
311+ .fromPushedAuthorizationRequest ();
312+ });
313+
314+ assertThat (exception .getMessage (), is ("The PAR request returned a missing or empty request_uri value" ));
315+ }
308316
309317 @ Test
310318 public void fromPushedAuthorizationRequestThrowsWhenRequestThrows () throws Exception {
@@ -329,10 +337,6 @@ static class AuthAPIStub extends AuthAPI {
329337
330338 Request <PushedAuthorizationResponse > pushedAuthorizationResponseRequest ;
331339
332- public AuthAPIStub (String domain , String clientId , String clientSecret , HttpOptions options ) {
333- super (domain , clientId , clientSecret , options );
334- }
335-
336340 public AuthAPIStub (String domain , String clientId , String clientSecret ) {
337341 super (domain , clientId , clientSecret );
338342 }
0 commit comments