From 3519330166c9395bd6d1794bf780ae01bb1c4291 Mon Sep 17 00:00:00 2001 From: Emil Hessman <248952+ceh@users.noreply.github.com> Date: Wed, 11 Nov 2020 21:33:32 +0100 Subject: [PATCH] Chore: Rewrite test helpers from GoConvey to stdlib (#28919) --- pkg/services/sqlstore/alert_test.go | 4 +-- pkg/services/sqlstore/dashboard_acl_test.go | 6 ++-- .../sqlstore/dashboard_folder_test.go | 34 +++++++++--------- pkg/services/sqlstore/dashboard_test.go | 35 ++++++++++--------- .../sqlstore/dashboard_version_test.go | 6 ++-- pkg/services/sqlstore/org_test.go | 4 +-- 6 files changed, 46 insertions(+), 43 deletions(-) diff --git a/pkg/services/sqlstore/alert_test.go b/pkg/services/sqlstore/alert_test.go index a508d9bb2ae..3b8b0e8da6d 100644 --- a/pkg/services/sqlstore/alert_test.go +++ b/pkg/services/sqlstore/alert_test.go @@ -32,7 +32,7 @@ func TestAlertingDataAccess(t *testing.T) { Convey("Testing Alerting data access", t, func() { InitTestDB(t) - testDash := insertTestDashboard("dashboard with alerts", 1, 0, false, "alert") + testDash := insertTestDashboard(t, "dashboard with alerts", 1, 0, false, "alert") evalData, _ := simplejson.NewJson([]byte(`{"test": "test"}`)) items := []*models.Alert{ { @@ -273,7 +273,7 @@ func TestPausingAlerts(t *testing.T) { Convey("Given an alert", t, func() { InitTestDB(t) - testDash := insertTestDashboard("dashboard with alerts", 1, 0, false, "alert") + testDash := insertTestDashboard(t, "dashboard with alerts", 1, 0, false, "alert") alert, _ := insertTestAlert("Alerting title", "Alerting message", testDash.OrgId, testDash.Id, simplejson.New()) stateDateBeforePause := alert.NewStateDate diff --git a/pkg/services/sqlstore/dashboard_acl_test.go b/pkg/services/sqlstore/dashboard_acl_test.go index f9472273050..9f41783c594 100644 --- a/pkg/services/sqlstore/dashboard_acl_test.go +++ b/pkg/services/sqlstore/dashboard_acl_test.go @@ -13,9 +13,9 @@ func TestDashboardAclDataAccess(t *testing.T) { Convey("Testing DB", t, func() { InitTestDB(t) Convey("Given a dashboard folder and a user", func() { - currentUser := createUser("viewer", "Viewer", false) - savedFolder := insertTestDashboard("1 test dash folder", 1, 0, true, "prod", "webapp") - childDash := insertTestDashboard("2 test dash", 1, savedFolder.Id, false, "prod", "webapp") + currentUser := createUser(t, "viewer", "Viewer", false) + savedFolder := insertTestDashboard(t, "1 test dash folder", 1, 0, true, "prod", "webapp") + childDash := insertTestDashboard(t, "2 test dash", 1, savedFolder.Id, false, "prod", "webapp") Convey("When adding dashboard permission with userId and teamId set to 0", func() { err := testHelperUpdateDashboardAcl(savedFolder.Id, models.DashboardAcl{ diff --git a/pkg/services/sqlstore/dashboard_folder_test.go b/pkg/services/sqlstore/dashboard_folder_test.go index 177613fcb1f..8f42e5c3078 100644 --- a/pkg/services/sqlstore/dashboard_folder_test.go +++ b/pkg/services/sqlstore/dashboard_folder_test.go @@ -16,12 +16,12 @@ func TestDashboardFolderDataAccess(t *testing.T) { InitTestDB(t) Convey("Given one dashboard folder with two dashboards and one dashboard in the root folder", func() { - folder := insertTestDashboard("1 test dash folder", 1, 0, true, "prod", "webapp") - dashInRoot := insertTestDashboard("test dash 67", 1, 0, false, "prod", "webapp") - childDash := insertTestDashboard("test dash 23", 1, folder.Id, false, "prod", "webapp") - insertTestDashboard("test dash 45", 1, folder.Id, false, "prod") + folder := insertTestDashboard(t, "1 test dash folder", 1, 0, true, "prod", "webapp") + dashInRoot := insertTestDashboard(t, "test dash 67", 1, 0, false, "prod", "webapp") + childDash := insertTestDashboard(t, "test dash 23", 1, folder.Id, false, "prod", "webapp") + insertTestDashboard(t, "test dash 45", 1, folder.Id, false, "prod") - currentUser := createUser("viewer", "Viewer", false) + currentUser := createUser(t, "viewer", "Viewer", false) Convey("and no acls are set", func() { Convey("should return all dashboards", func() { @@ -156,13 +156,13 @@ func TestDashboardFolderDataAccess(t *testing.T) { }) Convey("Given two dashboard folders with one dashboard each and one dashboard in the root folder", func() { - folder1 := insertTestDashboard("1 test dash folder", 1, 0, true, "prod") - folder2 := insertTestDashboard("2 test dash folder", 1, 0, true, "prod") - dashInRoot := insertTestDashboard("test dash 67", 1, 0, false, "prod") - childDash1 := insertTestDashboard("child dash 1", 1, folder1.Id, false, "prod") - childDash2 := insertTestDashboard("child dash 2", 1, folder2.Id, false, "prod") + folder1 := insertTestDashboard(t, "1 test dash folder", 1, 0, true, "prod") + folder2 := insertTestDashboard(t, "2 test dash folder", 1, 0, true, "prod") + dashInRoot := insertTestDashboard(t, "test dash 67", 1, 0, false, "prod") + childDash1 := insertTestDashboard(t, "child dash 1", 1, folder1.Id, false, "prod") + childDash2 := insertTestDashboard(t, "child dash 2", 1, folder2.Id, false, "prod") - currentUser := createUser("viewer", "Viewer", false) + currentUser := createUser(t, "viewer", "Viewer", false) var rootFolderId int64 = 0 Convey("and one folder is expanded, the other collapsed", func() { @@ -246,13 +246,13 @@ func TestDashboardFolderDataAccess(t *testing.T) { }) Convey("Given two dashboard folders", func() { - folder1 := insertTestDashboard("1 test dash folder", 1, 0, true, "prod") - folder2 := insertTestDashboard("2 test dash folder", 1, 0, true, "prod") - insertTestDashboard("folder in another org", 2, 0, true, "prod") + folder1 := insertTestDashboard(t, "1 test dash folder", 1, 0, true, "prod") + folder2 := insertTestDashboard(t, "2 test dash folder", 1, 0, true, "prod") + insertTestDashboard(t, "folder in another org", 2, 0, true, "prod") - adminUser := createUser("admin", "Admin", true) - editorUser := createUser("editor", "Editor", false) - viewerUser := createUser("viewer", "Viewer", false) + adminUser := createUser(t, "admin", "Admin", true) + editorUser := createUser(t, "editor", "Editor", false) + viewerUser := createUser(t, "viewer", "Viewer", false) Convey("Admin users", func() { Convey("Should have write access to all dashboard folders in their org", func() { diff --git a/pkg/services/sqlstore/dashboard_test.go b/pkg/services/sqlstore/dashboard_test.go index 99467814287..bfdf903bead 100644 --- a/pkg/services/sqlstore/dashboard_test.go +++ b/pkg/services/sqlstore/dashboard_test.go @@ -25,10 +25,10 @@ func TestDashboardDataAccess(t *testing.T) { InitTestDB(t) Convey("Given saved dashboard", func() { - savedFolder := insertTestDashboard("1 test dash folder", 1, 0, true, "prod", "webapp") - savedDash := insertTestDashboard("test dash 23", 1, savedFolder.Id, false, "prod", "webapp") - insertTestDashboard("test dash 45", 1, savedFolder.Id, false, "prod") - insertTestDashboard("test dash 67", 1, 0, false, "prod", "webapp") + savedFolder := insertTestDashboard(t, "1 test dash folder", 1, 0, true, "prod", "webapp") + savedDash := insertTestDashboard(t, "test dash 23", 1, savedFolder.Id, false, "prod", "webapp") + insertTestDashboard(t, "test dash 45", 1, savedFolder.Id, false, "prod") + insertTestDashboard(t, "test dash 67", 1, 0, false, "prod", "webapp") Convey("Should return dashboard model", func() { So(savedDash.Title, ShouldEqual, "test dash 23") @@ -104,13 +104,12 @@ func TestDashboardDataAccess(t *testing.T) { }) Convey("Should be able to delete dashboard", func() { - dash := insertTestDashboard("delete me", 1, 0, false, "delete this") + dash := insertTestDashboard(t, "delete me", 1, 0, false, "delete this") err := DeleteDashboard(&models.DeleteDashboardCommand{ Id: dash.Id, OrgId: 1, }) - So(err, ShouldBeNil) }) @@ -202,7 +201,7 @@ func TestDashboardDataAccess(t *testing.T) { }) Convey("Should be able to delete empty folder", func() { - emptyFolder := insertTestDashboard("2 test dash folder", 1, 0, true, "prod", "webapp") + emptyFolder := insertTestDashboard(t, "2 test dash folder", 1, 0, true, "prod", "webapp") deleteCmd := &models.DeleteDashboardCommand{Id: emptyFolder.Id} err := DeleteDashboard(deleteCmd) @@ -367,7 +366,7 @@ func TestDashboardDataAccess(t *testing.T) { }) Convey("Given two dashboards, one is starred dashboard by user 10, other starred by user 1", func() { - starredDash := insertTestDashboard("starred dash", 1, 0, false) + starredDash := insertTestDashboard(t, "starred dash", 1, 0, false) err := StarDashboard(&models.StarDashboardCommand{ DashboardId: starredDash.Id, UserId: 10, @@ -419,8 +418,8 @@ func TestDashboard_SortingOptions(t *testing.T) { // insertTestDashboard uses GoConvey's assertions. Workaround. Convey("test with multiple sorting options", t, func() { InitTestDB(t) - dashB := insertTestDashboard("Beta", 1, 0, false) - dashA := insertTestDashboard("Alfa", 1, 0, false) + dashB := insertTestDashboard(t, "Beta", 1, 0, false) + dashA := insertTestDashboard(t, "Alfa", 1, 0, false) assert.NotZero(t, dashA.Id) assert.Less(t, dashB.Id, dashA.Id) @@ -442,7 +441,9 @@ func TestDashboard_SortingOptions(t *testing.T) { }) } -func insertTestDashboard(title string, orgId int64, folderId int64, isFolder bool, tags ...interface{}) *models.Dashboard { +func insertTestDashboard(t *testing.T, title string, orgId int64, folderId int64, isFolder bool, tags ...interface{}) *models.Dashboard { + t.Helper() + cmd := models.SaveDashboardCommand{ OrgId: orgId, FolderId: folderId, @@ -455,7 +456,7 @@ func insertTestDashboard(title string, orgId int64, folderId int64, isFolder boo } err := SaveDashboard(&cmd) - So(err, ShouldBeNil) + require.NoError(t, err) cmd.Result.Data.Set("id", cmd.Result.Id) cmd.Result.Data.Set("uid", cmd.Result.Uid) @@ -481,19 +482,21 @@ func insertTestDashboardForPlugin(title string, orgId int64, folderId int64, isF return cmd.Result } -func createUser(name string, role string, isAdmin bool) models.User { +func createUser(t *testing.T, name string, role string, isAdmin bool) models.User { + t.Helper() + setting.AutoAssignOrg = true setting.AutoAssignOrgId = 1 setting.AutoAssignOrgRole = role currentUserCmd := models.CreateUserCommand{Login: name, Email: name + "@test.com", Name: "a " + name, IsAdmin: isAdmin} err := CreateUser(context.Background(), ¤tUserCmd) - So(err, ShouldBeNil) + require.NoError(t, err) q1 := models.GetUserOrgListQuery{UserId: currentUserCmd.Result.Id} err = GetUserOrgList(&q1) - So(err, ShouldBeNil) - So(q1.Result[0].Role, ShouldEqual, role) + require.NoError(t, err) + require.Equal(t, models.RoleType(role), q1.Result[0].Role) return currentUserCmd.Result } diff --git a/pkg/services/sqlstore/dashboard_version_test.go b/pkg/services/sqlstore/dashboard_version_test.go index 4a8a33af852..b7df727c799 100644 --- a/pkg/services/sqlstore/dashboard_version_test.go +++ b/pkg/services/sqlstore/dashboard_version_test.go @@ -31,7 +31,7 @@ func TestGetDashboardVersion(t *testing.T) { InitTestDB(t) Convey("Get a Dashboard ID and version ID", func() { - savedDash := insertTestDashboard("test dash 26", 1, 0, false, "diff") + savedDash := insertTestDashboard(t, "test dash 26", 1, 0, false, "diff") query := models.GetDashboardVersionQuery{ DashboardId: savedDash.Id, @@ -72,7 +72,7 @@ func TestGetDashboardVersion(t *testing.T) { func TestGetDashboardVersions(t *testing.T) { Convey("Testing dashboard versions retrieval", t, func() { InitTestDB(t) - savedDash := insertTestDashboard("test dash 43", 1, 0, false, "diff-all") + savedDash := insertTestDashboard(t, "test dash 43", 1, 0, false, "diff-all") Convey("Get all versions for a given Dashboard ID", func() { query := models.GetDashboardVersionsQuery{DashboardId: savedDash.Id, OrgId: 1} @@ -112,7 +112,7 @@ func TestDeleteExpiredVersions(t *testing.T) { versionsToWrite := 10 setting.DashboardVersionsToKeep = versionsToKeep - savedDash := insertTestDashboard("test dash 53", 1, 0, false, "diff-all") + savedDash := insertTestDashboard(t, "test dash 53", 1, 0, false, "diff-all") for i := 0; i < versionsToWrite-1; i++ { updateTestDashboard(savedDash, map[string]interface{}{ "tags": "different-tag", diff --git a/pkg/services/sqlstore/org_test.go b/pkg/services/sqlstore/org_test.go index 4a4314c1458..dde217e32d1 100644 --- a/pkg/services/sqlstore/org_test.go +++ b/pkg/services/sqlstore/org_test.go @@ -284,8 +284,8 @@ func TestAccountDataAccess(t *testing.T) { So(err, ShouldBeNil) So(len(query.Result), ShouldEqual, 3) - dash1 := insertTestDashboard("1 test dash", ac1.OrgId, 0, false, "prod", "webapp") - dash2 := insertTestDashboard("2 test dash", ac3.OrgId, 0, false, "prod", "webapp") + dash1 := insertTestDashboard(t, "1 test dash", ac1.OrgId, 0, false, "prod", "webapp") + dash2 := insertTestDashboard(t, "2 test dash", ac3.OrgId, 0, false, "prod", "webapp") err = testHelperUpdateDashboardAcl(dash1.Id, models.DashboardAcl{DashboardId: dash1.Id, OrgId: ac1.OrgId, UserId: ac3.Id, Permission: models.PERMISSION_EDIT}) So(err, ShouldBeNil)