Skip to content

Commit

Permalink
Merge pull request #168 from entur/fix/catch-exceptions-from-create-u…
Browse files Browse the repository at this point in the history
…pdaters

fix: uncaught exceptions from createUpdaters will halt subscription retries
  • Loading branch information
testower committed Apr 26, 2024
2 parents 13fd930 + 55d0bc8 commit 528ac46
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 24 deletions.
22 changes: 13 additions & 9 deletions src/main/java/org/entur/gbfs/loader/BaseGbfsLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,19 @@ public synchronized void init() {
return;
}

if (discoveryFileUpdater.fetchOnce()) {
disoveryFileData = discoveryFileUpdater.getData();
createUpdaters();
setupComplete.set(true);
} else {
LOG.warn(
"Could not fetch the feed auto-configuration file from {}",
discoveryFileUpdater.getUrl()
);
try {
if (discoveryFileUpdater.fetchOnce()) {
disoveryFileData = discoveryFileUpdater.getData();
createUpdaters();
setupComplete.set(true);
} else {
LOG.warn(
"Could not fetch the feed auto-configuration file from {}",
discoveryFileUpdater.getUrl()
);
}
} catch (RuntimeException e) {
LOG.warn("Caught exception while creating updaters - message={}", e.getMessage());
}
}

Expand Down
11 changes: 4 additions & 7 deletions src/test/java/org/entur/gbfs/loader/v2/GbfsV2LoaderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,11 @@ void getV22FeedWithNoLanguage() {

@Test
void getV22FeedWithWrongLanguage() {
assertThrows(
RuntimeException.class,
() ->
new GbfsV2Loader(
"file:src/test/resources/gbfs/lillestrombysykkel/gbfs.json",
LANGUAGE_EN
)
GbfsV2Loader loader = new GbfsV2Loader(
"file:src/test/resources/gbfs/lillestrombysykkel/gbfs.json",
LANGUAGE_EN
);
assertFalse(loader.getSetupComplete());
}

@Test
Expand Down
19 changes: 11 additions & 8 deletions src/test/java/org/entur/gbfs/loader/v3/GbfsV3LoaderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import java.io.ByteArrayInputStream;
import java.util.List;
import org.entur.gbfs.loader.DuplicateFeedException;
import org.entur.gbfs.v3_0.gbfs.GBFSFeed;
import org.entur.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones;
import org.entur.gbfs.v3_0.system_information.GBFSSystemInformation;
Expand Down Expand Up @@ -123,13 +122,17 @@ private void validateV3Feed(GbfsV3Loader loader) {

@Test
void testDuplicateFeedThrows() {
assertThrows(
DuplicateFeedException.class,
() -> {
GbfsV3Loader loader = new GbfsV3Loader(
"file:src/test/resources/gbfs/v3/duplicatefeed/gbfs.json"
);
}
GbfsV3Loader loader = new GbfsV3Loader(
"file:src/test/resources/gbfs/v3/duplicatefeed/gbfs.json"
);
assertFalse(loader.getSetupComplete());
}

@Test
void testIncompleteFeed() {
GbfsV3Loader loader = new GbfsV3Loader(
"file:src/test/resources/gbfs/v3/incomplete/gbfs.json"
);
assertFalse(loader.getSetupComplete());
}
}
6 changes: 6 additions & 0 deletions src/test/resources/gbfs/v3/incomplete/gbfs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"last_updated": 1714131556,
"ttl": 3600,
"version": "2.3",
"data": null
}

0 comments on commit 528ac46

Please sign in to comment.