Path: blob/main/pkg/integrations/snowflake_exporter/snowflake_exporter_test.go
5411 views
package snowflake_exporter12import (3"os"4"testing"56"github.com/go-kit/log"7"github.com/stretchr/testify/require"8"gopkg.in/yaml.v2"9)1011func TestConfig_UnmarshalYaml(t *testing.T) {12strConfig := `13account_name: "some_account"14username: "some_user"15password: "some_password"16warehouse: "some_warehouse"`1718var c Config1920require.NoError(t, yaml.UnmarshalStrict([]byte(strConfig), &c))2122require.Equal(t, Config{23AccountName: "some_account",24Username: "some_user",25Password: "some_password",26Warehouse: "some_warehouse",27Role: "ACCOUNTADMIN",28}, c)29}3031func TestConfig_NewIntegration(t *testing.T) {32t.Run("integration with valid config", func(t *testing.T) {33c := &Config{34AccountName: "some_account",35Username: "some_user",36Password: "some_password",37Warehouse: "some_warehouse",38Role: "ACCOUNTADMIN",39}4041i, err := c.NewIntegration(log.NewJSONLogger(os.Stdout))42require.NoError(t, err)43require.NotNil(t, i)44})4546t.Run("integration with invalid config", func(t *testing.T) {47c := &Config{48Username: "some_user",49Password: "some_password",50Warehouse: "some_warehouse",51Role: "ACCOUNTADMIN",52}5354i, err := c.NewIntegration(log.NewJSONLogger(os.Stdout))55require.Nil(t, i)56require.ErrorContains(t, err, "")57})58}5960func TestConfig_AgentKey(t *testing.T) {61c := Config{62AccountName: "snowflake-acct",63}6465ik, err := c.InstanceKey("agent-key")6667require.NoError(t, err)68require.Equal(t, "snowflake-acct", ik)69}707172