Add depot, attendant, jetfire, optimus, ota services with kustomize overlays

This commit is contained in:
Chris Rai
2026-01-31 15:35:07 -05:00
parent a0ec642ca1
commit 9a5cb2f547
404 changed files with 38817 additions and 16 deletions

View File

@@ -0,0 +1,76 @@
package handlers_test
import (
"bytes"
"context"
"net/http"
"net/http/httptest"
"otaupdate/handlers"
"otaupdate/services"
"testing"
"github.com/fiskerinc/cloud-services/pkg/clickhouse"
"github.com/julienschmidt/httprouter"
"github.com/stretchr/testify/assert"
)
var chExpectedResult = []handlers.ChGpsRow{
{"1G1FP87S1GN000445", 33.901499, -118.379155},
{"1G1FP87S1GN000445", 33.101599, -118.189155},
{"1G1FP87S1GN000446", 50.231084, 11.344868},
{"1G1FP87S1GN000446", 50.141084, 11.145868},
}
var expectedPathBody string = "" +
"{" +
`"1G1FP87S1GN000445":[[33.901499,-118.379155],[33.101599,-118.189155]],` +
`"1G1FP87S1GN000446":[[50.231084,11.344868],[50.141084,11.145868]]` +
"}"
func TestHandleVehiclePathPost(t *testing.T) {
validQuery := "?lookback_hours=24"
validBody := "{\"vins\":[\"1G1FP87S1GN000445\", \"1G1FP87S1GN000446\"]}"
validVins := `["1G1FP87S1GN000445","1G1FP87S1GN000446"]`
tests := map[string]struct {
q string
b string
conn clickhouse.ConnInterface
expStatus int
expBody string
}{
"correct": {
q: validQuery,
b: validBody,
conn: &clickhouse.MockConn{ExpectedResult: chExpectedResult},
expStatus: http.StatusOK,
expBody: expectedPathBody,
},
"missing_vins": {
q: "",
b: "",
expStatus: http.StatusBadRequest,
expBody: `{"message":"VINs required","error":"Bad Request"}`,
},
}
for tname, tt := range tests {
t.Run(tname, func(t *testing.T) {
services.SetClickhouseConn(tt.conn)
w := httptest.NewRecorder()
p := httprouter.Params{
{Key: "vins", Value: validVins},
}
ctx := context.WithValue(context.Background(), httprouter.ParamsKey, p)
reader := bytes.NewReader([]byte(tt.b))
r := httptest.NewRequest(http.MethodGet, "http://example.com/ota_update/vehicle_paths"+tt.q, reader).
WithContext(ctx)
handlers.HandleVehiclePathsPost(w, r)
assert.Equal(t, tt.expStatus, w.Code)
assert.Equal(t, tt.expBody, w.Body.String())
})
}
}