|
20 | 20 | import com.github.joschi.jadconfig.RepositoryException; |
21 | 21 | import com.github.joschi.jadconfig.ValidationException; |
22 | 22 | import com.github.joschi.jadconfig.repositories.InMemoryRepository; |
| 23 | +import jakarta.annotation.Nonnull; |
23 | 24 | import org.apache.commons.lang3.RandomStringUtils; |
24 | 25 | import org.graylog.datanode.configuration.DatanodeDirectories; |
25 | 26 | import org.graylog.security.certutil.CertRequest; |
26 | 27 | import org.graylog.security.certutil.CertificateGenerator; |
27 | 28 | import org.graylog.security.certutil.KeyPair; |
28 | 29 |
|
| 30 | +import java.io.IOException; |
| 31 | +import java.nio.file.Files; |
29 | 32 | import java.nio.file.Path; |
30 | 33 | import java.time.Duration; |
31 | 34 | import java.util.List; |
32 | 35 | import java.util.Map; |
33 | 36 |
|
34 | 37 | public class DatanodeTestUtils { |
35 | | - public static Configuration datanodeConfiguration(Map<String, String> properties) throws RepositoryException, ValidationException { |
| 38 | + public static Configuration datanodeConfiguration(Map<String, String> properties, Path tempDir) throws RepositoryException, ValidationException { |
36 | 39 | final Configuration configuration = new Configuration(); |
37 | 40 | final InMemoryRepository mandatoryProps = new InMemoryRepository(Map.of( |
38 | | - "password_secret", "thisisverysecretpassword" |
| 41 | + "password_secret", "thisisverysecretpassword", |
| 42 | + "opensearch_logs_location", createDir(tempDir, "opensearch_logs"), |
| 43 | + "opensearch_config_location", createDir(tempDir, "opensearch_config"), |
| 44 | + "opensearch_data_location", createDir(tempDir, "opensearch_data"), |
| 45 | + "node_id_file", tempDir.resolve("node_id").toAbsolutePath().toString() |
39 | 46 | )); |
40 | 47 | new JadConfig(List.of(mandatoryProps, new InMemoryRepository(properties)), configuration).process(); |
41 | 48 | return configuration; |
42 | 49 | } |
43 | 50 |
|
| 51 | + @Nonnull |
| 52 | + private static String createDir(Path tempDir, String dir) { |
| 53 | + try { |
| 54 | + return Files.createDirectory(tempDir.resolve(dir)).toAbsolutePath().toString(); |
| 55 | + } catch (IOException e) { |
| 56 | + throw new RuntimeException(e); |
| 57 | + } |
| 58 | + } |
| 59 | + |
44 | 60 | public static DatanodeDirectories tempDirectories(Path tempDir) { |
45 | 61 | return new DatanodeDirectories(tempDir, tempDir, tempDir, tempDir); |
46 | 62 | } |
|
0 commit comments