TSK-1964: made UserService injectable and adapted/fixed test

This commit is contained in:
Norman Schmidt 2022-09-15 09:48:12 +02:00 committed by Mustapha Zorgati
parent 88d77ac409
commit 3c71c08684
2 changed files with 83 additions and 19 deletions

View File

@ -42,6 +42,8 @@ import pro.taskana.testapi.TaskanaEngineProxy;
import pro.taskana.testapi.WithServiceProvider; import pro.taskana.testapi.WithServiceProvider;
import pro.taskana.testapi.WithServiceProvider.WithServiceProviders; import pro.taskana.testapi.WithServiceProvider.WithServiceProviders;
import pro.taskana.testapi.util.ServiceProviderExtractor; import pro.taskana.testapi.util.ServiceProviderExtractor;
import pro.taskana.user.api.UserService;
import pro.taskana.user.internal.UserServiceImpl;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.internal.WorkbasketServiceImpl; import pro.taskana.workbasket.internal.WorkbasketServiceImpl;
@ -112,8 +114,10 @@ public class TaskanaInitializationExtension implements TestInstancePostProcessor
MonitorService monitorService = taskanaEngine.getMonitorService(); MonitorService monitorService = taskanaEngine.getMonitorService();
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService(); WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
ClassificationService classificationService = taskanaEngine.getClassificationService(); ClassificationService classificationService = taskanaEngine.getClassificationService();
ConfigurationService configurationService = taskanaEngine.getConfigurationService();
JobService jobService = taskanaEngine.getJobService(); JobService jobService = taskanaEngine.getJobService();
CurrentUserContext currentUserContext = taskanaEngine.getCurrentUserContext(); CurrentUserContext currentUserContext = taskanaEngine.getCurrentUserContext();
UserService userService = taskanaEngine.getUserService();
SqlSession sqlSession = taskanaEngineProxy.getSqlSession(); SqlSession sqlSession = taskanaEngineProxy.getSqlSession();
return Map.ofEntries( return Map.ofEntries(
Map.entry(TaskanaEngineConfiguration.class, taskanaEngine.getConfiguration()), Map.entry(TaskanaEngineConfiguration.class, taskanaEngine.getConfiguration()),
@ -128,13 +132,15 @@ public class TaskanaInitializationExtension implements TestInstancePostProcessor
Map.entry(WorkbasketServiceImpl.class, workbasketService), Map.entry(WorkbasketServiceImpl.class, workbasketService),
Map.entry(ClassificationService.class, classificationService), Map.entry(ClassificationService.class, classificationService),
Map.entry(ClassificationServiceImpl.class, classificationService), Map.entry(ClassificationServiceImpl.class, classificationService),
Map.entry(ConfigurationService.class, taskanaEngine.getConfigurationService()), Map.entry(ConfigurationService.class, configurationService),
Map.entry(ConfigurationServiceImpl.class, taskanaEngine.getConfigurationService()), Map.entry(ConfigurationServiceImpl.class, configurationService),
Map.entry(JobService.class, jobService), Map.entry(JobService.class, jobService),
Map.entry(JobServiceImpl.class, jobService), Map.entry(JobServiceImpl.class, jobService),
Map.entry(CurrentUserContext.class, currentUserContext), Map.entry(CurrentUserContext.class, currentUserContext),
Map.entry(CurrentUserContextImpl.class, currentUserContext), Map.entry(CurrentUserContextImpl.class, currentUserContext),
Map.entry(WorkingDaysToDaysConverter.class, taskanaEngine.getWorkingDaysToDaysConverter()), Map.entry(WorkingDaysToDaysConverter.class, taskanaEngine.getWorkingDaysToDaysConverter()),
Map.entry(ConfigurationMapper.class, sqlSession.getMapper(ConfigurationMapper.class))); Map.entry(ConfigurationMapper.class, sqlSession.getMapper(ConfigurationMapper.class)),
Map.entry(UserService.class, userService),
Map.entry(UserServiceImpl.class, userService));
} }
} }

View File

@ -22,6 +22,8 @@ import pro.taskana.monitor.api.MonitorService;
import pro.taskana.monitor.internal.MonitorServiceImpl; import pro.taskana.monitor.internal.MonitorServiceImpl;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.internal.TaskServiceImpl; import pro.taskana.task.internal.TaskServiceImpl;
import pro.taskana.user.api.UserService;
import pro.taskana.user.internal.UserServiceImpl;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.internal.WorkbasketServiceImpl; import pro.taskana.workbasket.internal.WorkbasketServiceImpl;
@ -50,6 +52,8 @@ class TaskanaDependencyInjectionExtensionTest {
@TaskanaInject CurrentUserContext currentUserContext; @TaskanaInject CurrentUserContext currentUserContext;
@TaskanaInject CurrentUserContextImpl currentUserContextImpl; @TaskanaInject CurrentUserContextImpl currentUserContextImpl;
@TaskanaInject ConfigurationMapper configurationMapper; @TaskanaInject ConfigurationMapper configurationMapper;
@TaskanaInject UserService userService;
@TaskanaInject UserServiceImpl userServiceImpl;
@Test @Test
void should_NotInjectTaskanaEngineConfiguration_When_FieldIsNotAnnotated() { void should_NotInjectTaskanaEngineConfiguration_When_FieldIsNotAnnotated() {
@ -70,13 +74,19 @@ class TaskanaDependencyInjectionExtensionTest {
@Test @Test
void should_InjectTaskanaEngine_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectTaskanaEngine_When_FieldIsAnnotatedOrDeclaredAsParameter(
TaskanaEngine taskanaEngine) { TaskanaEngine taskanaEngine) {
assertThat(taskanaEngine).isSameAs(this.taskanaEngine).isNotNull(); assertThat(taskanaEngine)
.isSameAs(this.taskanaEngine)
.isSameAs(this.taskanaEngineImpl)
.isNotNull();
} }
@Test @Test
void should_InjectTaskanaEngineImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectTaskanaEngineImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
TaskanaEngineImpl taskanaEngineImpl) { TaskanaEngineImpl taskanaEngineImpl) {
assertThat(taskanaEngineImpl).isSameAs(this.taskanaEngineImpl).isNotNull(); assertThat(taskanaEngineImpl)
.isSameAs(this.taskanaEngineImpl)
.isSameAs(this.taskanaEngine)
.isNotNull();
} }
@Test @Test
@ -88,72 +98,99 @@ class TaskanaDependencyInjectionExtensionTest {
@Test @Test
void should_InjectClassificationService_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectClassificationService_When_FieldIsAnnotatedOrDeclaredAsParameter(
ClassificationService classificationService) { ClassificationService classificationService) {
assertThat(classificationService).isSameAs(this.classificationService).isNotNull(); assertThat(classificationService)
.isSameAs(this.classificationService)
.isSameAs(this.classificationServiceImpl)
.isNotNull();
} }
@Test @Test
void should_InjectClassificationServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectClassificationServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
ClassificationServiceImpl classificationServiceImpl) { ClassificationServiceImpl classificationServiceImpl) {
assertThat(classificationServiceImpl).isSameAs(this.classificationServiceImpl).isNotNull(); assertThat(classificationServiceImpl)
.isSameAs(this.classificationServiceImpl)
.isSameAs(this.classificationService)
.isNotNull();
} }
@Test @Test
void should_InjectWorkbasketService_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectWorkbasketService_When_FieldIsAnnotatedOrDeclaredAsParameter(
WorkbasketService workbasketService) { WorkbasketService workbasketService) {
assertThat(workbasketService).isSameAs(this.workbasketService).isNotNull(); assertThat(workbasketService)
.isSameAs(this.workbasketService)
.isSameAs(this.workbasketServiceImpl)
.isNotNull();
} }
@Test @Test
void should_InjectWorkbasketServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectWorkbasketServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
WorkbasketServiceImpl workbasketServiceImpl) { WorkbasketServiceImpl workbasketServiceImpl) {
assertThat(workbasketServiceImpl).isSameAs(this.workbasketServiceImpl).isNotNull(); assertThat(workbasketServiceImpl)
.isSameAs(this.workbasketServiceImpl)
.isSameAs(this.workbasketService)
.isNotNull();
} }
@Test @Test
void should_InjectTaskService_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectTaskService_When_FieldIsAnnotatedOrDeclaredAsParameter(
TaskService taskService) { TaskService taskService) {
assertThat(taskService).isSameAs(this.taskService).isNotNull(); assertThat(taskService).isSameAs(this.taskService).isSameAs(this.taskServiceImpl).isNotNull();
} }
@Test @Test
void should_InjectTaskServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectTaskServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
TaskServiceImpl taskServiceImpl) { TaskServiceImpl taskServiceImpl) {
assertThat(taskServiceImpl).isSameAs(this.taskServiceImpl).isNotNull(); assertThat(taskServiceImpl)
.isSameAs(this.taskServiceImpl)
.isSameAs(this.taskService)
.isNotNull();
} }
@Test @Test
void should_InjectMonitorService_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectMonitorService_When_FieldIsAnnotatedOrDeclaredAsParameter(
MonitorService monitorService) { MonitorService monitorService) {
assertThat(monitorService).isSameAs(this.monitorService).isNotNull(); assertThat(monitorService)
.isSameAs(this.monitorService)
.isSameAs(this.monitorServiceImpl)
.isNotNull();
} }
@Test @Test
void should_InjectMonitorServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectMonitorServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
MonitorServiceImpl monitorServiceImpl) { MonitorServiceImpl monitorServiceImpl) {
assertThat(monitorServiceImpl).isSameAs(this.monitorServiceImpl).isNotNull(); assertThat(monitorServiceImpl)
.isSameAs(this.monitorServiceImpl)
.isSameAs(this.monitorService)
.isNotNull();
} }
@Test @Test
void should_InjectJobService_When_FieldIsAnnotatedOrDeclaredAsParameter(JobService jobService) { void should_InjectJobService_When_FieldIsAnnotatedOrDeclaredAsParameter(JobService jobService) {
assertThat(jobService).isSameAs(this.jobService).isNotNull(); assertThat(jobService).isSameAs(this.jobService).isSameAs(jobServiceImpl).isNotNull();
} }
@Test @Test
void should_InjectJobServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectJobServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
JobServiceImpl jobServiceImpl) { JobServiceImpl jobServiceImpl) {
assertThat(jobServiceImpl).isSameAs(this.jobServiceImpl).isNotNull(); assertThat(jobServiceImpl).isSameAs(this.jobServiceImpl).isSameAs(this.jobService).isNotNull();
} }
@Test @Test
void should_InjectConfigurationService_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectConfigurationService_When_FieldIsAnnotatedOrDeclaredAsParameter(
ConfigurationService configurationService) { ConfigurationService configurationService) {
assertThat(configurationService).isSameAs(this.configurationService).isNotNull(); assertThat(configurationService)
.isSameAs(this.configurationService)
.isSameAs(this.configurationServiceImpl)
.isNotNull();
} }
@Test @Test
void should_InjectConfigurationServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectConfigurationServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
ConfigurationServiceImpl configurationServiceImpl) { ConfigurationServiceImpl configurationServiceImpl) {
assertThat(configurationServiceImpl).isSameAs(this.configurationServiceImpl).isNotNull(); assertThat(configurationServiceImpl)
.isSameAs(this.configurationServiceImpl)
.isSameAs(this.configurationService)
.isNotNull();
} }
@Test @Test
@ -165,13 +202,19 @@ class TaskanaDependencyInjectionExtensionTest {
@Test @Test
void should_InjectCurrentUserContext_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectCurrentUserContext_When_FieldIsAnnotatedOrDeclaredAsParameter(
CurrentUserContext currentUserContext) { CurrentUserContext currentUserContext) {
assertThat(currentUserContext).isSameAs(this.currentUserContext).isNotNull(); assertThat(currentUserContext)
.isSameAs(this.currentUserContext)
.isSameAs(this.currentUserContextImpl)
.isNotNull();
} }
@Test @Test
void should_InjectCurrentUserContextImpl_When_FieldIsAnnotatedOrDeclaredAsParameter( void should_InjectCurrentUserContextImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
CurrentUserContextImpl currentUserContextImpl) { CurrentUserContextImpl currentUserContextImpl) {
assertThat(currentUserContextImpl).isSameAs(this.currentUserContextImpl).isNotNull(); assertThat(currentUserContextImpl)
.isSameAs(this.currentUserContextImpl)
.isSameAs(this.currentUserContext)
.isNotNull();
} }
@Test @Test
@ -179,4 +222,19 @@ class TaskanaDependencyInjectionExtensionTest {
ConfigurationMapper configurationMapper) { ConfigurationMapper configurationMapper) {
assertThat(configurationMapper).isSameAs(this.configurationMapper).isNotNull(); assertThat(configurationMapper).isSameAs(this.configurationMapper).isNotNull();
} }
@Test
void should_InjectUserService_When_FieldIsAnnotatedOrDeclaredAsParameter(
UserService userService) {
assertThat(userService).isSameAs(this.userService).isSameAs(this.userServiceImpl).isNotNull();
}
@Test
void should_InjectUserServiceImpl_When_FieldIsAnnotatedOrDeclaredAsParameter(
UserServiceImpl userServiceImpl) {
assertThat(userServiceImpl)
.isSameAs(this.userServiceImpl)
.isSameAs(this.userService)
.isNotNull();
}
} }