61 lines
1.6 KiB
Go
61 lines
1.6 KiB
Go
package controllers_test
|
|
|
|
import (
|
|
"github.com/fiskerinc/cloud-services/services/attendant/controllers"
|
|
"encoding/json"
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestParsing(t *testing.T) {
|
|
ecc := []byte(`{"ecu":"ECC","dtc":1719200,"status":9,"snapshot":"AQTv9ucIARIKNO/3AADv+AAAAADv+TLI"}`)
|
|
icc := []byte(`{"ecu":"ICC","dtc":14302599,"status":9,"snapshot":"AQUFAAHv+AAAAADv+S2W7/cAAO/2B+cIChAB"}`)
|
|
gw := []byte(`{"ecu":"GW","dtc":10718486,"status":8,"snapshot":"AQTv+QLA7/cAAO/2CAcHFAMs7/gAAAAA"}`)
|
|
mcu := []byte(`{"ecu":"MCU","dtc":14123795,"status":47,"snapshot":"AQTv9ggHCRcBD+/3AADv+AAAAADv+TLI"}`)
|
|
|
|
check := func(ecu []byte) {
|
|
var entry controllers.DTCEntry
|
|
err := json.Unmarshal(ecu, &entry)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
entry.ParseSnapshot()
|
|
if entry.Mileage != 0 {
|
|
t.Errorf("Incorrect Mileage %d", entry.Mileage)
|
|
}
|
|
|
|
fmt.Println(entry.Timestamp.Unix())
|
|
switch entry.ECU {
|
|
case "ECC":
|
|
if entry.Timestamp.Unix() != 8730871852 {
|
|
t.Errorf("Incorrect Timestamp %d", entry.Timestamp.Unix())
|
|
}
|
|
if entry.Voltage != 13 {
|
|
t.Errorf("Incorrect Voltage %d", entry.Voltage)
|
|
}
|
|
case "ICC":
|
|
if entry.Timestamp.Unix() != 1670580961 {
|
|
t.Errorf("Incorrect Timestamp %d", entry.Timestamp.Unix())
|
|
}
|
|
if entry.Voltage != 11 {
|
|
t.Errorf("Incorrect Voltage %d", entry.Voltage)
|
|
}
|
|
case "GW":
|
|
if entry.Timestamp.Unix() != 1691525024 {
|
|
t.Errorf("Incorrect Timestamp %d", entry.Timestamp.Unix())
|
|
}
|
|
case "MCU":
|
|
if entry.Timestamp.Unix() != 1691708475 {
|
|
t.Errorf("Incorrect Timestamp %d", entry.Timestamp.Unix())
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
check(ecc)
|
|
check(icc)
|
|
check(gw)
|
|
check(mcu)
|
|
|
|
}
|