Search in sources :

Example 1 with User

use of org.folio.rest.jaxrs.model.User in project raml-module-builder by folio-org.

the class PgUtilIT method assertStatusAndUser.

/**
 * Assert that response has the httpStatus and its result is a User with expected username and uuid.
 * uuid=null accepts any uuid. Returns the uuid of the User in response.
 */
private String assertStatusAndUser(TestContext testContext, AsyncResult<Response> result, int httpStatus, String username, String uuid) {
    testContext.assertTrue(result.succeeded(), "succeeded()");
    Response response = result.result();
    testContext.assertEquals(httpStatus, response.getStatus(), "status of entity=" + response.getEntity());
    if (response.getEntity() == null) {
        testContext.fail("Expected response with a User instance but it was null");
        return null;
    }
    if (!(response.getEntity() instanceof User)) {
        testContext.fail("Expected response with a User instance but type was " + response.getEntity().getClass().getName());
        return null;
    }
    User user = (User) response.getEntity();
    testContext.assertEquals(username, user.getUsername(), "getUsername()");
    if (uuid != null) {
        testContext.assertEquals(uuid, user.getId(), "User::getId()");
    }
    return user.getId();
}
Also used : Response(javax.ws.rs.core.Response) PostUsersResponse(org.folio.rest.jaxrs.model.Users.PostUsersResponse) User(org.folio.rest.jaxrs.model.User)

Example 2 with User

use of org.folio.rest.jaxrs.model.User in project raml-module-builder by folio-org.

the class PgUtilIT method responseValueWithNullsFailResponseMethod.

@Test
public void responseValueWithNullsFailResponseMethod(TestContext testContext) throws Exception {
    Method respond200 = ResponseImpl.class.getMethod("respond200WithApplicationJson", User.class);
    Future<Response> future = PgUtil.response(new User(), respond200, null);
    assertTrue(future.failed());
    assertThat(future.cause(), is(instanceOf(NullPointerException.class)));
}
Also used : Response(javax.ws.rs.core.Response) PostUsersResponse(org.folio.rest.jaxrs.model.Users.PostUsersResponse) User(org.folio.rest.jaxrs.model.User) Method(java.lang.reflect.Method) Test(org.junit.Test)

Example 3 with User

use of org.folio.rest.jaxrs.model.User in project raml-module-builder by folio-org.

the class PgUtilIT method postResponseWithUser201MethodAndTrigger.

@Test
public void postResponseWithUser201MethodAndTrigger(TestContext testContext) {
    String uuid = randomUuid();
    PgUtil.post("users", new User().withUsername("dummy").withId(uuid), okapiHeaders, vertx.getOrCreateContext(), ResponseWithUserFor201Method.class, testContext.asyncAssertSuccess(result -> {
        assertThat(result.getStatus(), is(201));
        assertThat(((User) result.getEntity()).getDummy(), is(DUMMY_VAL));
    }));
}
Also used : TestContext(io.vertx.ext.unit.TestContext) CoreMatchers(org.hamcrest.CoreMatchers) Arrays(java.util.Arrays) XOkapiHeaders(org.folio.okapi.common.XOkapiHeaders) RoutingContext(io.vertx.ext.web.RoutingContext) VertxUtils(org.folio.rest.tools.utils.VertxUtils) Users(org.folio.rest.jaxrs.model.Users) User(org.folio.rest.jaxrs.model.User) Map(java.util.Map) UtilityClassTester(org.folio.okapi.testing.UtilityClassTester) JsonObject(io.vertx.core.json.JsonObject) Method(java.lang.reflect.Method) Errors(org.folio.rest.jaxrs.model.Errors) AfterClass(org.junit.AfterClass) UUID(java.util.UUID) Future(io.vertx.core.Future) IsCollectionWithSize.hasSize(org.hamcrest.collection.IsCollectionWithSize.hasSize) List(java.util.List) Response(javax.ws.rs.core.Response) Buffer(io.vertx.core.buffer.Buffer) PostUsersResponse(org.folio.rest.jaxrs.model.Users.PostUsersResponse) Mockito.mock(org.mockito.Mockito.mock) PgException(io.vertx.pgclient.PgException) Strictness(org.mockito.quality.Strictness) Async(io.vertx.ext.unit.Async) Json(io.vertx.core.json.Json) RestVerticle(org.folio.rest.RestVerticle) BeforeClass(org.junit.BeforeClass) PostgresTesterContainer(org.folio.postgres.testing.PostgresTesterContainer) RunWith(org.junit.runner.RunWith) SchemaMaker(org.folio.rest.persist.ddlgen.SchemaMaker) Mockito.timeout(org.mockito.Mockito.timeout) Answer(org.mockito.stubbing.Answer) ResponseDelegate(org.folio.rest.jaxrs.resource.support.ResponseDelegate) Timeout(org.junit.rules.Timeout) Referencing(org.folio.rest.jaxrs.model.Referencing) MockitoJUnit(org.mockito.junit.MockitoJUnit) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) AsyncResult(io.vertx.core.AsyncResult) Mockito.anyString(org.mockito.Mockito.anyString) ExpectedException(org.junit.rules.ExpectedException) Matchers.greaterThanOrEqualTo(org.hamcrest.Matchers.greaterThanOrEqualTo) Vertx(io.vertx.core.Vertx) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) AssertionFailedError(junit.framework.AssertionFailedError) Mockito.when(org.mockito.Mockito.when) VertxUnitRunner(io.vertx.ext.unit.junit.VertxUnitRunner) UserdataCollection(org.folio.rest.jaxrs.model.UserdataCollection) Mockito.verify(org.mockito.Mockito.verify) Error(org.folio.rest.jaxrs.model.Error) Mockito(org.mockito.Mockito) Rule(org.junit.Rule) TreeMap(java.util.TreeMap) MockitoRule(org.mockito.junit.MockitoRule) Handler(io.vertx.core.Handler) Collections(java.util.Collections) User(org.folio.rest.jaxrs.model.User) Mockito.anyString(org.mockito.Mockito.anyString) Test(org.junit.Test)

Example 4 with User

use of org.folio.rest.jaxrs.model.User in project raml-module-builder by folio-org.

the class PgUtilIT method responseLocation3Nulls.

@Test
public void responseLocation3Nulls(TestContext testContext) throws Exception {
    Method respond500 = ResponseImpl.class.getMethod("respond500WithTextPlain", Object.class);
    Future<Response> future = PgUtil.response(new User(), "localhost", null, null, null, respond500);
    assertTrue(future.succeeded());
    assertThat(future.result().getStatus(), is(500));
}
Also used : Response(javax.ws.rs.core.Response) PostUsersResponse(org.folio.rest.jaxrs.model.Users.PostUsersResponse) User(org.folio.rest.jaxrs.model.User) Method(java.lang.reflect.Method) Test(org.junit.Test)

Example 5 with User

use of org.folio.rest.jaxrs.model.User in project raml-module-builder by folio-org.

the class PgUtilIT method responseValueWithExceptionInFailResponseMethod.

@Test
public void responseValueWithExceptionInFailResponseMethod(TestContext testContext) throws Exception {
    Method exceptionMethod = PgUtilIT.class.getMethod("exceptionMethod", Object.class);
    Future<Response> future = PgUtil.response(new User(), exceptionMethod, exceptionMethod);
    assertTrue(future.failed());
    assertThat(future.cause().getCause().getMessage(), is("some runtime exception"));
}
Also used : Response(javax.ws.rs.core.Response) PostUsersResponse(org.folio.rest.jaxrs.model.Users.PostUsersResponse) User(org.folio.rest.jaxrs.model.User) Method(java.lang.reflect.Method) Test(org.junit.Test)

Aggregations

User (org.folio.rest.jaxrs.model.User)20 Test (org.junit.Test)17 Response (javax.ws.rs.core.Response)13 PostUsersResponse (org.folio.rest.jaxrs.model.Users.PostUsersResponse)13 Method (java.lang.reflect.Method)11 Mockito.anyString (org.mockito.Mockito.anyString)11 JsonObject (io.vertx.core.json.JsonObject)8 Async (io.vertx.ext.unit.Async)8 UserdataCollection (org.folio.rest.jaxrs.model.UserdataCollection)8 Users (org.folio.rest.jaxrs.model.Users)8 AsyncResult (io.vertx.core.AsyncResult)7 Future (io.vertx.core.Future)7 Handler (io.vertx.core.Handler)7 Vertx (io.vertx.core.Vertx)7 Buffer (io.vertx.core.buffer.Buffer)7 Json (io.vertx.core.json.Json)7 TestContext (io.vertx.ext.unit.TestContext)7 VertxUnitRunner (io.vertx.ext.unit.junit.VertxUnitRunner)7 RoutingContext (io.vertx.ext.web.RoutingContext)7 PgException (io.vertx.pgclient.PgException)7