revert of tempdir to fix build on windows machines

This commit is contained in:
Mustapha Zorgati 2020-04-27 12:43:10 +02:00
parent 26edaa76f7
commit deb0acc04b
2 changed files with 69 additions and 38 deletions

View File

@ -2,18 +2,20 @@ package acceptance.config;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.SQLException;
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;
@ -26,8 +28,6 @@ import pro.taskana.common.internal.TaskanaEngineTestConfiguration;
*/
class TaskanaConfigAccTest extends TaskanaEngineImpl {
@TempDir Path tempDir;
TaskanaConfigAccTest() throws SQLException {
super(
new TaskanaEngineConfiguration(
@ -55,9 +55,13 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
@Test
void testDoesNotExistPropertyClassificationTypeOrItIsEmpty() throws IOException {
taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>());
String propertiesFileName = createNewConfigFile("dummyTestConfig.properties", false, true);
String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", false, true);
String delimiter = ";";
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
} finally {
deleteFile(propertiesFileName);
}
assertThat(taskanaEngineConfiguration.getClassificationTypes()).isEmpty();
}
@ -65,9 +69,13 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
void testDoesNotExistPropertyClassificatioCategoryOrItIsEmpty() throws IOException {
taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>());
taskanaEngineConfiguration.setClassificationCategoriesByType(new HashMap<>());
String propertiesFileName = createNewConfigFile("dummyTestConfig.properties", true, false);
String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", true, false);
String delimiter = ";";
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
} finally {
deleteFile(propertiesFileName);
}
assertThat(
taskanaEngineConfiguration.getClassificationCategoriesByType(
taskanaEngineConfiguration.getClassificationTypes().get(0)))
@ -78,9 +86,13 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
void testWithCategoriesAndClassificationFilled() throws IOException {
taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>());
taskanaEngineConfiguration.setClassificationCategoriesByType(new HashMap<>());
String propertiesFileName = createNewConfigFile("dummyTestConfig.properties", true, true);
String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", true, true);
String delimiter = ";";
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
} finally {
deleteFile(propertiesFileName);
}
assertThat(taskanaEngineConfiguration.getClassificationTypes().isEmpty()).isFalse();
assertThat(
taskanaEngineConfiguration
@ -105,7 +117,7 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl {
private String createNewConfigFile(
String filename, boolean addingTypes, boolean addingClassification) throws IOException {
Path file = Files.createFile(tempDir.resolve(filename));
Path file = Files.createFile(Paths.get(System.getProperty("user.home") + filename));
List<String> lines =
Stream.of(
"taskana.roles.Admin =Holger|Stefan",
@ -121,7 +133,13 @@ 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

@ -2,16 +2,18 @@ package acceptance.config;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.SQLException;
import java.util.Arrays;
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;
@ -25,8 +27,6 @@ import pro.taskana.common.internal.TaskanaEngineTestConfiguration;
*/
class TaskanaRoleConfigAccTest extends TaskanaEngineImpl {
@TempDir Path tempDir;
TaskanaRoleConfigAccTest() throws SQLException {
super(
new TaskanaEngineConfiguration(
@ -55,58 +55,71 @@ class TaskanaRoleConfigAccTest extends TaskanaEngineImpl {
@Test
void testOtherConfigFileSameDelimiter() throws IOException {
String propertiesFileName = createNewConfigFileWithSameDelimiter("dummyTestConfig.properties");
getConfiguration().initTaskanaProperties(propertiesFileName, "|");
String propertiesFileName = createNewConfigFileWithSameDelimiter("/dummyTestConfig.properties");
try {
getConfiguration().initTaskanaProperties(propertiesFileName, "|");
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsOnly(TaskanaRole.values());
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsOnly(TaskanaRole.values());
Set<String> users = getConfiguration().getRoleMap().get(TaskanaRole.USER);
assertThat(users).containsOnly("nobody");
Set<String> users = getConfiguration().getRoleMap().get(TaskanaRole.USER);
assertThat(users).containsOnly("nobody");
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsOnly("holger", "stefan");
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsOnly("holger", "stefan");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsOnly("ebe", "konstantin");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsOnly("ebe", "konstantin");
} finally {
deleteFile(propertiesFileName);
}
}
@Test
void testOtherConfigFileDifferentDelimiter() throws IOException {
String delimiter = ";";
String propertiesFileName =
createNewConfigFileWithDifferentDelimiter("dummyTestConfig.properties", delimiter);
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
createNewConfigFileWithDifferentDelimiter("/dummyTestConfig.properties", delimiter);
try {
getConfiguration().initTaskanaProperties(propertiesFileName, delimiter);
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsOnly(TaskanaRole.values());
Set<TaskanaRole> rolesConfigured = getConfiguration().getRoleMap().keySet();
assertThat(rolesConfigured).containsOnly(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).containsOnly("holger", "name=stefan,organisation=novatec");
Set<String> admins = getConfiguration().getRoleMap().get(TaskanaRole.ADMIN);
assertThat(admins).containsOnly("holger", "name=stefan,organisation=novatec");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsOnly("name=ebe, ou = bpm", "konstantin");
Set<String> businessAdmins = getConfiguration().getRoleMap().get(TaskanaRole.BUSINESS_ADMIN);
assertThat(businessAdmins).containsOnly("name=ebe, ou = bpm", "konstantin");
} finally {
deleteFile(propertiesFileName);
}
}
private String createNewConfigFileWithDifferentDelimiter(String filename, String delimiter)
throws IOException {
Path file = Files.createFile(tempDir.resolve(filename));
Path file = Files.createFile(Paths.get(System.getProperty("user.home") + filename));
List<String> lines =
Arrays.asList(
"taskana.roles.Admin =hOlGeR " + delimiter + "name=Stefan,Organisation=novatec",
" taskana.roles.businessadmin = name=ebe, ou = bpm " + delimiter + " konstantin ",
" taskana.roles.user = ");
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 IOException {
Path file = Files.createFile(tempDir.resolve(filename));
Path file = Files.createFile(Paths.get(System.getProperty("user.home") + filename));
List<String> lines =
Arrays.asList(
"taskana.roles.Admin =hOlGeR|Stefan",