users@jersey.java.net

[Jersey] Exceptions not being thrown when using JerseyTest

From: Erik Holstad <erikholstad_at_gmail.com>
Date: Mon, 24 Mar 2014 14:26:52 -0700

I have a servlet that looks something like:

@POST
@Path("")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response createUser(@FormParam(Params.NAME)
    RequiredString name) {

    name.toString();

    return Response.ok().build();
}


Where RequiredString validates the input and throws a
WebApplicationException if it fails.

This works fine when I deploy the code to a server or even when I use the
maven-jetty-plugin to run integration tests.

The problem occurs when I run this using the JerseyTest class. Everything
is fine when I pass in valid data into name, but as soon as I pass in empty
string or null I get a NPE from the toString() method on the name variable
instead of the WebApplicationException I would expect.


When stepping through the code I see it going in to the code where the
exception is being thrown, but it looks like it just fails silently and
just continues the execution.

Thoughts?

-- 
Regards Erik