Add depot, attendant, jetfire, optimus, ota services with kustomize overlays
This commit is contained in:
72
services/ota_update_go/handlers/guest_token_test.go
Normal file
72
services/ota_update_go/handlers/guest_token_test.go
Normal file
@@ -0,0 +1,72 @@
|
||||
package handlers_test
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/pkg/httpclient/tester"
|
||||
"github.com/fiskerinc/cloud-services/pkg/redis"
|
||||
th "github.com/fiskerinc/cloud-services/pkg/testhelper"
|
||||
"github.com/pkg/errors"
|
||||
"otaupdate/handlers"
|
||||
)
|
||||
|
||||
var someErr = errors.New("some err")
|
||||
|
||||
func TestHandleDashboardToken(t *testing.T) {
|
||||
tests := map[string]struct {
|
||||
mockGetAccessToken func(r redis.Client) (string, error)
|
||||
mockGetGuestToken func(r redis.Client, accToken string) (string, error)
|
||||
http tester.HttpTestCase
|
||||
}{
|
||||
"success": {
|
||||
mockGetAccessToken: successGetAccessToken,
|
||||
mockGetGuestToken: successGetGuestToken,
|
||||
http: tester.HttpTestCase{
|
||||
Request: th.MakeTestRequest(http.MethodGet, "", nil),
|
||||
ExpectedStatus: http.StatusOK,
|
||||
ExpectedResponse: `{"token":"valid_token"}`,
|
||||
},
|
||||
},
|
||||
"fail_get_access": {
|
||||
mockGetAccessToken: failGetAccessToken,
|
||||
http: tester.HttpTestCase{
|
||||
Request: th.MakeTestRequest(http.MethodGet, "", nil),
|
||||
ExpectedStatus: http.StatusServiceUnavailable,
|
||||
ExpectedResponse: `{"message":"some err","error":"Service Unavailable"}`,
|
||||
},
|
||||
},
|
||||
"fail_get_guest": {
|
||||
mockGetAccessToken: successGetAccessToken,
|
||||
mockGetGuestToken: failGetGuestToken,
|
||||
http: tester.HttpTestCase{
|
||||
Request: th.MakeTestRequest(http.MethodGet, "", nil),
|
||||
ExpectedStatus: http.StatusServiceUnavailable,
|
||||
ExpectedResponse: `{"message":"some err","error":"Service Unavailable"}`,
|
||||
},
|
||||
},
|
||||
}
|
||||
for name, tt := range tests {
|
||||
t.Run(name, func(t *testing.T) {
|
||||
handlers.SetGetAccessTokenFunc(tt.mockGetAccessToken)
|
||||
handlers.SetGetGuestTokenFunc(tt.mockGetGuestToken)
|
||||
w := tt.http.Test(handlers.HandleDashboardToken)
|
||||
|
||||
tt.http.ValidateHttp(t, name, w)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func successGetAccessToken(r redis.Client) (string, error) {
|
||||
return "", nil
|
||||
}
|
||||
func failGetAccessToken(r redis.Client) (string, error) {
|
||||
return "", someErr
|
||||
}
|
||||
|
||||
func successGetGuestToken(r redis.Client, accToken string) (string, error) {
|
||||
return "valid_token", nil
|
||||
}
|
||||
func failGetGuestToken(r redis.Client, accToken string) (string, error) {
|
||||
return "", someErr
|
||||
}
|
||||
Reference in New Issue
Block a user