@@ -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