Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
204
pkg/common/mobile_tx_test.go
Normal file
204
pkg/common/mobile_tx_test.go
Normal file
@@ -0,0 +1,204 @@
|
||||
package common_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"fiskerinc.com/modules/common"
|
||||
"fiskerinc.com/modules/common/dbbasemodel"
|
||||
"fiskerinc.com/modules/testhelper"
|
||||
"github.com/google/uuid"
|
||||
"fiskerinc.com/modules/utils/elptr"
|
||||
)
|
||||
|
||||
func TestMobileTXMessages(t *testing.T) {
|
||||
schema := "file://" + testhelper.GetSchemaDirPath() + "/mobile/TXMessage.json"
|
||||
now := time.Now()
|
||||
|
||||
tests := []testhelper.SchemaTest{
|
||||
{
|
||||
Name: "TestTRexRemoteCommand",
|
||||
Object: common.Message{
|
||||
Handler: "remote_command",
|
||||
Data: common.RemoteCommandRequest{
|
||||
VIN: "1F15K3R45N1234567",
|
||||
RemoteCommandSource: common.RemoteCommandSource{
|
||||
Command: "temp_cabin",
|
||||
Data: elptr.ElPtr("20"),
|
||||
Start: elptr.ElPtr(time.Date(
|
||||
2020, 1, 1,
|
||||
0, 0, 0, 0, time.UTC)),
|
||||
End: elptr.ElPtr(time.Date(
|
||||
2020, 1, 1,
|
||||
0, 0, 0, 0, time.UTC)),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileCarLocationsRequest",
|
||||
Object: common.Message{
|
||||
Handler: "car_locations",
|
||||
Data: nil,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileDigitalTwinRequest",
|
||||
Object: common.Message{
|
||||
Handler: "digital_twin",
|
||||
Data: common.DigitalTwinRequest{
|
||||
VIN: "1F15K3R45N1234567",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileMapDestinationRequest",
|
||||
Object: common.Message{
|
||||
Handler: "map_destination",
|
||||
Data: common.MapDestinationRequest{
|
||||
VIN: "1F15K3R45N1234567",
|
||||
Name: "Fisker Inc",
|
||||
Address: &common.TomTomAddress{
|
||||
StreetNumber: "3030",
|
||||
StreetName: "17th St",
|
||||
LocalName: "San Francisco",
|
||||
PostalCode: "94110",
|
||||
CountrySubdivisionName: "California",
|
||||
CountryCodeIso3: "USA",
|
||||
},
|
||||
Coordinates: common.MapCoordinates{
|
||||
Latitude: 37.0,
|
||||
Longitude: -122.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileMapRouteRequest",
|
||||
Object: common.Message{
|
||||
Handler: "map_route",
|
||||
Data: common.MapRouteRequest{
|
||||
VIN: "1F15K3R45N1234567",
|
||||
Waypoints: []common.MapWaypoint{
|
||||
{
|
||||
Type: "Restaurant",
|
||||
Title: "Test Restaurant",
|
||||
MapCoordinates: common.MapCoordinates{
|
||||
Latitude: 111,
|
||||
Longitude: 222,
|
||||
},
|
||||
},
|
||||
{
|
||||
Type: "Park",
|
||||
Title: "Test Park",
|
||||
MapCoordinates: common.MapCoordinates{
|
||||
Latitude: 333.333,
|
||||
Longitude: 444.444,
|
||||
},
|
||||
},
|
||||
},
|
||||
Route: []common.MapCoordinates{
|
||||
{
|
||||
Latitude: 123,
|
||||
Longitude: 456,
|
||||
},
|
||||
{
|
||||
Latitude: 999,
|
||||
Longitude: 888,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileProfilesRequest",
|
||||
Object: common.Message{
|
||||
Handler: "profiles",
|
||||
Data: nil,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileSettingsUpdate",
|
||||
Object: common.Message{
|
||||
Handler: "settings_update",
|
||||
Data: common.MobileSettingsUpdate{
|
||||
VIN: "1F15K3R45N1234567",
|
||||
Settings: []common.CarSetting{{
|
||||
Name: "TESTSETTING",
|
||||
Value: "TESTVALUE",
|
||||
Type: "string",
|
||||
DBModelBase: dbbasemodel.DBModelBase{
|
||||
UpdatedAt: &now,
|
||||
},
|
||||
}},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestStoreInventoryRequest",
|
||||
Object: common.Message{
|
||||
Handler: "store_inventory",
|
||||
Data: nil,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobileStorePurchase",
|
||||
Object: common.Message{
|
||||
Handler: "store_purchase",
|
||||
Data: common.StorePurchases{
|
||||
VIN: "1F15K3R45N1234567",
|
||||
Purchases: []common.StorePurchaseItem{{
|
||||
ID: uuid.New(),
|
||||
}},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestHMIPOIs",
|
||||
Object: common.Message{
|
||||
Handler: "user_pois_get",
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestHMIPOICreate",
|
||||
Object: common.Message{
|
||||
Handler: "user_poi_create",
|
||||
Data: common.PointOfInterest{
|
||||
Name: "TestPOI",
|
||||
Location: common.POILocation{
|
||||
Latitude: 1.23,
|
||||
Longitude: 4.56,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobilePOIEdit",
|
||||
Object: common.Message{
|
||||
Handler: "user_poi_edit",
|
||||
Data: common.MobilePOIEditMessage{
|
||||
OldName: "TestPOI",
|
||||
UserPOI: common.PointOfInterest{
|
||||
Name: "TestPOI",
|
||||
Location: common.POILocation{
|
||||
Latitude: 8.88,
|
||||
Longitude: 9.99,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "TestMobilePOIDelete",
|
||||
Object: common.Message{
|
||||
Handler: "user_poi_delete",
|
||||
Data: common.MobilePOIDeleteMessage{
|
||||
Name: "TestPOI",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
testhelper.NewSchemaTestHelper(t, schema).
|
||||
RunSchemaTests(tests)
|
||||
}
|
||||
Reference in New Issue
Block a user