Skip to content

Commit 7b2c14c

Browse files
Update test so that it doesn't conflict
1 parent 3dfd207 commit 7b2c14c

File tree

6 files changed

+29
-22
lines changed

6 files changed

+29
-22
lines changed

GNUmakefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ testacc-docker:
1414
docker-compose \
1515
-f ./docker-compose.yml \
1616
run --rm grafana-provider \
17-
make testacc
17+
make testacc TESTARGS="$(TESTARGS)"
1818

1919
testacc-docker-tls:
2020
GRAFANA_VERSION=$(GRAFANA_VERSION) \
2121
docker-compose \
2222
-f ./docker-compose.yml \
2323
-f ./docker-compose.tls.yml \
2424
run --rm grafana-provider \
25-
make testacc
25+
make testacc TESTARGS="$(TESTARGS)"
2626

2727
changelog:
2828
@test $${RELEASE_VERSION?Please set environment variable RELEASE_VERSION}
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
resource "grafana_user" "test" {
2-
email = "staff.name@example.com"
3-
name = "Staff Name"
4-
login = "staff"
2+
email = "test.datasource@example.com"
3+
name = "Testing Datasource"
4+
login = "test-datasource"
55
password = "my-password"
6-
is_admin = false
6+
is_admin = true
77
}
88

99
data "grafana_user" "from_id" {
10-
email = grafana_user.test.id
10+
user_id = grafana_user.test.user_id
1111
}
1212

1313
data "grafana_user" "from_email" {
1414
email = grafana_user.test.email
1515
}
1616

1717
data "grafana_user" "from_login" {
18-
email = grafana_user.test.login
18+
login = grafana_user.test.login
1919
}

grafana/data_source_user.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ does not currently work with API Tokens. You must use basic auth.
2020
`,
2121
ReadContext: dataSourceUserRead,
2222
Schema: map[string]*schema.Schema{
23-
"id": {
23+
"user_id": {
2424
Type: schema.TypeInt,
2525
Optional: true,
2626
Default: -1,
@@ -56,20 +56,21 @@ func dataSourceUserRead(ctx context.Context, d *schema.ResourceData, meta interf
5656

5757
var user gapi.User
5858
var err error
59-
if id := d.Get("id").(int); id >= 0 {
59+
if id := d.Get("user_id").(int); id >= 0 {
6060
user, err = client.User(int64(id))
6161
} else if email := d.Get("email").(string); email != "" {
6262
user, err = client.UserByEmail(email)
6363
} else if login := d.Get("login").(string); login != "" {
64-
user, err = client.UserByEmail(email)
64+
user, err = client.UserByEmail(login)
6565
} else {
66-
err = fmt.Errorf("must specify one of id, email, or login")
66+
err = fmt.Errorf("must specify one of user_id, email, or login")
6767
}
6868

6969
if err != nil {
7070
return diag.FromErr(err)
7171
}
7272

73+
d.SetId(fmt.Sprintf("%d", user.ID))
7374
d.Set("email", user.Email)
7475
d.Set("name", user.Name)
7576
d.Set("login", user.Login)

grafana/data_source_user_test.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,36 @@ package grafana
33
import (
44
"testing"
55

6+
gapi "github.com/grafana/grafana-api-golang-client"
67
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
78
)
89

910
func TestAccDatasourceUser(t *testing.T) {
10-
checks := []resource.TestCheckFunc{}
11+
var user gapi.User
12+
checks := []resource.TestCheckFunc{
13+
testAccUserCheckExists("grafana_user.test", &user),
14+
}
1115
for _, rName := range []string{"from_email", "from_login", "from_id"} {
1216
checks = append(checks,
1317
resource.TestCheckResourceAttr(
14-
"data.grafana_user."+rName, "email", "staff.name@example.com",
18+
"data.grafana_user."+rName, "email", "test.datasource@example.com",
1519
),
1620
resource.TestCheckResourceAttr(
17-
"data.grafana_user."+rName, "name", "Staff Name",
21+
"data.grafana_user."+rName, "name", "Testing Datasource",
1822
),
1923
resource.TestCheckResourceAttr(
20-
"data.grafana_user."+rName, "login", "staff",
24+
"data.grafana_user."+rName, "login", "test-datasource",
2125
),
2226
resource.TestCheckResourceAttr(
23-
"data.grafana_user."+rName, "is_admin", "false",
27+
"data.grafana_user."+rName, "is_admin", "true",
2428
),
2529
)
2630
}
2731

28-
resource.UnitTest(t, resource.TestCase{
29-
PreCheck: func() { testAccPreCheckCloud(t) },
32+
resource.Test(t, resource.TestCase{
33+
PreCheck: func() { testAccPreCheck(t) },
3034
ProviderFactories: testAccProviderFactories,
35+
CheckDestroy: testAccUserCheckDestroy(&user),
3136
Steps: []resource.TestStep{
3237
{
3338
Config: testAccExample(t, "data-sources/grafana_user/data-source.tf"),

grafana/provider.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ func Provider(version string) func() *schema.Provider {
9898
},
9999

100100
ResourcesMap: map[string]*schema.Resource{
101-
102101
// Grafana
103102
"grafana_alert_notification": ResourceAlertNotification(),
104103
"grafana_builtin_role_assignment": ResourceBuiltInRoleAssignment(),
@@ -120,6 +119,8 @@ func Provider(version string) func() *schema.Provider {
120119
},
121120

122121
DataSourcesMap: map[string]*schema.Resource{
122+
// Grafana
123+
"grafana_user": DatasourceUser(),
123124

124125
// Synthetic Monitoring
125126
"grafana_synthetic_monitoring_probe": dataSourceSyntheticMonitoringProbe(),

grafana/resource_user.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ does not currently work with API Tokens. You must use basic auth.
2929
StateContext: schema.ImportStatePassthroughContext,
3030
},
3131
Schema: map[string]*schema.Schema{
32-
"id": {
32+
"user_id": {
3333
Type: schema.TypeInt,
3434
Computed: true,
3535
},
@@ -96,7 +96,7 @@ func ReadUser(ctx context.Context, d *schema.ResourceData, meta interface{}) dia
9696
if err != nil {
9797
return diag.FromErr(err)
9898
}
99-
d.Set("id", user.ID)
99+
d.Set("user_id", user.ID)
100100
d.Set("email", user.Email)
101101
d.Set("name", user.Name)
102102
d.Set("login", user.Login)

0 commit comments

Comments
 (0)