Add depot, attendant, jetfire, optimus, ota services with kustomize overlays
This commit is contained in:
113
services/attendant/handlers/mock_test.go
Normal file
113
services/attendant/handlers/mock_test.go
Normal file
@@ -0,0 +1,113 @@
|
||||
package handlers_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"time"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/services/attendant/services"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/pkg/common"
|
||||
"github.com/fiskerinc/cloud-services/pkg/db/queries/mocks"
|
||||
"github.com/fiskerinc/cloud-services/pkg/redis"
|
||||
"github.com/fiskerinc/cloud-services/pkg/redis/tester"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
var mockRedis *redis.Connection
|
||||
var mockDB *services.DB
|
||||
var testDateTime time.Time = time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC)
|
||||
|
||||
func setupRedisMock() {
|
||||
redis.MockRedisConnection()
|
||||
mockRedis = &redis.Connection{}
|
||||
}
|
||||
|
||||
func setupDBMock() {
|
||||
db := services.DB{}
|
||||
db.SetCarUpdates(&mocks.MockCarUpdates{
|
||||
SelectCarUpdateResponse: &common.CarUpdate{
|
||||
ID: 1,
|
||||
VIN: "FISKER123",
|
||||
UpdateManifestID: 2,
|
||||
UpdateManifest: &common.UpdateManifest{
|
||||
ID: 2,
|
||||
Name: "TEST_PACKAGE",
|
||||
Version: "1.0.0",
|
||||
ReleaseNotes: "http://releasenotes.com",
|
||||
Country: "US",
|
||||
PowerTrain: "MD23",
|
||||
Restraint: "None",
|
||||
Model: "Ocean",
|
||||
Trim: "Sport",
|
||||
Year: 2022,
|
||||
BodyType: "truck",
|
||||
},
|
||||
},
|
||||
})
|
||||
db.SetECU(&mocks.MockEcuDtc{})
|
||||
db.SetCars(&mocks.MockCars{
|
||||
SelectResponse: &common.Car{},
|
||||
})
|
||||
carVersionLogMock := mocks.MockCarVersionsLog{MockLogVersionChange: func(log *common.CarVersionLogs) (orm.Result, error) {
|
||||
return nil, nil
|
||||
}}
|
||||
db.SetCarVersionsLog(&carVersionLogMock)
|
||||
mockDB = &db
|
||||
}
|
||||
|
||||
type mockRedisCache struct {
|
||||
redis.Connection
|
||||
}
|
||||
|
||||
func (c *mockRedisCache) GetSet(id string, data interface{}) error {
|
||||
driverIDs := []string{"valid-cognito-id-1", "valid-cognito-id-2"}
|
||||
|
||||
dataBytes, err := json.Marshal(driverIDs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = json.Unmarshal(dataBytes, data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewRedisMock() *tester.MockRedis {
|
||||
redis.MockRedisConnection()
|
||||
return &tester.MockRedis{}
|
||||
}
|
||||
|
||||
type AttendentRouteTestCase struct {
|
||||
Name string
|
||||
SelectCarUpdate *common.CarUpdate
|
||||
SelectCarUpdates []common.CarUpdate
|
||||
CarUpdateError error
|
||||
SelectCarToDrivers []common.CarToDriver
|
||||
CarToDriversError error
|
||||
MockLoadManifest *common.UpdateManifest
|
||||
MockFileKeysSelect []common.FileKey
|
||||
MockFileKeysError error
|
||||
MockEccKeysSelect []common.ECCKeys
|
||||
tester.RedisTestCase
|
||||
}
|
||||
|
||||
func (at *AttendentRouteTestCase) SetupDB(mockCars *mocks.MockCars, mockCarUpdates *mocks.MockCarUpdates, test *AttendentRouteTestCase) {
|
||||
if test == nil {
|
||||
return
|
||||
}
|
||||
|
||||
if mockCars != nil {
|
||||
mockCars.SelectCarsForDrivers = test.SelectCarToDrivers
|
||||
mockCars.Error = test.CarToDriversError
|
||||
}
|
||||
|
||||
if mockCarUpdates != nil {
|
||||
mockCarUpdates.SelectCarUpdateResponse = test.SelectCarUpdate
|
||||
mockCarUpdates.SelectCarUpdatesResponse = test.SelectCarUpdates
|
||||
mockCarUpdates.LoadManifest = test.MockLoadManifest
|
||||
mockCarUpdates.Error = test.CarUpdateError
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user