1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.resources;
20
21 import java.io.IOException;
22 import java.io.InputStream;
23 import java.nio.file.Files;
24 import java.nio.file.Path;
25 import java.util.Enumeration;
26 import java.util.Properties;
27
28 import org.junit.jupiter.api.BeforeEach;
29
30 import static org.junit.jupiter.api.Assertions.assertNotNull;
31
32
33
34
35 public abstract class AbstractPropertyUtilsTest {
36 protected Path propertyFile;
37
38 protected Path validationFile;
39
40 protected Properties validationProp;
41
42 protected abstract Path getPropertyFile();
43
44 protected abstract Path getValidationFile();
45
46 @BeforeEach
47 protected void setUp() throws Exception {
48
49 propertyFile = getPropertyFile();
50 assertNotNull(propertyFile);
51
52 validationFile = getValidationFile();
53 assertNotNull(validationFile);
54
55 loadValidationProperties(validationFile);
56 }
57
58 protected boolean validateProperties(Properties prop) {
59 boolean bRetVal = false;
60
61 Enumeration<?> propKeys = prop.keys();
62 String key;
63
64 while (propKeys.hasMoreElements()) {
65 key = (String) propKeys.nextElement();
66 bRetVal = prop.getProperty(key).equals(validationProp.getProperty(key));
67 if (!bRetVal) {
68 break;
69 }
70 }
71
72 return bRetVal;
73 }
74
75
76
77
78
79
80
81 private void loadValidationProperties(Path validationPropFile) {
82 validationProp = new Properties();
83 try (InputStream in = Files.newInputStream(validationPropFile)) {
84 validationProp.load(in);
85 } catch (IOException ex) {
86
87 }
88 }
89 }