Skip to content

Commit 239bfdc

Browse files
authored
[rrd4j] Make tests more deterministic by performing cleanup before and after each test (#21322)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
1 parent 74fd4b6 commit 239bfdc

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

bundles/org.openhab.persistence.rrd4j/src/test/java/org/openhab/persistence/rrd4j/internal/RRD4jPersistenceServiceTest.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@
1414

1515
import static org.junit.jupiter.api.Assertions.assertEquals;
1616
import static org.junit.jupiter.api.Assertions.assertNotNull;
17+
import static org.junit.jupiter.api.Assertions.assertTrue;
1718
import static org.junit.jupiter.api.Assertions.fail;
1819
import static org.mockito.Mockito.when;
1920

21+
import java.nio.file.Files;
22+
import java.nio.file.Path;
2023
import java.time.ZoneId;
2124
import java.time.ZonedDateTime;
2225
import java.util.Map;
@@ -124,17 +127,25 @@ private void configureSwitchItem(String suffix) throws Exception {
124127
when(itemRegistry.getItem("TestSwitch" + suffix)).thenReturn(switchItem);
125128
}
126129

130+
private void deleteDatabaseFile(String itemName) throws Exception {
131+
Path dbFile = RRD4jPersistenceService.getDatabasePath(itemName);
132+
Files.deleteIfExists(dbFile);
133+
}
134+
127135
@AfterEach
128136
void tearDown() throws Exception {
129137
if (service != null) {
130138
service.deactivate();
131139
}
140+
deleteDatabaseFile(numberItem.getName());
141+
deleteDatabaseFile(switchItem.getName());
132142
}
133143

134144
@ParameterizedTest
135145
@ValueSource(booleans = { true, false })
136146
void storeAndRetrieveNumberValue(boolean reloadAfterStore) throws Exception {
137147
configureNumberItem(reloadAfterStore ? "_PERSISTED" : "_MEMORY");
148+
deleteDatabaseFile(numberItem.getName());
138149

139150
// Store a value
140151
service.store(numberItem);
@@ -168,6 +179,7 @@ void storeAndRetrieveNumberValue(boolean reloadAfterStore) throws Exception {
168179
@ValueSource(booleans = { true, false })
169180
void storeAndRetrieveSwitchValue(boolean reloadAfterStore) throws Exception {
170181
configureSwitchItem(reloadAfterStore ? "_PERSISTED" : "_MEMORY");
182+
deleteDatabaseFile(switchItem.getName());
171183

172184
// Store a value
173185
service.store(switchItem);
@@ -206,6 +218,7 @@ void storeAndRetrieveSwitchValue(boolean reloadAfterStore) throws Exception {
206218
@ValueSource(booleans = { true, false })
207219
void queryWithTimeRange(boolean reloadAfterStore) throws Exception {
208220
configureNumberItem(reloadAfterStore ? "_PERSISTED" : "_MEMORY");
221+
deleteDatabaseFile(numberItem.getName());
209222

210223
// Store a value
211224
service.store(numberItem);
@@ -229,7 +242,7 @@ void queryWithTimeRange(boolean reloadAfterStore) throws Exception {
229242
assertNotNull(results);
230243

231244
// Verify we got at least one result
232-
assertNotNull(results.iterator().hasNext());
245+
assertTrue(results.iterator().hasNext());
233246
}
234247

235248
@Test
@@ -259,6 +272,7 @@ void storeAndRetrieveWithInvalidDBConfig(boolean reloadAfterStore) throws Except
259272
service = new RRD4jPersistenceService(itemRegistry, Map.of("something.invalid", "invalid/path/to/db"));
260273

261274
configureNumberItem(reloadAfterStore ? "_PERSISTED" : "_MEMORY");
275+
deleteDatabaseFile(numberItem.getName());
262276

263277
// Store a value
264278
service.store(numberItem);

0 commit comments

Comments
 (0)