use of io.crnk.core.module.SimpleModule in project crnk-framework by crnk-project.
the class SecurityModuleTest method setup.
@Before
public void setup() {
// TODO simplify ones simple module is fixed
SimpleModule appModule = new SimpleModule("app") {
@Override
public void setupModule(ModuleContext context) {
super.setupModule(context);
context.addSecurityProvider(new SecurityProvider() {
@Override
public boolean isUserInRole(String role) {
return role.equals(allowedRule);
}
});
}
};
appModule.addRepository(new TaskRepository());
appModule.addRepository(new ProjectRepository());
Builder builder = SecurityConfig.builder();
builder.permitAll(ResourcePermission.GET);
builder.permitRole("taskRole", Task.class, ResourcePermission.ALL);
builder.permitRole("projectRole", "projects", ResourcePermission.POST);
SecurityConfig config = builder.build();
securityModule = SecurityModule.newServerModule(config);
Assert.assertSame(config, securityModule.getConfig());
ModuleRegistry moduleRegistry = new ModuleRegistry();
moduleRegistry.setServiceDiscovery(new EmptyServiceDiscovery());
moduleRegistry.setResourceRegistry(new ResourceRegistryImpl(new DefaultResourceRegistryPart(), moduleRegistry));
moduleRegistry.addModule(securityModule);
moduleRegistry.addModule(appModule);
moduleRegistry.addModule(new JacksonModule(new ObjectMapper(), false, ImmutableList.of(new OffsetLimitPagingBehavior())));
moduleRegistry.addModule(new CoreModule());
moduleRegistry.init(new ObjectMapper());
}
use of io.crnk.core.module.SimpleModule in project crnk-framework by crnk-project.
the class ClientStubBaseTest method setup.
@Before
public void setup() {
client = new CrnkClient("http://x");
SimpleModule module = new SimpleModule("test");
module.addExceptionMapper(new CheckedExceptionMapper());
client.addModule(module);
urlBuilder = Mockito.mock(JsonApiUrlBuilder.class);
stub = new ClientStubBase(client, urlBuilder, Task.class);
}
use of io.crnk.core.module.SimpleModule in project crnk-framework by crnk-project.
the class ResourceFieldContributorTest method setup.
@Before
public void setup() {
MockRepositoryUtil.clear();
contributedRepository = Mockito.spy(new ContributorRelationshipRepository());
SimpleModule testModule = new SimpleModule("test");
testModule.addRepository(new TaskRepository());
testModule.addRepository(new ProjectRepository());
testModule.addRepository(new ProjectToTaskRepository());
testModule.addRepository(contributedRepository);
boot = new CrnkBoot();
boot.setServiceDiscovery(new TestServiceDiscovery());
boot.addModule(testModule);
boot.boot();
}
use of io.crnk.core.module.SimpleModule in project crnk-framework by crnk-project.
the class BasicActionTest method setupFeature.
@Override
protected void setupFeature(CrnkTestFeature feature) {
filter = Mockito.spy(new DocumentFilter() {
@Override
public Response filter(DocumentFilterContext filterRequestContext, DocumentFilterChain chain) {
return chain.doFilter(filterRequestContext);
}
});
SimpleModule testModule = new SimpleModule("testFilter");
testModule.addFilter(filter);
feature.addModule(testModule);
}
use of io.crnk.core.module.SimpleModule in project crnk-framework by crnk-project.
the class CrnkBoot method setupComponents.
private void setupComponents() {
// not that the provided default implementation here are added last and
// as a consequence,
// can be overriden by other modules, like the
// JaxrsResourceRepositoryInformationBuilder.
SimpleModule module = new SimpleModule("discovery") {
@Override
public void setupModule(ModuleContext context) {
this.addHttpRequestProcessor(new JsonApiRequestProcessor(context));
super.setupModule(context);
}
};
for (JsonApiExceptionMapper<?> exceptionMapper : getInstancesByType(JsonApiExceptionMapper.class)) {
module.addExceptionMapper(exceptionMapper);
}
for (DocumentFilter filter : getInstancesByType(DocumentFilter.class)) {
module.addFilter(filter);
}
for (Object repository : getInstancesByType(Repository.class)) {
module.addRepository(repository);
}
for (Object repository : serviceDiscovery.getInstancesByAnnotation(JsonApiResourceRepository.class)) {
JsonApiResourceRepository annotation = ClassUtils.getAnnotation(repository.getClass(), JsonApiResourceRepository.class).get();
Class<?> resourceClass = annotation.value();
module.addRepository(resourceClass, repository);
}
for (Object repository : serviceDiscovery.getInstancesByAnnotation(JsonApiRelationshipRepository.class)) {
JsonApiRelationshipRepository annotation = ClassUtils.getAnnotation(repository.getClass(), JsonApiRelationshipRepository.class).get();
module.addRepository(annotation.source(), annotation.target(), repository);
}
moduleRegistry.addModule(module);
moduleRegistry.addModule(new CoreModule());
}
Aggregations