Files
cloud-services/pkg/cache/verify_test.go

56 lines
1.5 KiB
Go

package cache_test
import (
"testing"
"fiskerinc.com/modules/cache"
"fiskerinc.com/modules/common"
"fiskerinc.com/modules/db/queries/mocks"
"fiskerinc.com/modules/redis"
"fiskerinc.com/modules/redis/tester"
"fiskerinc.com/modules/testhelper"
redigo "github.com/gomodule/redigo/redis"
)
type mockRedisCacheDriverToCars struct {
redis.Connection
}
func (c *mockRedisCacheDriverToCars) Execute(command ...interface{}) (interface{}, error) {
return []byte("1"), nil
}
type mockRedisEmptyCacheDriverToCars struct {
redis.Connection
}
func (c *mockRedisEmptyCacheDriverToCars) Execute(command ...interface{}) (interface{}, error) {
return nil, redigo.ErrNil
}
func (c *mockRedisEmptyCacheDriverToCars) ExecuteBatch(batch *redis.RedisBatchCommands) (interface{}, error) {
return nil, nil
}
func TestVerifyCarToDriver(t *testing.T) {
setupRedisMock()
mockDB := &mocks.MockCars{
SelectCarsForDrivers: []common.CarToDriver{{}},
}
mockRedis = &mockRedisCacheDriverToCars{}
redisPool := tester.NewMockClientPool(mockRedis)
_, err := cache.VerifyCarToDriver(redisPool, mockDB, "VALID_VIN", "VALID_ID")
if err != nil {
t.Errorf(testhelper.TestErrorTemplate, "TestRetrieveAndCacheDriverIDs", nil, err)
}
mockRedis = &mockRedisEmptyCacheDriverToCars{}
redisPool = tester.NewMockClientPool(mockRedis)
_, err = cache.VerifyCarToDriver(redisPool, mockDB, "VALID_VIN", "VALID_ID")
if err != nil {
t.Errorf(testhelper.TestErrorTemplate, "TestRetrieveAndCacheDriverIDs", nil, err)
}
}