TSK-1937: cleaned up usage of WithServiceProvider annotation
This commit is contained in:
parent
82400aecb1
commit
b1166939cd
|
@ -1,10 +1,12 @@
|
|||
package acceptance.jobs.helper;
|
||||
|
||||
import static acceptance.jobs.helper.TaskUpdatePriorityWorkerAccTest.WithSpi.DummyPriorityServiceProvider.SPI_PRIORITY;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import acceptance.priorityservice.TestPriorityServiceProvider;
|
||||
import acceptance.jobs.helper.TaskUpdatePriorityWorkerAccTest.WithSpi.DummyPriorityServiceProvider;
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
import java.util.OptionalInt;
|
||||
import java.util.function.IntPredicate;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
|
@ -125,7 +127,7 @@ class TaskUpdatePriorityWorkerAccTest {
|
|||
@Nested
|
||||
@WithServiceProvider(
|
||||
serviceProviderInterface = PriorityServiceProvider.class,
|
||||
serviceProviders = TestPriorityServiceProvider.class)
|
||||
serviceProviders = DummyPriorityServiceProvider.class)
|
||||
@TestInstance(Lifecycle.PER_CLASS)
|
||||
class WithSpi {
|
||||
|
||||
|
@ -140,7 +142,6 @@ class TaskUpdatePriorityWorkerAccTest {
|
|||
@Test
|
||||
@WithAccessId(user = "admin")
|
||||
void should_executeBatch() throws Exception {
|
||||
// given
|
||||
Task oldTask =
|
||||
TaskBuilder.newTask()
|
||||
.classificationSummary(classificationSummary)
|
||||
|
@ -150,14 +151,20 @@ class TaskUpdatePriorityWorkerAccTest {
|
|||
.primaryObjRef(DefaultTestEntities.defaultTestObjectReference().build())
|
||||
.buildAndStore(taskService);
|
||||
|
||||
// when
|
||||
final List<String> updatedTaskIds = worker.executeBatch(List.of(oldTask.getId()));
|
||||
|
||||
// then
|
||||
final Task updatedTask = taskService.getTask(oldTask.getId());
|
||||
List<String> updatedTaskIds = worker.executeBatch(List.of(oldTask.getId()));
|
||||
|
||||
Task updatedTask = taskService.getTask(oldTask.getId());
|
||||
assertThat(updatedTaskIds).containsExactly(oldTask.getId());
|
||||
assertThat(updatedTask.getPriority()).isNotEqualTo(oldTask.getPriority());
|
||||
assertThat(updatedTask.getPriority()).isEqualTo(SPI_PRIORITY);
|
||||
}
|
||||
|
||||
class DummyPriorityServiceProvider implements PriorityServiceProvider {
|
||||
static final int SPI_PRIORITY = 10;
|
||||
|
||||
@Override
|
||||
public OptionalInt calculatePriority(TaskSummary taskSummary) {
|
||||
return OptionalInt.of(SPI_PRIORITY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
package acceptance.priorityservice;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.OptionalInt;
|
||||
|
||||
import pro.taskana.common.api.WorkingDaysToDaysConverter;
|
||||
import pro.taskana.common.api.WorkingTimeCalculator;
|
||||
import pro.taskana.spi.priority.api.PriorityServiceProvider;
|
||||
import pro.taskana.task.api.TaskCustomField;
|
||||
import pro.taskana.task.api.models.TaskSummary;
|
||||
|
||||
public class TestPriorityServiceProvider implements PriorityServiceProvider {
|
||||
private static final int MULTIPLIER = 10;
|
||||
|
||||
private final WorkingDaysToDaysConverter converter = new WorkingDaysToDaysConverter(true, true);
|
||||
private final WorkingTimeCalculator calculator = new WorkingTimeCalculator(converter);
|
||||
|
||||
@Override
|
||||
public OptionalInt calculatePriority(TaskSummary taskSummary) {
|
||||
|
||||
long priority;
|
||||
try {
|
||||
priority =
|
||||
calculator
|
||||
.workingTimeBetweenTwoTimestamps(taskSummary.getCreated(), Instant.now())
|
||||
.toMinutes()
|
||||
+ 1;
|
||||
} catch (Exception e) {
|
||||
priority = Duration.between(taskSummary.getCreated(), Instant.now()).toMinutes();
|
||||
}
|
||||
|
||||
if (Boolean.parseBoolean(taskSummary.getCustomField(TaskCustomField.CUSTOM_6))) {
|
||||
priority *= MULTIPLIER;
|
||||
}
|
||||
|
||||
return OptionalInt.of(Math.toIntExact(priority));
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@ import static pro.taskana.testapi.DefaultTestEntities.defaultTestClassification;
|
|||
import static pro.taskana.testapi.DefaultTestEntities.defaultTestObjectReference;
|
||||
import static pro.taskana.testapi.DefaultTestEntities.defaultTestWorkbasket;
|
||||
|
||||
import acceptance.task.update.UpdateManualPriorityWithSpiAccTest.TestStaticValuePriorityServiceProvider;
|
||||
import java.util.List;
|
||||
import java.util.OptionalInt;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
|
@ -35,8 +36,7 @@ import pro.taskana.workbasket.api.models.WorkbasketSummary;
|
|||
@TaskanaIntegrationTest
|
||||
@WithServiceProvider(
|
||||
serviceProviderInterface = PriorityServiceProvider.class,
|
||||
serviceProviders =
|
||||
UpdateManualPriorityWithSpiAccTest.TestStaticValuePriorityServiceProvider.class)
|
||||
serviceProviders = TestStaticValuePriorityServiceProvider.class)
|
||||
class UpdateManualPriorityWithSpiAccTest {
|
||||
|
||||
private static final int SPI_PRIORITY = 5;
|
||||
|
@ -46,8 +46,7 @@ class UpdateManualPriorityWithSpiAccTest {
|
|||
@TaskanaInject ClassificationService classificationService;
|
||||
@TaskanaInject WorkbasketService workbasketService;
|
||||
|
||||
public static class TestStaticValuePriorityServiceProvider implements PriorityServiceProvider {
|
||||
|
||||
static class TestStaticValuePriorityServiceProvider implements PriorityServiceProvider {
|
||||
@Override
|
||||
public OptionalInt calculatePriority(TaskSummary taskSummary) {
|
||||
return OptionalInt.of(UpdateManualPriorityWithSpiAccTest.SPI_PRIORITY);
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package acceptance.taskpreprocessing;
|
||||
|
||||
import static acceptance.taskpreprocessing.CreateTaskPreprocessingAccTest.TestCreateTaskPreprocessorProvider.SPI_VALUE;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import acceptance.taskpreprocessing.CreateTaskPreprocessingAccTest.TestCreateTaskPreprocessorProvider;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
|
@ -25,7 +27,7 @@ import pro.taskana.workbasket.api.models.WorkbasketSummary;
|
|||
@TaskanaIntegrationTest
|
||||
@WithServiceProvider(
|
||||
serviceProviderInterface = CreateTaskPreprocessor.class,
|
||||
serviceProviders = CreateTaskPreprocessingAccTest.TestCreateTaskPreprocessorProvider.class)
|
||||
serviceProviders = TestCreateTaskPreprocessorProvider.class)
|
||||
class CreateTaskPreprocessingAccTest {
|
||||
|
||||
@TaskanaInject TaskService taskService;
|
||||
|
@ -62,15 +64,16 @@ class CreateTaskPreprocessingAccTest {
|
|||
|
||||
Task createdTask = taskService.createTask(newTaskToCreate);
|
||||
|
||||
assertThat(createdTask.getCustomField(TaskCustomField.CUSTOM_1))
|
||||
.isEqualTo("preprocessedCustomField");
|
||||
assertThat(createdTask.getCustomField(TaskCustomField.CUSTOM_1)).isEqualTo(SPI_VALUE);
|
||||
}
|
||||
|
||||
public static class TestCreateTaskPreprocessorProvider implements CreateTaskPreprocessor {
|
||||
static class TestCreateTaskPreprocessorProvider implements CreateTaskPreprocessor {
|
||||
|
||||
static final String SPI_VALUE = "preprocessedCustomField";
|
||||
|
||||
@Override
|
||||
public void processTaskBeforeCreation(Task taskToProcess) {
|
||||
taskToProcess.setCustomField(TaskCustomField.CUSTOM_1, "preprocessedCustomField");
|
||||
taskToProcess.setCustomField(TaskCustomField.CUSTOM_1, SPI_VALUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package pro.taskana.testapi;
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.OptionalInt;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestInstance;
|
||||
|
@ -12,6 +13,8 @@ import pro.taskana.TaskanaEngineConfiguration;
|
|||
import pro.taskana.common.api.TaskanaEngine;
|
||||
import pro.taskana.spi.priority.api.PriorityServiceProvider;
|
||||
import pro.taskana.spi.priority.internal.PriorityServiceManager;
|
||||
import pro.taskana.task.api.models.TaskSummary;
|
||||
import pro.taskana.testapi.TaskanaInitializationExtensionTest.NestedTestClassWithServiceProvider.DummyPriorityServiceProvider;
|
||||
|
||||
@TaskanaIntegrationTest
|
||||
class TaskanaInitializationExtensionTest {
|
||||
|
@ -82,11 +85,10 @@ class TaskanaInitializationExtensionTest {
|
|||
|
||||
@WithServiceProvider(
|
||||
serviceProviderInterface = PriorityServiceProvider.class,
|
||||
serviceProviders = TestPriorityServiceProvider.class)
|
||||
serviceProviders = DummyPriorityServiceProvider.class)
|
||||
@Nested
|
||||
@TestInstance(Lifecycle.PER_CLASS)
|
||||
class NestedTestClassWithServiceProvider {
|
||||
|
||||
@TaskanaInject TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||
@TaskanaInject TaskanaEngine taskanaEngine;
|
||||
|
||||
|
@ -109,6 +111,14 @@ class TaskanaInitializationExtensionTest {
|
|||
assertThat(taskanaEngineConfiguration.getDomains())
|
||||
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B");
|
||||
}
|
||||
|
||||
class DummyPriorityServiceProvider implements PriorityServiceProvider {
|
||||
@Override
|
||||
public OptionalInt calculatePriority(TaskSummary taskSummary) {
|
||||
// implementation not important for the tests
|
||||
return OptionalInt.empty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@WithServiceProvider(
|
||||
|
|
|
@ -2,6 +2,7 @@ package pro.taskana.testapi;
|
|||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.OptionalInt;
|
||||
import javax.sql.DataSource;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -10,6 +11,8 @@ import org.junit.jupiter.api.TestInstance.Lifecycle;
|
|||
|
||||
import pro.taskana.TaskanaEngineConfiguration;
|
||||
import pro.taskana.spi.priority.api.PriorityServiceProvider;
|
||||
import pro.taskana.task.api.models.TaskSummary;
|
||||
import pro.taskana.testapi.TestContainerExtensionTest.NestedTestClassWithServiceProvider.DummyPriorityServiceProvider;
|
||||
|
||||
@TaskanaIntegrationTest
|
||||
class TestContainerExtensionTest {
|
||||
|
@ -185,7 +188,7 @@ class TestContainerExtensionTest {
|
|||
|
||||
@WithServiceProvider(
|
||||
serviceProviderInterface = PriorityServiceProvider.class,
|
||||
serviceProviders = TestPriorityServiceProvider.class)
|
||||
serviceProviders = DummyPriorityServiceProvider.class)
|
||||
@Nested
|
||||
@TestInstance(Lifecycle.PER_CLASS)
|
||||
class NestedTestClassWithServiceProvider {
|
||||
|
@ -209,5 +212,13 @@ class TestContainerExtensionTest {
|
|||
|
||||
assertThat(nestedSchemaName).isNotNull().isEqualTo(topLevelSchemaName);
|
||||
}
|
||||
|
||||
class DummyPriorityServiceProvider implements PriorityServiceProvider {
|
||||
@Override
|
||||
public OptionalInt calculatePriority(TaskSummary taskSummary) {
|
||||
// implementation not important for the tests
|
||||
return OptionalInt.empty();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
package pro.taskana.testapi;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.OptionalInt;
|
||||
|
||||
import pro.taskana.common.api.WorkingDaysToDaysConverter;
|
||||
import pro.taskana.common.api.WorkingTimeCalculator;
|
||||
import pro.taskana.spi.priority.api.PriorityServiceProvider;
|
||||
import pro.taskana.task.api.TaskCustomField;
|
||||
import pro.taskana.task.api.models.TaskSummary;
|
||||
|
||||
public class TestPriorityServiceProvider implements PriorityServiceProvider {
|
||||
|
||||
private static final int MULTIPLIER = 10;
|
||||
|
||||
private final WorkingDaysToDaysConverter converter = new WorkingDaysToDaysConverter(true, true);
|
||||
private final WorkingTimeCalculator calculator = new WorkingTimeCalculator(converter);
|
||||
|
||||
@Override
|
||||
public OptionalInt calculatePriority(TaskSummary taskSummary) {
|
||||
|
||||
long priority;
|
||||
try {
|
||||
priority =
|
||||
calculator
|
||||
.workingTimeBetweenTwoTimestamps(taskSummary.getCreated(), Instant.now())
|
||||
.toMinutes()
|
||||
+ 1;
|
||||
} catch (Exception e) {
|
||||
priority = Duration.between(taskSummary.getCreated(), Instant.now()).toMinutes();
|
||||
}
|
||||
|
||||
if (Boolean.parseBoolean(taskSummary.getCustomField(TaskCustomField.CUSTOM_6))) {
|
||||
priority *= MULTIPLIER;
|
||||
}
|
||||
|
||||
return OptionalInt.of(Math.toIntExact(priority));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue