Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
179
pkg/db/queries/mocks/carupdates.go
Normal file
179
pkg/db/queries/mocks/carupdates.go
Normal 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{}
|
||||
Reference in New Issue
Block a user