TSK-1223: revert of tempdir to fix build on windows machines (#1538)

This commit is contained in:
tge20 2021-03-22 18:48:41 +01:00 committed by GitHub
parent ec5f3302a3
commit 762a5d5ea5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 75 deletions

View File

@ -3,18 +3,16 @@ package acceptance.config;
import static org.assertj.core.api.Assertions.assertThat;
import acceptance.TaskanaEngineTestConfiguration;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.h2.store.fs.FileUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.internal.TaskanaEngineImpl;
@ -22,6 +20,8 @@ import pro.taskana.common.internal.TaskanaEngineImpl;
/** Test taskana configuration without roles. */
class TaskanaConfigAccTest extends TaskanaEngineImpl {
@TempDir Path tempDir;
TaskanaConfigAccTest() throws Exception {
super(
new TaskanaEngineConfiguration(
@ -50,13 +50,9 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
@Test
void testDoesNotExistPropertyClassificationTypeOrItIsEmpty() throws Exception {
taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>());
String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", false, true);
String propertiesFileName = createNewConfigFile("dummyTestConfig.properties", false, true);
String delimiter = ";";
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
} finally {
deleteFile(propertiesFileName);
}
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
assertThat(taskanaEngineConfiguration.getClassificationTypes()).isEmpty();
}
@ -64,13 +60,9 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
void testDoesNotExistPropertyClassificationCategoryOrItIsEmpty() throws Exception {
taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>());
taskanaEngineConfiguration.setClassificationCategoriesByType(new HashMap<>());
String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", true, false);
String propertiesFileName = createNewConfigFile("dummyTestConfig.properties", true, false);
String delimiter = ";";
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
} finally {
deleteFile(propertiesFileName);
}
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
assertThat(
taskanaEngineConfiguration.getClassificationCategoriesByType(
taskanaEngineConfiguration.getClassificationTypes().get(0)))
@ -81,13 +73,9 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
void testWithCategoriesAndClassificationFilled() throws Exception {
taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>());
taskanaEngineConfiguration.setClassificationCategoriesByType(new HashMap<>());
String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", true, true);
String propertiesFileName = createNewConfigFile("dummyTestConfig.properties", true, true);
String delimiter = ";";
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
} finally {
deleteFile(propertiesFileName);
}
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
assertThat(taskanaEngineConfiguration.getClassificationTypes().isEmpty()).isFalse();
assertThat(
taskanaEngineConfiguration
@ -112,7 +100,7 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
private String createNewConfigFile(
String filename, boolean addingTypes, boolean addingClassification) throws Exception {
Path file = Files.createFile(Paths.get(System.getProperty("user.home") + filename));
Path file = Files.createFile(tempDir.resolve(filename));
List<String> lines =
Stream.of(
"taskana.roles.admin =Holger|Stefan",
@ -130,11 +118,4 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
Files.write(file, lines, StandardCharsets.UTF_8);
return file.toString();
}
private void deleteFile(String propertiesFileName) {
File f = new File(propertiesFileName);
if (f.exists() && !f.isDirectory()) {
FileUtils.delete(propertiesFileName);
}
}
}

View File

@ -3,15 +3,13 @@ package acceptance.config;
import static org.assertj.core.api.Assertions.assertThat;
import acceptance.TaskanaEngineTestConfiguration;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.Set;
import org.h2.store.fs.FileUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.TaskanaRole;
@ -20,6 +18,8 @@ import pro.taskana.common.internal.TaskanaEngineImpl;
/** Test taskana's role configuration. */
class TaskanaRoleConfigAccTest extends TaskanaEngineImpl {
@TempDir Path tempDir;
TaskanaRoleConfigAccTest() throws Exception {
super(
new TaskanaEngineConfiguration(
@ -63,80 +63,65 @@ class TaskanaRoleConfigAccTest extends TaskanaEngineImpl {
@Test
void testOtherConfigFileSameDelimiter() throws Exception {
String propertiesFileName = createNewConfigFileWithSameDelimiter("/dummyTestConfig.properties");
try {
getConfiguration().initTaskanaProperties(propertiesFileName, "|");
String propertiesFileName = createNewConfigFileWithSameDelimiter("dummyTestConfig.properties");
getConfiguration().initTaskanaProperties(propertiesFileName, "|");
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsExactlyInAnyOrder(TaskanaRole.values());
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsExactlyInAnyOrder(TaskanaRole.values());
Set<String> users = getConfiguration().getRoleMap().get(TaskanaRole.USER);
assertThat(users).containsExactly("nobody");
Set<String> users = getConfiguration().getRoleMap().get(TaskanaRole.USER);
assertThat(users).containsExactly("nobody");
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsExactlyInAnyOrder("user", "username");
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsExactlyInAnyOrder("user", "username");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsExactlyInAnyOrder("user2", "user3");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsExactlyInAnyOrder("user2", "user3");
Set<String> taskAdmins = getConfiguration().getRoleMap().get(TaskanaRole.TASK_ADMIN);
assertThat(taskAdmins).containsExactlyInAnyOrder("taskadmin");
} finally {
deleteFile(propertiesFileName);
}
Set<String> taskAdmins = getConfiguration().getRoleMap().get(TaskanaRole.TASK_ADMIN);
assertThat(taskAdmins).containsExactlyInAnyOrder("taskadmin");
}
@Test
void testOtherConfigFileDifferentDelimiter() throws Exception {
String delimiter = ";";
String propertiesFileName =
createNewConfigFileWithDifferentDelimiter("/dummyTestConfig.properties", delimiter);
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
createNewConfigFileWithDifferentDelimiter("dummyTestConfig.properties", delimiter);
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsExactlyInAnyOrder(TaskanaRole.values());
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsExactlyInAnyOrder(TaskanaRole.values());
Set<String> users = getConfiguration().getRoleMap().get(TaskanaRole.USER);
assertThat(users).isEmpty();
Set<String> users = getConfiguration().getRoleMap().get(TaskanaRole.USER);
assertThat(users).isEmpty();
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsExactlyInAnyOrder("user", "name=username,organisation=novatec");
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsExactlyInAnyOrder("user", "name=username,organisation=novatec");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsExactlyInAnyOrder("name=user2, ou = bpm", "user3");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsExactlyInAnyOrder("name=user2, ou = bpm", "user3");
Set<String> taskAdmins = getConfiguration().getRoleMap().get(TaskanaRole.TASK_ADMIN);
assertThat(taskAdmins).contains("taskadmin");
} finally {
deleteFile(propertiesFileName);
}
Set<String> taskAdmins = getConfiguration().getRoleMap().get(TaskanaRole.TASK_ADMIN);
assertThat(taskAdmins).contains("taskadmin");
}
private String createNewConfigFileWithDifferentDelimiter(String filename, String delimiter)
throws Exception {
Path file = Files.createFile(Paths.get(System.getProperty("user.home") + filename));
Path file = Files.createFile(tempDir.resolve(filename));
List<String> lines =
List.of(
"taskana.roles.admin =uSeR " + delimiter + "name=Username,Organisation=novatec",
" taskana.roles.businessadmin = name=user2, ou = bpm " + delimiter + " user3 ",
" taskana.roles.user = ",
"taskana.roles.taskadmin= taskadmin");
Files.write(file, lines, StandardCharsets.UTF_8);
return file.toString();
}
private void deleteFile(String propertiesFileName) {
File f = new File(propertiesFileName);
if (f.exists() && !f.isDirectory()) {
FileUtils.delete(propertiesFileName);
}
}
private String createNewConfigFileWithSameDelimiter(String filename) throws Exception {
Path file = Files.createFile(Paths.get(System.getProperty("user.home") + filename));
Path file = Files.createFile(tempDir.resolve(filename));
List<String> lines =
List.of(
"taskana.roles.admin =uSeR|Username",