From c740df33e4a283ef2c05c11c50706894f6b0fd1c Mon Sep 17 00:00:00 2001 From: Holger Bruch Date: Sat, 20 Apr 2024 14:51:58 +0200 Subject: [PATCH 1/2] add testcase for missing discovery feed --- .../java/org/entur/gbfs/loader/v2/GbfsV2LoaderTest.java | 2 ++ .../java/org/entur/gbfs/loader/v3/GbfsV3LoaderTest.java | 8 +++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/entur/gbfs/loader/v2/GbfsV2LoaderTest.java b/src/test/java/org/entur/gbfs/loader/v2/GbfsV2LoaderTest.java index 8dae7a8..278c4c5 100644 --- a/src/test/java/org/entur/gbfs/loader/v2/GbfsV2LoaderTest.java +++ b/src/test/java/org/entur/gbfs/loader/v2/GbfsV2LoaderTest.java @@ -153,6 +153,8 @@ private void validateV22Feed(GbfsV2Loader loader) { ); assertEquals(0, validationResult.getErrorsCount()); + assertFalse(loader.getRawFeed(GBFSFeedName.GBFS).isEmpty()); + GBFSSystemInformation systemInformation = loader.getFeed(GBFSSystemInformation.class); assertNotNull(systemInformation); assertEquals("lillestrombysykkel", systemInformation.getData().getSystemId()); diff --git a/src/test/java/org/entur/gbfs/loader/v3/GbfsV3LoaderTest.java b/src/test/java/org/entur/gbfs/loader/v3/GbfsV3LoaderTest.java index eebaa72..fc08b1f 100644 --- a/src/test/java/org/entur/gbfs/loader/v3/GbfsV3LoaderTest.java +++ b/src/test/java/org/entur/gbfs/loader/v3/GbfsV3LoaderTest.java @@ -1,10 +1,6 @@ package org.entur.gbfs.loader.v3; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import java.io.ByteArrayInputStream; import java.util.List; @@ -52,6 +48,8 @@ private void validateV3Feed(GbfsV3Loader loader) { ); assertEquals(0, validationResult.getErrorsCount()); + assertFalse(loader.getRawFeed(GBFSFeed.Name.GBFS).isEmpty()); + GBFSSystemInformation systemInformation = loader.getFeed(GBFSSystemInformation.class); assertNotNull(systemInformation); assertEquals("getaround_stavanger", systemInformation.getData().getSystemId()); From 505104a47aa8cf48465b5c889a38f8ab24bd2daf Mon Sep 17 00:00:00 2001 From: Holger Bruch Date: Sat, 20 Apr 2024 15:40:14 +0200 Subject: [PATCH 2/2] fix: return raw discovery feed --- src/main/java/org/entur/gbfs/loader/BaseGbfsLoader.java | 6 ++++++ src/main/java/org/entur/gbfs/loader/v2/GbfsV2Loader.java | 5 +++++ src/main/java/org/entur/gbfs/loader/v3/GbfsV3Loader.java | 5 +++++ 3 files changed, 16 insertions(+) diff --git a/src/main/java/org/entur/gbfs/loader/BaseGbfsLoader.java b/src/main/java/org/entur/gbfs/loader/BaseGbfsLoader.java index 7d971c5..4972b77 100644 --- a/src/main/java/org/entur/gbfs/loader/BaseGbfsLoader.java +++ b/src/main/java/org/entur/gbfs/loader/BaseGbfsLoader.java @@ -145,10 +145,16 @@ public R getFeed(Class feed) { } public Optional getRawFeed(S feedName) { + if (feedName == getDiscoveryFeedName()) { + return discoveryFileUpdater.getRawData(); + } + GBFSFeedUpdater updater = feedUpdaters.get(feedName); if (updater == null) { return Optional.empty(); } return updater.getRawData(); } + + protected abstract S getDiscoveryFeedName(); } diff --git a/src/main/java/org/entur/gbfs/loader/v2/GbfsV2Loader.java b/src/main/java/org/entur/gbfs/loader/v2/GbfsV2Loader.java index 59af450..c7b3610 100644 --- a/src/main/java/org/entur/gbfs/loader/v2/GbfsV2Loader.java +++ b/src/main/java/org/entur/gbfs/loader/v2/GbfsV2Loader.java @@ -125,4 +125,9 @@ public GbfsV2Loader( ) .collect(Collectors.toList()); } + + @Override + protected GBFSFeedName getDiscoveryFeedName() { + return GBFSFeedName.GBFS; + } } diff --git a/src/main/java/org/entur/gbfs/loader/v3/GbfsV3Loader.java b/src/main/java/org/entur/gbfs/loader/v3/GbfsV3Loader.java index 74a89f0..c9d1302 100644 --- a/src/main/java/org/entur/gbfs/loader/v3/GbfsV3Loader.java +++ b/src/main/java/org/entur/gbfs/loader/v3/GbfsV3Loader.java @@ -93,4 +93,9 @@ public GbfsV3Loader( ) .collect(Collectors.toList()); } + + @Override + protected GBFSFeed.Name getDiscoveryFeedName() { + return GBFSFeed.Name.GBFS; + } }