diff options
author | Julien Dessaux | 2021-09-10 17:26:23 +0200 |
---|---|---|
committer | Julien Dessaux | 2021-09-10 17:26:23 +0200 |
commit | 678fdf8759a7a6ed6628194d085a47b5490e68ea (patch) | |
tree | a335a5db442ad8ba2cc780c5ca17250a68d4f8f1 /pkg/navitia_api_client | |
parent | Added database function to get all train stops (diff) | |
download | trains-678fdf8759a7a6ed6628194d085a47b5490e68ea.tar.gz trains-678fdf8759a7a6ed6628194d085a47b5490e68ea.tar.bz2 trains-678fdf8759a7a6ed6628194d085a47b5490e68ea.zip |
Finished not so simple refactoring
Diffstat (limited to 'pkg/navitia_api_client')
-rw-r--r-- | pkg/navitia_api_client/client.go | 4 | ||||
-rw-r--r-- | pkg/navitia_api_client/departures.go | 8 | ||||
-rw-r--r-- | pkg/navitia_api_client/stops.go | 8 | ||||
-rw-r--r-- | pkg/navitia_api_client/stops_test.go | 16 |
4 files changed, 18 insertions, 18 deletions
diff --git a/pkg/navitia_api_client/client.go b/pkg/navitia_api_client/client.go index 2ca0e5d..bd36c6a 100644 --- a/pkg/navitia_api_client/client.go +++ b/pkg/navitia_api_client/client.go @@ -10,8 +10,8 @@ import ( ) type Client interface { - GetDepartures(trainStop string) (departures []model.Departure, err error) - GetStops() (trainStops []model.Stop, err error) + GetDepartures(stop string) (departures []model.Departure, err error) + GetStops() (stops []model.Stop, err error) } type NavitiaClient struct { diff --git a/pkg/navitia_api_client/departures.go b/pkg/navitia_api_client/departures.go index 1932767..969a88e 100644 --- a/pkg/navitia_api_client/departures.go +++ b/pkg/navitia_api_client/departures.go @@ -45,8 +45,8 @@ type DeparturesResponse struct { } `json:"context"` } -func (c *NavitiaClient) GetDepartures(trainStop string) (departures []model.Departure, err error) { - request := fmt.Sprintf("%s/coverage/sncf/stop_areas/%s/departures", c.baseURL, trainStop) +func (c *NavitiaClient) GetDepartures(stop string) (departures []model.Departure, err error) { + request := fmt.Sprintf("%s/coverage/sncf/stop_areas/%s/departures", c.baseURL, stop) start := time.Now() c.mutex.Lock() defer c.mutex.Unlock() @@ -67,7 +67,7 @@ func (c *NavitiaClient) GetDepartures(trainStop string) (departures []model.Depa if resp.StatusCode == http.StatusOK { var data DeparturesResponse if err = json.NewDecoder(resp.Body).Decode(&data); err != nil { - return nil, newJsonDecodeError("GetDepartures "+trainStop, err) + return nil, newJsonDecodeError("GetDepartures "+stop, err) } // TODO test for no json error // TODO handle pagination @@ -83,7 +83,7 @@ func (c *NavitiaClient) GetDepartures(trainStop string) (departures []model.Depa result: departures, } } else { - err = newApiError(resp.StatusCode, "GetDepartures "+trainStop) + err = newApiError(resp.StatusCode, "GetDepartures "+stop) } return } diff --git a/pkg/navitia_api_client/stops.go b/pkg/navitia_api_client/stops.go index f0cbcf8..2c424b3 100644 --- a/pkg/navitia_api_client/stops.go +++ b/pkg/navitia_api_client/stops.go @@ -31,11 +31,11 @@ type StopsResponse struct { Context interface{} `json:"context"` } -func (c *NavitiaClient) GetStops() (trainStops []model.Stop, err error) { +func (c *NavitiaClient) GetStops() (stops []model.Stop, err error) { return getStopsPage(c, 0) } -func getStopsPage(c *NavitiaClient, i int) (trainStops []model.Stop, err error) { +func getStopsPage(c *NavitiaClient, i int) (stops []model.Stop, err error) { request := fmt.Sprintf("%s/coverage/sncf/stop_areas?count=1000&start_page=%d", c.baseURL, i) req, err := http.NewRequest("GET", request, nil) if err != nil { @@ -53,7 +53,7 @@ func getStopsPage(c *NavitiaClient, i int) (trainStops []model.Stop, err error) } for i := 0; i < len(data.StopAreas); i++ { if data.StopAreas[i].Label != "" { - trainStops = append(trainStops, model.Stop{data.StopAreas[i].ID, data.StopAreas[i].Label}) + stops = append(stops, model.Stop{data.StopAreas[i].ID, data.StopAreas[i].Label}) } } if data.Pagination.ItemsOnPage+data.Pagination.ItemsPerPage*data.Pagination.StartPage < data.Pagination.TotalResult { @@ -61,7 +61,7 @@ func getStopsPage(c *NavitiaClient, i int) (trainStops []model.Stop, err error) if err != nil { return nil, err } - trainStops = append(trainStops, tss...) + stops = append(stops, tss...) } } else { err = newApiError(resp.StatusCode, "GetStops") diff --git a/pkg/navitia_api_client/stops_test.go b/pkg/navitia_api_client/stops_test.go index 0b94765..c3a91f2 100644 --- a/pkg/navitia_api_client/stops_test.go +++ b/pkg/navitia_api_client/stops_test.go @@ -72,13 +72,13 @@ func TestGetStops(t *testing.T) { // normal working request client, ts = newTestClientFromFilename(t, "test_data/4-train-stops.json") defer ts.Close() - trainStops, err := client.GetStops() + stops, err := client.GetStops() if err != nil { t.Fatalf("could not get train stops : %s", err) } // 4 records but one is empty (navitia api quirk) - if len(trainStops) != 3 { - t.Fatalf("did not decode train stops properly, got %d train stops when expected 4", len(trainStops)) + if len(stops) != 3 { + t.Fatalf("did not decode train stops properly, got %d train stops when expected 4", len(stops)) } // normal request in multiple pages client, ts = newTestClientFromFilenames(t, []testClientCase{ @@ -87,13 +87,13 @@ func TestGetStops(t *testing.T) { testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=2", "test_data/4-train-stops-page-2.json"}, }) defer ts.Close() - trainStops, err = client.GetStops() + stops, err = client.GetStops() if err != nil { t.Fatalf("could not get train stops : %+v", err) } // 12 records but one is empty (navitia api quirk) - if len(trainStops) != 11 { - t.Fatalf("did not decode train stops properly, got %d train stops when expected 4", len(trainStops)) + if len(stops) != 11 { + t.Fatalf("did not decode train stops properly, got %d train stops when expected 4", len(stops)) } // failing request in multiple pages with last one missing client, ts = newTestClientFromFilenames(t, []testClientCase{ @@ -101,8 +101,8 @@ func TestGetStops(t *testing.T) { testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=1", "test_data/4-train-stops-page-1.json"}, }) defer ts.Close() - trainStops, err = client.GetStops() + stops, err = client.GetStops() if err == nil { - t.Fatalf("should not be able to get train stops : %+v", trainStops) + t.Fatalf("should not be able to get train stops : %+v", stops) } } |