aboutsummaryrefslogtreecommitdiff
path: root/pkg/navitia_api_client/train_stops_test.go
diff options
context:
space:
mode:
authorJulien Dessaux2021-09-08 15:23:50 +0200
committerJulien Dessaux2021-09-08 16:12:01 +0200
commit3c5e31b25a53268b413bc1e511b7486a2a1c80b9 (patch)
treef6fe9a82eab8abf7a01f84bce954edc7462f87a2 /pkg/navitia_api_client/train_stops_test.go
parentRemoved useless user model code (diff)
downloadtrains-3c5e31b25a53268b413bc1e511b7486a2a1c80b9.tar.gz
trains-3c5e31b25a53268b413bc1e511b7486a2a1c80b9.tar.bz2
trains-3c5e31b25a53268b413bc1e511b7486a2a1c80b9.zip
Renamed TrainStop to simply Stop
Diffstat (limited to 'pkg/navitia_api_client/train_stops_test.go')
-rw-r--r--pkg/navitia_api_client/train_stops_test.go108
1 files changed, 0 insertions, 108 deletions
diff --git a/pkg/navitia_api_client/train_stops_test.go b/pkg/navitia_api_client/train_stops_test.go
deleted file mode 100644
index 9e1c982..0000000
--- a/pkg/navitia_api_client/train_stops_test.go
+++ /dev/null
@@ -1,108 +0,0 @@
-package navitia_api_client
-
-import (
- "net/http"
- "net/http/httptest"
- "reflect"
- "testing"
-
- "git.adyxax.org/adyxax/trains/pkg/model"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
-)
-
-func TestGetTrainStops(t *testing.T) {
- // Simple Test cases
- testCases := []struct {
- name string
- inputNewCLient string
- expected []model.TrainStop
- expectedError interface{}
- }{
- {"invalid characters in token should fail", "}", nil, &HttpClientError{}},
- {"unreachable server should fail", "https://", nil, &HttpClientError{}},
- }
- for _, tc := range testCases {
- t.Run(tc.name, func(t *testing.T) {
- client := NewClient(tc.inputNewCLient)
- valid, err := client.GetTrainStops()
- if tc.expectedError != nil {
- require.Error(t, err)
- assert.Equalf(t, reflect.TypeOf(err), reflect.TypeOf(tc.expectedError), "Invalid error type. Got %s but expected %s", reflect.TypeOf(err), reflect.TypeOf(tc.expectedError))
- assert.Equal(t, tc.expected, valid)
- } else {
- require.NoError(t, err)
- assert.Equal(t, tc.expected, valid)
- }
- })
- }
- // Test cases with a filename
- testCasesFilename := []struct {
- name string
- inputFilename string
- expected []model.TrainStop
- expectedError interface{}
- }{
- {"invalid json should fail", "test_data/invalid.json", nil, &JsonDecodeError{}},
- }
- for _, tc := range testCasesFilename {
- t.Run(tc.name, func(t *testing.T) {
- client, ts := newTestClientFromFilename(t, tc.inputFilename)
- defer ts.Close()
- valid, err := client.GetTrainStops()
- if tc.expectedError != nil {
- require.Error(t, err)
- assert.Equalf(t, reflect.TypeOf(err), reflect.TypeOf(tc.expectedError), "Invalid error type. Got %s but expected %s", reflect.TypeOf(err), reflect.TypeOf(tc.expectedError))
- assert.Equal(t, tc.expected, valid)
- } else {
- require.NoError(t, err)
- assert.Equal(t, tc.expected, valid)
- }
- })
- }
- // http error
- ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- w.WriteHeader(http.StatusNotFound)
- }))
- client := newTestClient(ts)
- _, err := client.GetTrainStops()
- if err == nil {
- t.Fatalf("404 should raise an error")
- }
- // normal working request
- client, ts = newTestClientFromFilename(t, "test_data/4-train-stops.json")
- defer ts.Close()
- trainStops, err := client.GetTrainStops()
- 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))
- }
- // normal request in multiple pages
- client, ts = newTestClientFromFilenames(t, []testClientCase{
- testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=0", "test_data/4-train-stops-page-0.json"},
- testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=1", "test_data/4-train-stops-page-1.json"},
- testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=2", "test_data/4-train-stops-page-2.json"},
- })
- defer ts.Close()
- trainStops, err = client.GetTrainStops()
- 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))
- }
- // failing request in multiple pages with last one missing
- client, ts = newTestClientFromFilenames(t, []testClientCase{
- testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=0", "test_data/4-train-stops-page-0.json"},
- testClientCase{"/coverage/sncf/stop_areas?count=1000&start_page=1", "test_data/4-train-stops-page-1.json"},
- })
- defer ts.Close()
- trainStops, err = client.GetTrainStops()
- if err == nil {
- t.Fatalf("should not be able to get train stops : %+v", trainStops)
- }
-}