diff options
author | Julien Dessaux | 2021-09-08 15:23:50 +0200 |
---|---|---|
committer | Julien Dessaux | 2021-09-08 16:12:01 +0200 |
commit | 3c5e31b25a53268b413bc1e511b7486a2a1c80b9 (patch) | |
tree | f6fe9a82eab8abf7a01f84bce954edc7462f87a2 /pkg/navitia_api_client/train_stops_test.go | |
parent | Removed useless user model code (diff) | |
download | trains-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.go | 108 |
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) - } -} |