64 lines
1.3 KiB
Go
64 lines
1.3 KiB
Go
package charger
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/evcc-io/evcc/api"
|
|
)
|
|
|
|
func TestEvseWifi(t *testing.T) {
|
|
ts := httptest.NewTestServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
_, _ = fmt.Fprintln(w, `{"list":[{"useMeter":true, "alwaysActive":true}]}`)
|
|
}))
|
|
ts.Start()
|
|
|
|
wb, err := NewEVSEWifiFromConfig(map[string]any{
|
|
"uri": ts.URL,
|
|
"meter": map[string]any{
|
|
"power": true,
|
|
"energy": true,
|
|
"currents": true,
|
|
"voltages": true,
|
|
},
|
|
})
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
if _, ok := api.Cap[api.Meter](wb); !ok {
|
|
t.Error("missing api.Meter")
|
|
}
|
|
|
|
if _, ok := api.Cap[api.MeterEnergy](wb); !ok {
|
|
t.Error("missing api.MeterEnergy")
|
|
}
|
|
|
|
if _, ok := api.Cap[api.PhaseCurrents](wb); !ok {
|
|
t.Error("missing api.PhaseCurrents")
|
|
}
|
|
|
|
if _, ok := api.Cap[api.PhaseVoltages](wb); !ok {
|
|
t.Error("missing api.PhaseVoltages")
|
|
}
|
|
}
|
|
|
|
func TestEvseWifiEx(t *testing.T) {
|
|
ts := httptest.NewTestServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
_, _ = fmt.Fprintln(w, `{"list":[{"actualCurrentMA":600, "alwaysActive":true}]}`)
|
|
}))
|
|
ts.Start()
|
|
|
|
wb, err := NewEVSEWifiFromConfig(map[string]any{
|
|
"uri": ts.URL,
|
|
})
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
if _, ok := api.Cap[api.ChargerEx](wb); !ok {
|
|
t.Error("missing api.ChargerEx")
|
|
}
|
|
}
|