I am having issues using io.dropwizard.testing.junit.ResourceTestRule in 
tandem with @Auth decorations associated with io.dropwizard.auth.Auth.

I am using the @Auth decoration to fetch the Principal in my route 
handlers. I am able to get our Okta roles in this manner for access 
control. This all works fine when standing the AP and execute it as a jar. 
However, I’m having problems when I attempt to UnitTest my route handlers. 

Logs include this information:

ERROR [2020-05-28 15:23:11,770] org.glassfish.jersey.internal.Errors: 
Following issues have been detected:

WARNING: No injection source found for a parameter of type public 
javax.ws.rs.core.Response 
com.helixeducation.ipa.admin.resources.InquiryResource.searchInquiries(com.helixeducation.components.auth.HelixUser,com.helixeducation.components.domain.InquirySearch)
 
at index 0.

The parameter at index 0 is my Principal. Here is the method declaration:

  @POST

  @Timed

  @Path("/search")

  @Consumes(MediaType.APPLICATION_JSON)

  @PermitAll

  public Response searchInquiries(@Auth HelixUser user,

      @Valid @NotNull InquirySearch inquirySearch) {

    // check if user has an appropriate role or return 401.

// implementation Omitted. 

}

Here’s the declaration of my TestRule:

@ClassRule

public static final ResourceTestRule resourceMock = 
ResourceTestRule.builder()

            .addResource(new InquiryResource(mockDao, mockSearchDao,  
findApiConfiguration, mockInquiryCreateSvc))

            .build();



How do I get the TestRule to inject a mocked Principal? I think if I can 
get past that issue, I can get unblocked.

Regards,

- jeremiah

-- 
You received this message because you are subscribed to the Google Groups 
"dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dropwizard-user/5a65633f-7a1c-45a9-967a-b262a305e120%40googlegroups.com.

Reply via email to