Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/pkg/integrations/snowflake_exporter/snowflake_exporter_test.go
5411 views
1
package snowflake_exporter
2
3
import (
4
"os"
5
"testing"
6
7
"github.com/go-kit/log"
8
"github.com/stretchr/testify/require"
9
"gopkg.in/yaml.v2"
10
)
11
12
func TestConfig_UnmarshalYaml(t *testing.T) {
13
strConfig := `
14
account_name: "some_account"
15
username: "some_user"
16
password: "some_password"
17
warehouse: "some_warehouse"`
18
19
var c Config
20
21
require.NoError(t, yaml.UnmarshalStrict([]byte(strConfig), &c))
22
23
require.Equal(t, Config{
24
AccountName: "some_account",
25
Username: "some_user",
26
Password: "some_password",
27
Warehouse: "some_warehouse",
28
Role: "ACCOUNTADMIN",
29
}, c)
30
}
31
32
func TestConfig_NewIntegration(t *testing.T) {
33
t.Run("integration with valid config", func(t *testing.T) {
34
c := &Config{
35
AccountName: "some_account",
36
Username: "some_user",
37
Password: "some_password",
38
Warehouse: "some_warehouse",
39
Role: "ACCOUNTADMIN",
40
}
41
42
i, err := c.NewIntegration(log.NewJSONLogger(os.Stdout))
43
require.NoError(t, err)
44
require.NotNil(t, i)
45
})
46
47
t.Run("integration with invalid config", func(t *testing.T) {
48
c := &Config{
49
Username: "some_user",
50
Password: "some_password",
51
Warehouse: "some_warehouse",
52
Role: "ACCOUNTADMIN",
53
}
54
55
i, err := c.NewIntegration(log.NewJSONLogger(os.Stdout))
56
require.Nil(t, i)
57
require.ErrorContains(t, err, "")
58
})
59
}
60
61
func TestConfig_AgentKey(t *testing.T) {
62
c := Config{
63
AccountName: "snowflake-acct",
64
}
65
66
ik, err := c.InstanceKey("agent-key")
67
68
require.NoError(t, err)
69
require.Equal(t, "snowflake-acct", ik)
70
}
71
72