Skip to content

Commit 0b18393

Browse files
committed
Use try-with-resources in file initializer tests.
1 parent 1a548dd commit 0b18393

File tree

1 file changed

+22
-37
lines changed

1 file changed

+22
-37
lines changed

lib/sdk/server/src/test/java/com/launchdarkly/sdk/server/integrations/FileInitializerTest.java

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,32 @@ public class FileInitializerTest {
2323

2424
@Test
2525
public void initializerReturnsChangeSetOnSuccessfulLoad() throws Exception {
26-
Initializer initializer = FileData.initializer()
27-
.filePaths(resourceFilePath("all-properties.json"))
28-
.build(TestDataSourceBuildInputs.create(testLogger));
2926

30-
try {
27+
try (Initializer initializer = FileData.initializer()
28+
.filePaths(resourceFilePath("all-properties.json"))
29+
.build(TestDataSourceBuildInputs.create(testLogger))) {
3130
CompletableFuture<FDv2SourceResult> resultFuture = initializer.run();
3231
FDv2SourceResult result = resultFuture.get(5, TimeUnit.SECONDS);
3332

3433
assertThat(result.getResultType(), equalTo(FDv2SourceResult.ResultType.CHANGE_SET));
3534
assertThat(result.getChangeSet(), notNullValue());
3635
assertThat(result.getChangeSet().getType(), equalTo(ChangeSetType.Full));
3736
assertNotNull(result.getChangeSet().getData());
38-
} finally {
39-
initializer.close();
4037
}
4138
}
4239

4340
@Test
4441
public void initializerReturnsTerminalErrorOnMissingFile() throws Exception {
45-
Initializer initializer = FileData.initializer()
46-
.filePaths(Paths.get("no-such-file.json"))
47-
.build(TestDataSourceBuildInputs.create(testLogger));
4842

49-
try {
43+
try (Initializer initializer = FileData.initializer()
44+
.filePaths(Paths.get("no-such-file.json"))
45+
.build(TestDataSourceBuildInputs.create(testLogger))) {
5046
CompletableFuture<FDv2SourceResult> resultFuture = initializer.run();
5147
FDv2SourceResult result = resultFuture.get(5, TimeUnit.SECONDS);
5248

5349
assertThat(result.getResultType(), equalTo(FDv2SourceResult.ResultType.STATUS));
5450
assertThat(result.getStatus().getState(), equalTo(FDv2SourceResult.State.TERMINAL_ERROR));
5551
assertNotNull(result.getStatus().getErrorInfo());
56-
} finally {
57-
initializer.close();
5852
}
5953
}
6054

@@ -76,60 +70,51 @@ public void initializerReturnsShutdownWhenClosedBeforeRun() throws Exception {
7670

7771
@Test
7872
public void initializerCanLoadFromClasspathResource() throws Exception {
79-
Initializer initializer = FileData.initializer()
80-
.classpathResources(FileDataSourceTestData.resourceLocation("all-properties.json"))
81-
.build(TestDataSourceBuildInputs.create(testLogger));
8273

83-
try {
74+
try (Initializer initializer = FileData.initializer()
75+
.classpathResources(FileDataSourceTestData.resourceLocation("all-properties.json"))
76+
.build(TestDataSourceBuildInputs.create(testLogger))) {
8477
CompletableFuture<FDv2SourceResult> resultFuture = initializer.run();
8578
FDv2SourceResult result = resultFuture.get(5, TimeUnit.SECONDS);
8679

8780
assertThat(result.getResultType(), equalTo(FDv2SourceResult.ResultType.CHANGE_SET));
8881
assertThat(result.getChangeSet(), notNullValue());
89-
} finally {
90-
initializer.close();
9182
}
9283
}
9384

9485
@Test
9586
public void initializerRespectsIgnoreDuplicateKeysHandling() throws Exception {
96-
Initializer initializer = FileData.initializer()
97-
.filePaths(
98-
resourceFilePath("flag-only.json"),
99-
resourceFilePath("flag-with-duplicate-key.json")
100-
)
101-
.duplicateKeysHandling(FileData.DuplicateKeysHandling.IGNORE)
102-
.build(TestDataSourceBuildInputs.create(testLogger));
10387

104-
try {
88+
try (Initializer initializer = FileData.initializer()
89+
.filePaths(
90+
resourceFilePath("flag-only.json"),
91+
resourceFilePath("flag-with-duplicate-key.json")
92+
)
93+
.duplicateKeysHandling(FileData.DuplicateKeysHandling.IGNORE)
94+
.build(TestDataSourceBuildInputs.create(testLogger))) {
10595
CompletableFuture<FDv2SourceResult> resultFuture = initializer.run();
10696
FDv2SourceResult result = resultFuture.get(5, TimeUnit.SECONDS);
10797

10898
// Should succeed when ignoring duplicates
10999
assertThat(result.getResultType(), equalTo(FDv2SourceResult.ResultType.CHANGE_SET));
110-
} finally {
111-
initializer.close();
112100
}
113101
}
114102

115103
@Test
116104
public void initializerFailsOnDuplicateKeysByDefault() throws Exception {
117-
Initializer initializer = FileData.initializer()
118-
.filePaths(
119-
resourceFilePath("flag-only.json"),
120-
resourceFilePath("flag-with-duplicate-key.json")
121-
)
122-
.build(TestDataSourceBuildInputs.create(testLogger));
123105

124-
try {
106+
try (Initializer initializer = FileData.initializer()
107+
.filePaths(
108+
resourceFilePath("flag-only.json"),
109+
resourceFilePath("flag-with-duplicate-key.json")
110+
)
111+
.build(TestDataSourceBuildInputs.create(testLogger))) {
125112
CompletableFuture<FDv2SourceResult> resultFuture = initializer.run();
126113
FDv2SourceResult result = resultFuture.get(5, TimeUnit.SECONDS);
127114

128115
// Should fail with terminal error when duplicate keys are not allowed
129116
assertThat(result.getResultType(), equalTo(FDv2SourceResult.ResultType.STATUS));
130117
assertThat(result.getStatus().getState(), equalTo(FDv2SourceResult.State.TERMINAL_ERROR));
131-
} finally {
132-
initializer.close();
133118
}
134119
}
135120
}

0 commit comments

Comments
 (0)