evcc-io/tariff/octopus_test.go

64 lines
1.7 KiB
Go

package tariff
import (
"testing"
"github.com/evcc-io/evcc/util/test"
"github.com/stretchr/testify/require"
)
func TestOctopusConfigParse(t *testing.T) {
test.SkipCI(t)
validTestApiKey32 := "oe_test_testingYqLeoRu2xsn9WEiv6"
validTestApiKey40 := "oe_test_testingYBsFMxfqXG9guAdTVgFssdJmv"
// This test will start failing if you remove the deprecated "tariff" config var.
validTariffConfig := map[string]any{
"region": "H",
"tariff": "GO-22-03-29",
"directDebit": "True",
}
_, err := buildOctopusFromConfig(validTariffConfig)
require.NoError(t, err)
validProductCodeConfig := map[string]any{
"region": "H",
"productcode": "GO-22-03-29",
"directDebit": "False",
}
_, err = buildOctopusFromConfig(validProductCodeConfig)
require.NoError(t, err)
invalidApiAndProductCodeConfig := map[string]any{
"region": "H",
"productcode": "GO-22-03-29",
"tariffDirection": "import",
"apikey": "invalid_key",
}
_, err = buildOctopusFromConfig(invalidApiAndProductCodeConfig)
require.Error(t, err)
invalidTariffDirectionConfig := map[string]any{
"tariffDirection": "invalid",
"apikey": validTestApiKey32,
}
_, err = buildOctopusFromConfig(invalidTariffDirectionConfig)
require.Errorf(t, err, "invalid tariff type")
validApiExportConfig32 := map[string]any{
"tariffDirection": "export",
"apikey": validTestApiKey32,
}
_, err = buildOctopusFromConfig(validApiExportConfig32)
require.NoError(t, err)
validApiExportConfig40 := map[string]any{
"tariffDirection": "export",
"apikey": validTestApiKey40,
}
_, err = buildOctopusFromConfig(validApiExportConfig40)
require.NoError(t, err)
}