use of com.auth0.net.Request in project auth0-java by auth0.
the class BaseRequestTest method asyncCompletesSuccessfully.
@Test
public void asyncCompletesSuccessfully() {
doReturn(call).when(client).newCall(any());
doAnswer(invocation -> {
((Callback) invocation.getArgument(0)).onResponse(call, response);
return null;
}).when(call).enqueue(any());
CompletableFuture<?> request = new MockBaseRequest<String>(client) {
@Override
protected String parseResponse(Response response) throws Auth0Exception {
return "Success";
}
}.executeAsync();
Exception exception = null;
Object result = null;
try {
result = request.get();
} catch (Exception e) {
exception = e;
}
assertThat(exception, is(nullValue()));
assertThat(result, is(instanceOf(String.class)));
assertThat(result, is("Success"));
}
use of com.auth0.net.Request in project auth0-java by auth0.
the class BaseRequestTest method asyncCompletesWithExceptionWhenRequestFails.
@Test
public void asyncCompletesWithExceptionWhenRequestFails() throws Exception {
doReturn(call).when(client).newCall(any());
doAnswer(invocation -> {
((Callback) invocation.getArgument(0)).onFailure(call, new IOException("Error!"));
return null;
}).when(call).enqueue(any());
CompletableFuture<?> request = new MockBaseRequest<String>(client) {
@Override
protected String parseResponse(Response response) throws Auth0Exception {
throw new Auth0Exception("Response Parsing Error");
}
}.executeAsync();
Exception exception = null;
Object result = null;
try {
result = request.get();
} catch (Exception e) {
exception = e;
}
assertThat(exception, is(notNullValue()));
assertThat(result, is(nullValue()));
assertThat(exception.getCause(), is(instanceOf(Auth0Exception.class)));
assertThat(exception.getCause().getMessage(), is("Failed to execute request"));
assertThat(exception.getCause().getCause(), is(instanceOf(IOException.class)));
assertThat(exception.getCause().getCause().getMessage(), is("Error!"));
}
use of com.auth0.net.Request in project auth0-java by auth0.
the class BaseRequestTest method asyncCompletesWithExceptionWhenRequestCreationFails.
@Test
public void asyncCompletesWithExceptionWhenRequestCreationFails() throws Exception {
CompletableFuture<?> request = new MockBaseRequest<String>(client) {
@Override
protected Request parseResponse(Response response) throws Auth0Exception {
throw new Auth0Exception("Response Parsing Error");
}
@Override
protected Request createRequest() throws Auth0Exception {
throw new Auth0Exception("Create Request Error");
}
}.executeAsync();
Exception exception = null;
Object result = null;
try {
result = request.get();
} catch (Exception e) {
exception = e;
}
assertThat(result, is(nullValue()));
assertThat(exception, is(notNullValue()));
assertThat(exception.getCause(), is(instanceOf(Auth0Exception.class)));
assertThat(exception.getCause().getMessage(), is("Create Request Error"));
}
use of com.auth0.net.Request in project auth0-java by auth0.
the class CustomRequestTest method shouldParsePlainTextErrorResponse.
@Test
public void shouldParsePlainTextErrorResponse() throws Exception {
CustomRequest<List> request = new CustomRequest<>(client, server.getBaseUrl(), "GET", listType);
server.textResponse(AUTH_ERROR_PLAINTEXT, 400);
Exception exception = null;
try {
request.execute();
server.takeRequest();
} catch (Exception e) {
exception = e;
}
assertThat(exception, is(notNullValue()));
assertThat(exception, is(instanceOf(APIException.class)));
assertThat(exception.getCause(), is(instanceOf(JsonParseException.class)));
assertThat(exception.getMessage(), is("Request failed with status code 400: A plain-text error response"));
APIException authException = (APIException) exception;
assertThat(authException.getDescription(), is("A plain-text error response"));
assertThat(authException.getError(), is(nullValue()));
assertThat(authException.getValue("non_existing_key"), is(nullValue()));
assertThat(authException.getStatusCode(), is(400));
}
use of com.auth0.net.Request in project auth0-java by auth0.
the class CustomRequestTest method shouldNotOverrideContentTypeHeader.
@Test
public void shouldNotOverrideContentTypeHeader() throws Exception {
CustomRequest<TokenHolder> request = new CustomRequest<>(client, server.getBaseUrl(), "POST", tokenHolderType);
request.addParameter("non_empty", "body");
request.addHeader("Content-Type", "plaintext");
server.jsonResponse(AUTH_TOKENS, 200);
request.execute();
RecordedRequest recordedRequest = server.takeRequest();
assertThat(recordedRequest.getHeader("Content-Type"), is("application/json"));
}
Aggregations