我有一个简单的具有安全角色的rest资源:
@Path("customer")
@Produces(MediaType.APPLICATION_JSON)
public interface CustomerResource {
@GET
@Path("/find")
public Response find(@QueryParam("idProfesionalDispositivo") String id) ;
}
设计和实施:
@Stateless
@PermitAll
public class CustomerResourceImpl implements CustomerResource{
@Override
@RolesAllowed("ROLE_FIND")
public Response find(String id) {
return Response.ok("OK").build();
}
}
这工作还可以。
测试用例工作正常,但由于是安全的,所以失败了。
@RunWith(Arquillian.class)
public class CustomerResourceTest extends AbstractTest{
@Deployment (testable = false)
public static WebArchive createTestRestArchive(){
return ShrinkWrap
.create(WebArchive.class, "backend-web.war")
.addPackages(true, "ar.com.morepackages")
.addPackages(true, "org.apache.commons.lang3")
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
@ArquillianResource
private URL deploymentURL;
@Test
public void find(@ArquillianResteasyResource CustomerResource resource) throws Exception {
final Response response = resource.find("1");
assertTrue(response.getStatus()==Status.OK.getStatusCode());
}
}
我需要一个使用arquillian(createcontext?)创建具有安全问题的适当测试的示例。该应用程序运行在JBoss7.1中,并使用自定义的安全域,在部署应用程序时可以正常工作。我在网上搜索例子,但不在任何地方工作
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!