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.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatThrownBy; 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.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@ -155,7 +156,8 @@ class TaskanaConfigurationTest {
verifyConfigurationValuesDifferFromDefaultConfiguration(configuration); verifyConfigurationValuesDifferFromDefaultConfiguration(configuration);
// general 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(); assertThat(configuration.isEnforceServiceLevel()).isFalse();
// authentication configuration // authentication configuration
assertThat(configuration.getRoleMap()) assertThat(configuration.getRoleMap())

View File

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

View File

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

View File

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