-
Notifications
You must be signed in to change notification settings - Fork 0
/
path_credentials_test.go
86 lines (73 loc) · 2.73 KB
/
path_credentials_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package vault_plugin_secrets_grafana
import (
"context"
"os"
"testing"
"time"
log "github.com/hashicorp/go-hclog"
"github.com/hashicorp/vault/sdk/helper/logging"
"github.com/hashicorp/vault/sdk/logical"
)
func newCloudAcceptanceTestEnv() (*testCloudEnv, error) {
ctx := context.Background()
maxLease, _ := time.ParseDuration("60s")
defaultLease, _ := time.ParseDuration("30s")
conf := &logical.BackendConfig{
System: &logical.StaticSystemView{
DefaultLeaseTTLVal: defaultLease,
MaxLeaseTTLVal: maxLease,
},
Logger: logging.NewVaultLogger(log.Debug),
}
b, err := Factory("test")(ctx, conf)
if err != nil {
return nil, err
}
return &testCloudEnv{
Token: os.Getenv(envVarGrafanaCloudToken),
CloudStackSlug: os.Getenv(envVarGrafanaCloudStackSlug),
CloudRegion: os.Getenv(envVarGrafanaCloudRegion),
OrgIdentifier: os.Getenv(envVarGrafanaCloudOrgIdentifier),
Backend: b,
Context: ctx,
Storage: &logical.InmemStorage{},
}, nil
}
func TestCloudAcceptanceToken(t *testing.T) {
if !runAcceptanceTests {
t.SkipNow()
}
acceptanceTestEnv, err := newCloudAcceptanceTestEnv()
if err != nil {
t.Fatal(err)
}
t.Run("add config", acceptanceTestEnv.AddConfig)
t.Run("add access policy role", acceptanceTestEnv.AddAccessPolicyRole)
t.Run("add service account role", acceptanceTestEnv.AddServiceAccountRole)
t.Run("read access policy cred", acceptanceTestEnv.ReadAccessPolicyToken)
t.Run("read access policy cred", acceptanceTestEnv.ReadAccessPolicyToken)
t.Run("read service account cred", acceptanceTestEnv.ReadServiceAccountToken)
t.Run("read service account cred", acceptanceTestEnv.ReadServiceAccountToken)
t.Run("verify number of issued tokens", acceptanceTestEnv.VerifyNumberOfIssuedCredentials)
t.Run("cleanup creds", acceptanceTestEnv.CleanupCreds)
}
func TestGrafanaInstanceToken(t *testing.T) {
if !runAcceptanceTests {
t.SkipNow()
}
acceptanceTestEnv, err := newCloudAcceptanceTestEnv()
if err != nil {
t.Fatal(err)
}
t.Run("add config", acceptanceTestEnv.AddConfig)
t.Run("add service account role", acceptanceTestEnv.AddServiceAccountRole)
t.Run("read service account cred", acceptanceTestEnv.ReadServiceAccountToken)
instanceTestEnv := acceptanceTestEnv.GetInstanceEnv(t)
t.Run("add custom grafana role", instanceTestEnv.AddCustomGrafanaRole)
t.Run("add service account role", instanceTestEnv.AddServiceAccountRoleWithCustomGrafanaRoles)
t.Run("read service account cred", instanceTestEnv.ReadServiceAccountToken)
t.Run("read service account cred", instanceTestEnv.ReadServiceAccountToken)
t.Run("cleanup instance custom roles", instanceTestEnv.CleanupCustomRoles)
t.Run("cleanup instance creds", instanceTestEnv.CleanupCreds)
t.Run("cleanup cloud creds", acceptanceTestEnv.CleanupCreds)
}