Add depot, attendant, jetfire, optimus, ota services with kustomize overlays
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
package handlers_test
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"otaupdate/handlers"
|
||||
"otaupdate/services"
|
||||
"testing"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/pkg/common"
|
||||
"github.com/fiskerinc/cloud-services/pkg/db/queries/mocks"
|
||||
th "github.com/fiskerinc/cloud-services/pkg/testhelper"
|
||||
"github.com/fiskerinc/cloud-services/pkg/utils/elptr"
|
||||
)
|
||||
|
||||
func TestUpdateManifestUpdate(t *testing.T) {
|
||||
services.GetDB().SetUpdateManifests(&mocks.MockUpdateManifests{})
|
||||
|
||||
tests := []th.BasicHttpTest{
|
||||
{
|
||||
Name: "No id",
|
||||
Request: th.MakeTestRequest(http.MethodGet, "http://example.com/manifest", nil),
|
||||
ExpectedStatus: http.StatusBadRequest,
|
||||
ExpectedResponse: `{"message":"id required","error":"Bad Request"}`,
|
||||
},
|
||||
{
|
||||
Name: "Zero id",
|
||||
Request: th.MakeTestRequest(http.MethodGet, "http://example.com/manifest?id=0", nil),
|
||||
ExpectedStatus: http.StatusBadRequest,
|
||||
ExpectedResponse: `{"message":"id required","error":"Bad Request"}`,
|
||||
},
|
||||
{
|
||||
Name: "Validation error, empty manifest",
|
||||
Request: th.MakeTestRequest(
|
||||
http.MethodGet,
|
||||
"http://example.com/manifest?id=1",
|
||||
common.UpdateManifestUpdateRequest{}),
|
||||
ExpectedStatus: http.StatusBadRequest,
|
||||
ExpectedResponse: `{"message":"Name required. Type required","error":"Bad Request"}`,
|
||||
},
|
||||
{
|
||||
Name: "Success",
|
||||
Request: th.MakeTestRequest(
|
||||
http.MethodGet,
|
||||
"http://example.com/manifest?id=1",
|
||||
common.UpdateManifestUpdateRequest{
|
||||
Name: "new_name",
|
||||
Type: "standard",
|
||||
Country: "US",
|
||||
PowerTrain: "None",
|
||||
Restraint: "MD12",
|
||||
Model: "Ocean",
|
||||
Trim: "Sport",
|
||||
Year: 2022,
|
||||
BodyType: "trailer",
|
||||
UpdateDuration: 30,
|
||||
MaxAttempts: 5,
|
||||
ReleaseNotes: "https://fiskerinc.com",
|
||||
}),
|
||||
ExpectedStatus: http.StatusOK,
|
||||
ExpectedResponse: `{"id":1,"name":"new_name","release_notes":"https://fiskerinc.com","rollback":false,"type":"standard","country":"US","powertrain":"None","restraint":"MD12","model":"Ocean","trim":"Sport","year":2022,"body_type":"trailer","update_duration":30,"max_attempts":5}`,
|
||||
},
|
||||
{
|
||||
Name: "Active",
|
||||
Request: th.MakeTestRequest(
|
||||
http.MethodGet,
|
||||
"http://example.com/manifest?id=1",
|
||||
common.UpdateManifestUpdateRequest{Name: "new_name", Type: "standard", Active: elptr.ElPtr(false)}),
|
||||
ExpectedStatus: http.StatusOK,
|
||||
ExpectedResponse: `{"id":1,"name":"new_name","rollback":false,"type":"standard","active":false}`,
|
||||
},
|
||||
}
|
||||
|
||||
th.RunBasicHttpTests(t, tests, handlers.HandleUpdateManifestUpdate)
|
||||
}
|
||||
Reference in New Issue
Block a user