evcc-io/vehicle/toyota/api_test.go
2025-10-30 08:55:52 +01:00

46 lines
1 KiB
Go

//go:build integration
package toyota
import (
"fmt"
"os"
"testing"
"github.com/evcc-io/evcc/util"
"github.com/stretchr/testify/require"
)
func TestAPI(t *testing.T) {
// Skip if no credentials provided
user := os.Getenv("TOYOTA_USER")
password := os.Getenv("TOYOTA_PASSWORD")
if user == "" || password == "" {
t.Skip("TOYOTA_USER or TOYOTA_PASSWORD not set")
}
// Create and login identity
log := util.NewLogger("foo")
identity := NewIdentity(log)
err := identity.Login(user, password)
require.NoError(t, err)
// Create API client
api := NewAPI(log, identity)
// Test Vehicles method
vehicles, err := api.Vehicles()
require.NoError(t, err)
fmt.Printf("Vehicles: %+v\n", vehicles)
require.NotEmpty(t, vehicles, "expected at least one vehicle")
for _, vin := range vehicles {
require.NotEmpty(t, vin, "expected non-empty VIN")
}
// Test Status method for first vehicle
status, err := api.Status(vehicles[0])
require.NoError(t, err)
require.NotNil(t, status)
fmt.Printf("Vehicle status: %+v\n", status)
}