From bb5b7dd3f5490c97e23c392a240face4f911e190 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Tue, 4 May 2021 15:50:49 +0200 Subject: Reworked the navitia_api_client to be mockable --- pkg/navitia_api_client/client.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'pkg/navitia_api_client/client.go') diff --git a/pkg/navitia_api_client/client.go b/pkg/navitia_api_client/client.go index aef8d0e..71b82fe 100644 --- a/pkg/navitia_api_client/client.go +++ b/pkg/navitia_api_client/client.go @@ -5,9 +5,15 @@ import ( "net/http" "sync" "time" + + "git.adyxax.org/adyxax/trains/pkg/model" ) -type Client struct { +type Client interface { + GetDepartures(trainStop string) (departures []model.Departure, err error) +} + +type NavitiaClient struct { baseURL string httpClient *http.Client @@ -20,8 +26,8 @@ type cachedResult struct { result interface{} } -func NewClient(token string) *Client { - return &Client{ +func NewClient(token string) Client { + return &NavitiaClient{ baseURL: fmt.Sprintf("https://%s@api.sncf.com/v1", token), httpClient: &http.Client{ Timeout: time.Minute, -- cgit v1.2.3