Add depot, attendant, jetfire, optimus, ota services with kustomize overlays
This commit is contained in:
78
services/depot/handlers/trex_init_test.go
Normal file
78
services/depot/handlers/trex_init_test.go
Normal file
@@ -0,0 +1,78 @@
|
||||
package handlers_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/services/depot/handlers"
|
||||
"github.com/fiskerinc/cloud-services/services/depot/services"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/pkg/common"
|
||||
"github.com/fiskerinc/cloud-services/pkg/db/queries/mocks"
|
||||
"github.com/fiskerinc/cloud-services/pkg/grpc/sms"
|
||||
"github.com/fiskerinc/cloud-services/pkg/mongo"
|
||||
"github.com/fiskerinc/cloud-services/pkg/redis"
|
||||
"github.com/fiskerinc/cloud-services/pkg/redis/tester"
|
||||
"github.com/fiskerinc/cloud-services/pkg/testhelper"
|
||||
"github.com/fiskerinc/cloud-services/pkg/userconsent"
|
||||
)
|
||||
|
||||
func TestTrexInit(t *testing.T) {
|
||||
rMock := tester.MockRedis{}
|
||||
rMock.Reset()
|
||||
|
||||
mockUserConsent := userconsent.UserConsentServiceMock{}
|
||||
userconsent.SetUserConsentService(&mockUserConsent)
|
||||
|
||||
mockCert := CertServiceMock{}
|
||||
services.SetCertService(&mockCert)
|
||||
|
||||
services.SetRedisClientPool(tester.NewMockClientPool(&rMock))
|
||||
id := "FISKER123"
|
||||
|
||||
setupDBMock()
|
||||
services.SetMongoClient(mongo.NewMockClient())
|
||||
|
||||
mockCertificates := mocks.MockCertificates{}
|
||||
mockCertificates.MockCertificate = &common.Certificate{
|
||||
PublicKey: "test",
|
||||
SerialNumber: "",
|
||||
Type: common.CertTBOX,
|
||||
}
|
||||
services.GetDB().SetCertificates(&mockCertificates)
|
||||
|
||||
mocksms := sms.NewSMSMockSuccess()
|
||||
services.SetSmsClient(&mocksms)
|
||||
|
||||
err := handlers.TRexInit(
|
||||
id,
|
||||
map[string]string{"version": "1.2.3", "iccid": "123456789123456789123456789", "ip": "172.20.0.17:49850"})
|
||||
if err != nil {
|
||||
t.Errorf(testhelper.TestErrorTemplate, "TestTRexInit", nil, err)
|
||||
}
|
||||
|
||||
rez := rMock.SetValues[redis.CarStateHashKey(id)]
|
||||
if rez.Value.(string) != `{"ip":"172.20.0.17","trex_version":"1.2.3"}` {
|
||||
t.Errorf(testhelper.TestErrorTemplate, "TestTRexInit_wrongVersion", `{"ip":"172.20.0.17","trex_version":"1.2.3"}`, rez.Value)
|
||||
}
|
||||
|
||||
rez = rMock.SetValues[redis.CarConfigKey(id)]
|
||||
if rez.Value.(string) != `{"canbus":{"enabled":false,"data_logger_enabled":false,"dtc_enabled":false},"log_level":"trace","log":{"matches":[{"channel":"cmd","level":"trace"}]}}` {
|
||||
t.Errorf(testhelper.TestErrorTemplate, "TestTRexInit_wrongVersion", `{"canbus":{"enabled":false,"data_logger_enabled":false,"dtc_enabled":false},"log_level":"trace"}`, rez.Value)
|
||||
}
|
||||
}
|
||||
|
||||
type CertServiceMock struct{}
|
||||
|
||||
func (csm *CertServiceMock) CheckCertificateNeedsRenewal(vin string, certType string) (bool, error) {
|
||||
return certType == common.CertTBOX, nil
|
||||
}
|
||||
|
||||
func (csm *CertServiceMock) RenewCertificate(vin string, certType string) (*common.Certificate, error) {
|
||||
cert := common.Certificate{
|
||||
PublicKey: "test",
|
||||
SerialNumber: "",
|
||||
Type: common.CertTBOX,
|
||||
}
|
||||
|
||||
return &cert, nil
|
||||
}
|
||||
Reference in New Issue
Block a user