Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

View File

@@ -0,0 +1,179 @@
package mocks
import (
"time"
"github.com/go-pg/pg/v10/orm"
"fiskerinc.com/modules/common"
"fiskerinc.com/modules/db/queries"
"fiskerinc.com/modules/validator"
)
type MockCarUpdates struct {
SelectCarUpdateResponse *common.CarUpdate
SelectCarUpdatesResponse []common.CarUpdate
SelectCarUpdateStatusesResponse []common.CarUpdateStatus
HasPendingUpdatesResponse bool
LoadManifest *common.UpdateManifest
PendingUpdateSameAfterSalesUsersResponse PendingUpdatesFromSameAftersaleUserResponse
DBMockHelper
}
func (c *MockCarUpdates) HasPendingUpdatesFromAftersalesUser(manifestID int64, vin string) (updateID int64, pendingUpdateSameUser bool, err error) {
return c.PendingUpdateSameAfterSalesUsersResponse.UpdateID, c.PendingUpdateSameAfterSalesUsersResponse.PendingUpdateSameUser, c.PendingUpdateSameAfterSalesUsersResponse.Err
}
type PendingUpdatesFromSameAftersaleUserResponse struct {
PendingUpdateSameUser bool
UpdateID int64
Err error
}
func (c *MockCarUpdates) SelectByID(id int64) (*common.CarUpdate, error) {
return c.SelectCarUpdateResponse, c.Error
}
func (c *MockCarUpdates) SelectByVIN(vin string) ([]common.CarUpdate, error) {
return c.SelectCarUpdatesResponse, c.Error
}
func (c *MockCarUpdates) SelectMostRecentByVINs(vins []string) ([]common.CarUpdate, error) {
return c.SelectCarUpdatesResponse, c.Error
}
func (c *MockCarUpdates) SelectByManifestID(manifest_id int64) ([]common.CarUpdate, error) {
return c.SelectCarUpdatesResponse, c.Error
}
func (c *MockCarUpdates) SelectOrInsert(update *common.CarUpdate) (bool, error) {
update.ID++
return c.SelectOrInsertResult, c.Error
}
func (c *MockCarUpdates) Select(filter *common.CarUpdate, paging *queries.PageQueryOptions) ([]common.CarUpdate, error) {
c.LastFilter = filter
c.LastPaging = paging
return c.SelectCarUpdatesResponse, c.Error
}
func (c *MockCarUpdates) Delete(update *common.CarUpdate) (orm.Result, error) {
err := validator.ValidateIDField(update.ID)
if err != nil {
return nil, err
}
return c.ORMResponse, c.Error
}
func (c *MockCarUpdates) UpdateStatus(update *common.CarUpdate) (orm.Result, error) {
err := validator.ValidateIDField(update.ID)
if err != nil {
return nil, err
}
update.UpdatedAt = &time.Time{}
return c.ORMResponse, c.Error
}
func (c *MockCarUpdates) Insert(update *common.CarUpdate) (orm.Result, error) {
update.ID++
return c.ORMResponse, c.Error
}
func (c *MockCarUpdates) Load(update *common.CarUpdate) error {
if c.Error != nil {
return c.Error
}
if c.SelectCarUpdateResponse != nil {
update.VIN = c.SelectCarUpdateResponse.VIN
update.UpdateManifestID = c.SelectCarUpdateResponse.UpdateManifestID
}
if c.LoadManifest == nil {
update.UpdateManifest = &common.UpdateManifest{
ID: update.UpdateManifestID,
Name: "Test",
Version: "1.2",
ReleaseNotes: "http://releasenotes.com",
}
} else {
update.UpdateManifest = c.LoadManifest
}
return nil
}
func (c *MockCarUpdates) Count(filter *common.CarUpdate) (int, error) {
return len(c.SelectCarUpdatesResponse), c.Error
}
func (c *MockCarUpdates) GetUpdateStatuses(carupdateid int64, paging *queries.PageQueryOptions) ([]common.CarUpdateStatus, error) {
c.LastPaging = paging
return c.SelectCarUpdateStatusesResponse, c.Error
}
func (c *MockCarUpdates) TruncateRequirementsAwaitForUpdate(carupdateid int64) (orm.Result, error) {
return c.ORMResponse, c.Error
}
func (c *MockCarUpdates) CountUpdateStatuses(carupdateid int64) (int, error) {
return len(c.SelectCarUpdateStatusesResponse), c.Error
}
func (c *MockCarUpdates) GetManifest(carupdateid int64) (*common.UpdateManifest, error) {
if c.LoadManifest == nil {
return nil, c.Error
}
return c.LoadManifest, c.Error
}
func (c *MockCarUpdates) LogStatus(update *common.CarUpdate) (orm.Result, error) {
return c.ORMResponse, c.Error
}
func (c *MockCarUpdates) SetLoadResp(item interface{}) {
if item == nil {
c.SelectCarUpdateResponse = nil
} else {
c.SelectCarUpdateResponse = item.(*common.CarUpdate)
}
}
func (c *MockCarUpdates) SetListResp(list interface{}) {
if list != nil {
c.SelectCarUpdatesResponse = list.([]common.CarUpdate)
} else {
c.SelectCarUpdatesResponse = nil
}
}
func (c *MockCarUpdates) HasPendingUpdates(manifestID int64, vin string) (bool, error) {
return c.HasPendingUpdatesResponse, c.Error
}
var lastStatus string
func (c *MockCarUpdates) UpdateStatusIfNotRepeat(update *common.CarUpdate) (orm.Result, error) {
if update.Status == lastStatus {
return nil, queries.RepeatedStatus
}
lastStatus = update.Status
return nil, nil
}
func (c *MockCarUpdates) InsertAndCreateStatus(update *common.CarUpdate) (orm.Result, error) {
update.ID++
return c.ORMResponse, c.Error
}
func (c *MockCarUpdates) InsertMissingFlashpack(vin string, flashpackVersion string) (err error) {
return nil
}
var _ queries.CarUpdatesInterface = &MockCarUpdates{}