Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Folders+Team: Use OpenAPI in testing helper functions #1207

Merged
merged 2 commits into from
Dec 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions internal/resources/grafana/data_source_folder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"strings"
"testing"

goapi "github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/terraform-provider-grafana/internal/common"
"github.com/grafana/terraform-provider-grafana/internal/testutils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand All @@ -14,7 +14,7 @@ import (
func TestAccDatasourceFolder_basic(t *testing.T) {
testutils.CheckOSSTestsEnabled(t)

var folder goapi.Folder
var folder models.Folder
checks := []resource.TestCheckFunc{
folderCheckExists.exists("grafana_folder.test", &folder),
resource.TestCheckResourceAttr(
Expand Down
6 changes: 3 additions & 3 deletions internal/resources/grafana/data_source_folders_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ import (
"strings"
"testing"

goapi "github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/terraform-provider-grafana/internal/testutils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDatasourceFolders_basic(t *testing.T) {
testutils.CheckOSSTestsEnabled(t)

var folderA goapi.Folder
var folderB goapi.Folder
var folderA models.Folder
var folderB models.Folder
titleBase := "test-folder-"
uidBase := "test-ds-folder-uid-"
checks := []resource.TestCheckFunc{
Expand Down
6 changes: 3 additions & 3 deletions internal/resources/grafana/data_source_team_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ package grafana_test
import (
"testing"

goapi "github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/terraform-provider-grafana/internal/testutils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDatasourceTeam_basic(t *testing.T) {
testutils.CheckOSSTestsEnabled(t)

var team goapi.TeamDTO
var team models.TeamDTO
checks := []resource.TestCheckFunc{
teamCheckExists.exists("grafana_team.test", &team),
resource.TestCheckResourceAttr("data.grafana_team.from_name", "name", "test-team"),
Expand All @@ -38,7 +38,7 @@ func TestAccDatasourceTeam_basic(t *testing.T) {
func TestAccDatasourceTeam_teamSync(t *testing.T) {
testutils.CheckEnterpriseTestsEnabled(t)

var team goapi.TeamDTO
var team models.TeamDTO
checks := []resource.TestCheckFunc{
teamCheckExists.exists("grafana_team.test", &team),
resource.TestCheckResourceAttr("data.grafana_team.from_name", "name", "test-team"),
Expand Down
24 changes: 12 additions & 12 deletions internal/resources/grafana/resource_folder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"testing"

gapi "github.com/grafana/grafana-api-golang-client"
goapi "github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/grafana-openapi-client-go/models"

"github.com/grafana/terraform-provider-grafana/internal/common"
"github.com/grafana/terraform-provider-grafana/internal/resources/grafana"
Expand All @@ -23,8 +23,8 @@ import (
func TestAccFolder_basic(t *testing.T) {
testutils.CheckOSSTestsEnabled(t)

var folder goapi.Folder
var folderWithUID goapi.Folder
var folder models.Folder
var folderWithUID models.Folder

resource.ParallelTest(t, resource.TestCase{
ProviderFactories: testutils.ProviderFactories,
Expand Down Expand Up @@ -101,9 +101,9 @@ func TestAccFolder_basic(t *testing.T) {
func TestAccFolder_nested(t *testing.T) {
testutils.CheckCloudInstanceTestsEnabled(t) // TODO: Switch to OSS once nested folders are enabled by default

var parentFolder goapi.Folder
var childFolder1 goapi.Folder
var childFolder2 goapi.Folder
var parentFolder models.Folder
var childFolder1 models.Folder
var childFolder2 models.Folder
name := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)

resource.ParallelTest(t, resource.TestCase{
Expand Down Expand Up @@ -174,7 +174,7 @@ func TestAccFolder_PreventDeletion(t *testing.T) {
testutils.CheckOSSTestsEnabled(t)

name := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)
var folder goapi.Folder
var folder models.Folder

resource.ParallelTest(t, resource.TestCase{
ProviderFactories: testutils.ProviderFactories,
Expand All @@ -192,11 +192,11 @@ func TestAccFolder_PreventDeletion(t *testing.T) {
folderCheckExists.exists("grafana_folder.test_folder", &folder),
// Create a dashboard in the protected folder
func(s *terraform.State) error {
client := testutils.Provider.Meta().(*common.Client).GrafanaAPI
_, err := client.NewDashboard(gapi.Dashboard{
client := grafana.OAPIGlobalClient(testutils.Provider.Meta())
_, err := client.Dashboards.PostDashboard(&models.SaveDashboardCommand{
FolderUID: folder.UID,
FolderID: folder.ID,
Model: map[string]interface{}{
Dashboard: map[string]interface{}{
"uid": name + "-dashboard",
"title": name + "-dashboard",
}})
Expand Down Expand Up @@ -240,7 +240,7 @@ func TestAccFolder_createFromDifferentRoles(t *testing.T) {
},
} {
t.Run(tc.role, func(t *testing.T) {
var folder goapi.Folder
var folder models.Folder
var name = acctest.RandomWithPrefix(tc.role + "-key")

// Create an API key with the correct role and inject it in envvars. This auth will be used when the test runs
Expand Down Expand Up @@ -283,7 +283,7 @@ func TestAccFolder_createFromDifferentRoles(t *testing.T) {
}
}

func testAccFolderIDDidntChange(rn string, oldFolder *goapi.Folder) resource.TestCheckFunc {
func testAccFolderIDDidntChange(rn string, oldFolder *models.Folder) resource.TestCheckFunc {
return func(s *terraform.State) error {
newFolderResource, ok := s.RootModule().Resources[rn]
if !ok {
Expand Down
12 changes: 6 additions & 6 deletions internal/resources/grafana/resource_team_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"strings"
"testing"

gapi "github.com/grafana/grafana-api-golang-client"
"github.com/grafana/grafana-openapi-client-go/models"
"github.com/grafana/terraform-provider-grafana/internal/common"
"github.com/grafana/terraform-provider-grafana/internal/resources/grafana"
"github.com/grafana/terraform-provider-grafana/internal/testutils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand Down Expand Up @@ -232,7 +232,7 @@ func TestAccTeam_Members(t *testing.T) {
// Test that deleted users can still be removed as members of a team
func TestAccTeam_RemoveUnexistingMember(t *testing.T) {
testutils.CheckOSSTestsEnabled(t)
client := testutils.Provider.Meta().(*common.Client).GrafanaAPI
client := grafana.OAPIGlobalClient(testutils.Provider.Meta())

var team models.TeamDTO
var userID int64 = -1
Expand All @@ -245,17 +245,17 @@ func TestAccTeam_RemoveUnexistingMember(t *testing.T) {
{
PreConfig: func() {
// Create user
user := gapi.User{
user := models.AdminCreateUserForm{
Email: "user1@grafana.com",
Login: "user1@grafana.com",
Name: "user1",
Password: "123456",
}
var err error
userID, err = client.CreateUser(user)
resp, err := client.AdminUsers.AdminCreateUser(&user)
if err != nil {
t.Fatal(err)
}
userID = resp.Payload.ID
},
Config: testAccTeamDefinition(teamName, []string{`"user1@grafana.com"`}, false, nil),
Check: resource.ComposeTestCheckFunc(
Expand All @@ -267,7 +267,7 @@ func TestAccTeam_RemoveUnexistingMember(t *testing.T) {
{
PreConfig: func() {
// Delete the user
if err := client.DeleteUser(userID); err != nil {
if _, err := client.AdminUsers.AdminDeleteUser(userID); err != nil {
t.Fatal(err)
}
},
Expand Down