Closes #2211 add master domain always to configured domains

This commit is contained in:
arolfes 2023-04-12 09:22:43 +02:00 committed by Alex
parent e4fb057d88
commit ea5c004c04
4 changed files with 25 additions and 10 deletions

View File

@ -4,6 +4,7 @@ import static java.util.function.Predicate.not;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static pro.taskana.common.api.SharedConstants.MASTER_DOMAIN;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@ -155,7 +156,8 @@ class TaskanaConfigurationTest {
verifyConfigurationValuesDifferFromDefaultConfiguration(configuration);
// general configuration
assertThat(configuration.getDomains()).isEqualTo(Set.of("DOMAIN_A", "DOMAIN_B"));
assertThat(configuration.getDomains())
.isEqualTo(List.of("DOMAIN_A", "DOMAIN_B", MASTER_DOMAIN));
assertThat(configuration.isEnforceServiceLevel()).isFalse();
// authentication configuration
assertThat(configuration.getRoleMap())

View File

@ -1,5 +1,7 @@
package pro.taskana;
import static pro.taskana.common.api.SharedConstants.MASTER_DOMAIN;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
@ -890,12 +892,11 @@ public class TaskanaConfiguration {
throw new SystemException("separator file can't be null or empty");
}
if (LOGGER.isDebugEnabled()) {
LOGGER.debug(
"Reading taskana configuration from {} with separator {}", propertiesFile, separator);
}
properties = loadProperties(propertiesFile);
configureAnnotatedFields(separator, properties);
addMasterDomain();
return this;
}
@ -1135,6 +1136,14 @@ public class TaskanaConfiguration {
// endregion
private void addMasterDomain() {
// Master Domain is treat as empty string
// it must be always added to the configuration
if (!this.domains.contains(MASTER_DOMAIN)) {
this.domains.add(MASTER_DOMAIN);
}
}
private void configureAnnotatedFields(String separator, Map<String, String> props) {
final List<Field> fields = ReflectionUtil.retrieveAllFields(getClass());
for (Field field : fields) {

View File

@ -1,6 +1,7 @@
package acceptance.config;
import static org.assertj.core.api.Assertions.assertThat;
import static pro.taskana.common.api.SharedConstants.MASTER_DOMAIN;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
@ -34,7 +35,8 @@ class TaskanaConfigAccTest {
@Test
void should_ConfigureDomains_For_DefaultPropertiesFile() {
assertThat(taskanaConfiguration.getDomains()).containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B");
assertThat(taskanaConfiguration.getDomains())
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B", MASTER_DOMAIN);
}
@Test

View File

@ -1,6 +1,7 @@
package pro.taskana.testapi;
import static org.assertj.core.api.Assertions.assertThat;
import static pro.taskana.common.api.SharedConstants.MASTER_DOMAIN;
import java.util.OptionalInt;
import java.util.Set;
@ -22,7 +23,8 @@ class TaskanaInitializationExtensionTest {
@Test
void should_UseDefaultTaskanaEngine_When_TestIsCreated() {
assertThat(taskanaConfiguration.getDomains()).containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B");
assertThat(taskanaConfiguration.getDomains())
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B", MASTER_DOMAIN);
}
@Nested
@ -77,7 +79,7 @@ class TaskanaInitializationExtensionTest {
@Test
void should_UseDefaultTaskanaEngine_When_NestedClassDoesNotImplementModifier() {
assertThat(taskanaConfiguration.getDomains())
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B");
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B", MASTER_DOMAIN);
}
}
@ -107,7 +109,7 @@ class TaskanaInitializationExtensionTest {
@Test
void should_UseDefaultTaskanaEngine_When_NestedClassDoesNotImplementModifier() {
assertThat(taskanaConfiguration.getDomains())
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B");
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B", MASTER_DOMAIN);
}
class DummyPriorityServiceProvider implements PriorityServiceProvider {
@ -150,7 +152,7 @@ class TaskanaInitializationExtensionTest {
@Test
void should_UseDefaultTaskanaEngine_When_NestedClassDoesNotImplementModifier() {
assertThat(taskanaConfiguration.getDomains())
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B");
.containsExactlyInAnyOrder("DOMAIN_A", "DOMAIN_B", MASTER_DOMAIN);
}
class DummyPriorityServiceProvider implements PriorityServiceProvider {