From fa3659138013684e5f600c7a0a71f98f9eeb18c0 Mon Sep 17 00:00:00 2001 From: Serge Zaitsev Date: Wed, 18 Jan 2023 16:01:25 +0100 Subject: [PATCH] Chore: Remove mockstore and use dbtest instead (#61629) * remove mockstore and use dbtest instead * fix wire * remove unused expected fields * fix more tests in alerting * fix api tests --- pkg/api/admin_test.go | 4 +- pkg/api/admin_users_test.go | 7 +- pkg/api/annotations_test.go | 14 +- pkg/api/common_test.go | 7 +- pkg/api/dashboard_permission_test.go | 6 +- pkg/api/dashboard_snapshot_test.go | 12 +- pkg/api/dashboard_test.go | 15 +- pkg/api/datasources_test.go | 4 +- pkg/api/folder_permission_test.go | 10 +- pkg/api/folder_test.go | 4 +- pkg/api/health_test.go | 6 +- pkg/api/ldap_debug_test.go | 4 +- pkg/api/org_users_test.go | 4 +- pkg/api/team_members_test.go | 4 +- pkg/api/team_test.go | 6 +- pkg/api/user_test.go | 4 +- pkg/infra/usagestats/service/api_test.go | 9 +- .../statscollector/prometheus_flavor_test.go | 4 +- .../usagestats/statscollector/service_test.go | 16 +- pkg/server/wire.go | 2 - .../conditions/query_interval_test.go | 7 +- .../alerting/conditions/query_test.go | 8 +- pkg/services/alerting/extractor_test.go | 11 +- pkg/services/sqlstore/mockstore/mockstore.go | 148 ------------------ 24 files changed, 80 insertions(+), 236 deletions(-) delete mode 100644 pkg/services/sqlstore/mockstore/mockstore.go diff --git a/pkg/api/admin_test.go b/pkg/api/admin_test.go index c46b84bd1c4..2c943dc5281 100644 --- a/pkg/api/admin_test.go +++ b/pkg/api/admin_test.go @@ -5,8 +5,8 @@ import ( "net/http/httptest" "testing" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/services/accesscontrol" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/setting" "github.com/stretchr/testify/assert" ) @@ -148,7 +148,7 @@ func TestAdmin_AccessControl(t *testing.T) { sc, hs := setupAccessControlScenarioContext(t, cfg, test.url, test.permissions) sc.resp = httptest.NewRecorder() hs.SettingsProvider = &setting.OSSImpl{Cfg: cfg} - hs.SQLStore = mockstore.NewSQLStoreMock() + hs.SQLStore = dbtest.NewFakeDB() var err error sc.req, err = http.NewRequest(test.method, test.url, nil) diff --git a/pkg/api/admin_users_test.go b/pkg/api/admin_users_test.go index 173a8db6a49..b6e72dc0e59 100644 --- a/pkg/api/admin_users_test.go +++ b/pkg/api/admin_users_test.go @@ -12,12 +12,12 @@ import ( "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/auth" "github.com/grafana/grafana/pkg/services/auth/authtest" "github.com/grafana/grafana/pkg/services/login/logintest" "github.com/grafana/grafana/pkg/services/org" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/user" "github.com/grafana/grafana/pkg/services/user/usertest" "github.com/grafana/grafana/pkg/setting" @@ -148,7 +148,6 @@ func TestAdminAPIEndpoint(t *testing.T) { t.Run("When a server admin attempts to delete a nonexistent user", func(t *testing.T) { adminDeleteUserScenario(t, "Should return user not found error", "/api/admin/users/42", "/api/admin/users/:id", func(sc *scenarioContext) { - sc.sqlStore.(*mockstore.SQLStoreMock).ExpectedError = user.ErrUserNotFound sc.userService.(*usertest.FakeUserService).ExpectedError = user.ErrUserNotFound sc.authInfoService.ExpectedError = user.ErrUserNotFound sc.fakeReqWithParams("DELETE", sc.url, map[string]string{}).exec() @@ -346,7 +345,7 @@ func adminDisableUserScenario(t *testing.T, desc string, action string, url stri authInfoService := &logintest.AuthInfoServiceFake{} hs := HTTPServer{ - SQLStore: mockstore.NewSQLStoreMock(), + SQLStore: dbtest.NewFakeDB(), AuthTokenService: fakeAuthTokenService, authInfoService: authInfoService, userService: usertest.NewUserServiceFake(), @@ -375,7 +374,7 @@ func adminDisableUserScenario(t *testing.T, desc string, action string, url stri func adminDeleteUserScenario(t *testing.T, desc string, url string, routePattern string, fn scenarioFunc) { hs := HTTPServer{ - SQLStore: mockstore.NewSQLStoreMock(), + SQLStore: dbtest.NewFakeDB(), userService: usertest.NewUserServiceFake(), } t.Run(fmt.Sprintf("%s %s", desc, url), func(t *testing.T) { diff --git a/pkg/api/annotations_test.go b/pkg/api/annotations_test.go index b85bab9418e..3888fc7b354 100644 --- a/pkg/api/annotations_test.go +++ b/pkg/api/annotations_test.go @@ -16,6 +16,7 @@ import ( "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/accesscontrol" "github.com/grafana/grafana/pkg/services/accesscontrol/acimpl" @@ -24,7 +25,6 @@ import ( "github.com/grafana/grafana/pkg/services/dashboards" "github.com/grafana/grafana/pkg/services/guardian" "github.com/grafana/grafana/pkg/services/org" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/team/teamtest" "github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/web/webtest" @@ -76,7 +76,7 @@ func TestAnnotationsAPIEndpoint(t *testing.T) { assert.Equal(t, 403, sc.resp.Code) }) - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling DELETE on", "DELETE", "/api/annotations/1", "/api/annotations/:annotationId", role, func(sc *scenarioContext) { sc.handlerFunc = hs.DeleteAnnotationByID @@ -104,7 +104,7 @@ func TestAnnotationsAPIEndpoint(t *testing.T) { sc.fakeReqWithParams("PATCH", sc.url, map[string]string{}).exec() assert.Equal(t, 200, sc.resp.Code) }) - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling DELETE on", "DELETE", "/api/annotations/1", "/api/annotations/:annotationId", role, func(sc *scenarioContext) { sc.handlerFunc = hs.DeleteAnnotationByID @@ -177,7 +177,7 @@ func TestAnnotationsAPIEndpoint(t *testing.T) { sc.fakeReqWithParams("PATCH", sc.url, map[string]string{}).exec() assert.Equal(t, 403, sc.resp.Code) }) - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling DELETE on", "DELETE", "/api/annotations/1", "/api/annotations/:annotationId", role, func(sc *scenarioContext) { setUpACL() @@ -209,7 +209,7 @@ func TestAnnotationsAPIEndpoint(t *testing.T) { sc.fakeReqWithParams("PATCH", sc.url, map[string]string{}).exec() assert.Equal(t, 200, sc.resp.Code) }) - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling DELETE on", "DELETE", "/api/annotations/1", "/api/annotations/:annotationId", role, func(sc *scenarioContext) { setUpACL() @@ -223,7 +223,7 @@ func TestAnnotationsAPIEndpoint(t *testing.T) { t.Run("When user is an Admin", func(t *testing.T) { role := org.RoleAdmin - mockStore := mockstore.NewSQLStoreMock() + mockStore := dbtest.NewFakeDB() t.Run("Should be able to do anything", func(t *testing.T) { dashSvc := dashboards.NewFakeDashboardService(t) @@ -677,7 +677,7 @@ func TestService_AnnotationTypeScopeResolver(t *testing.T) { func setUpACL() { viewerRole := org.RoleViewer editorRole := org.RoleEditor - store := mockstore.NewSQLStoreMock() + store := dbtest.NewFakeDB() teamSvc := &teamtest.FakeService{} dashSvc := &dashboards.FakeDashboardService{} dashSvc.On("GetDashboardACLInfoList", mock.Anything, mock.AnythingOfType("*models.GetDashboardACLInfoListQuery")).Run(func(args mock.Arguments) { diff --git a/pkg/api/common_test.go b/pkg/api/common_test.go index 40c29f327fe..07696a86041 100644 --- a/pkg/api/common_test.go +++ b/pkg/api/common_test.go @@ -17,6 +17,7 @@ import ( "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/fs" "github.com/grafana/grafana/pkg/infra/localcache" "github.com/grafana/grafana/pkg/infra/log" @@ -54,7 +55,6 @@ import ( "github.com/grafana/grafana/pkg/services/searchusers" "github.com/grafana/grafana/pkg/services/searchusers/filters" "github.com/grafana/grafana/pkg/services/sqlstore" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/stats/statsimpl" "github.com/grafana/grafana/pkg/services/tag/tagimpl" "github.com/grafana/grafana/pkg/services/team" @@ -553,10 +553,8 @@ func (mss *mockSearchService) SearchHandler(_ context.Context, q *search.Query) func (mss *mockSearchService) SortOptions() []models.SortOption { return nil } func setUp(confs ...setUpConf) *HTTPServer { - singleAlert := &models.Alert{Id: 1, DashboardId: 1, Name: "singlealert"} - store := mockstore.NewSQLStoreMock() + store := dbtest.NewFakeDB() hs := &HTTPServer{SQLStore: store, SearchService: &mockSearchService{}} - store.ExpectedAlert = singleAlert aclMockResp := []*models.DashboardACLInfoDTO{} for _, c := range confs { @@ -564,7 +562,6 @@ func setUp(confs ...setUpConf) *HTTPServer { aclMockResp = c.aclMockResp } } - store.ExpectedTeamsByUser = []*team.TeamDTO{} teamSvc := &teamtest.FakeService{} dashSvc := &dashboards.FakeDashboardService{} dashSvc.On("GetDashboardACLInfoList", mock.Anything, mock.AnythingOfType("*models.GetDashboardACLInfoListQuery")).Run(func(args mock.Arguments) { diff --git a/pkg/api/dashboard_permission_test.go b/pkg/api/dashboard_permission_test.go index ac250c18bfa..cec1451d319 100644 --- a/pkg/api/dashboard_permission_test.go +++ b/pkg/api/dashboard_permission_test.go @@ -12,6 +12,7 @@ import ( "github.com/grafana/grafana/pkg/api/dtos" "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" accesscontrolmock "github.com/grafana/grafana/pkg/services/accesscontrol/mock" "github.com/grafana/grafana/pkg/services/dashboards" @@ -19,7 +20,6 @@ import ( "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/grafana/grafana/pkg/services/guardian" "github.com/grafana/grafana/pkg/services/org" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/setting" ) @@ -37,7 +37,7 @@ func TestDashboardPermissionAPIEndpoint(t *testing.T) { defer dashboardStore.AssertExpectations(t) features := featuremgmt.WithFeatures() - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() ac := accesscontrolmock.New() folderPermissions := accesscontrolmock.NewMockedPermissionsService() dashboardPermissions := accesscontrolmock.NewMockedPermissionsService() @@ -268,7 +268,7 @@ func TestDashboardPermissionAPIEndpoint(t *testing.T) { settings.HiddenUsers = make(map[string]struct{}) }) - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() var resp []*models.DashboardACLInfoDTO loggedInUserScenarioWithRole(t, "When calling GET on", "GET", "/api/dashboards/id/1/permissions", "/api/dashboards/id/:dashboardId/permissions", org.RoleAdmin, func(sc *scenarioContext) { diff --git a/pkg/api/dashboard_snapshot_test.go b/pkg/api/dashboard_snapshot_test.go index 72fb6199834..7bf4c68e5d8 100644 --- a/pkg/api/dashboard_snapshot_test.go +++ b/pkg/api/dashboard_snapshot_test.go @@ -14,13 +14,12 @@ import ( "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/components/simplejson" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/dashboards" "github.com/grafana/grafana/pkg/services/dashboardsnapshots" "github.com/grafana/grafana/pkg/services/guardian" "github.com/grafana/grafana/pkg/services/org" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" - "github.com/grafana/grafana/pkg/services/team" "github.com/grafana/grafana/pkg/services/team/teamtest" ) @@ -33,8 +32,7 @@ func TestDashboardSnapshotAPIEndpoint_singleSnapshot(t *testing.T) { return s } - sqlmock := mockstore.NewSQLStoreMock() - sqlmock.ExpectedTeamsByUser = []*team.TeamDTO{} + sqlmock := dbtest.NewFakeDB() jsonModel, err := simplejson.NewJson([]byte(`{"id":100}`)) require.NoError(t, err) @@ -257,8 +255,7 @@ func TestDashboardSnapshotAPIEndpoint_singleSnapshot(t *testing.T) { } func TestGetDashboardSnapshotNotFound(t *testing.T) { - sqlmock := mockstore.NewSQLStoreMock() - sqlmock.ExpectedTeamsByUser = []*team.TeamDTO{} + sqlmock := dbtest.NewFakeDB() setUpSnapshotTest := func(t *testing.T) dashboardsnapshots.Service { t.Helper() @@ -307,8 +304,7 @@ func TestGetDashboardSnapshotNotFound(t *testing.T) { } func TestGetDashboardSnapshotFailure(t *testing.T) { - sqlmock := mockstore.NewSQLStoreMock() - sqlmock.ExpectedTeamsByUser = []*team.TeamDTO{} + sqlmock := dbtest.NewFakeDB() setUpSnapshotTest := func(t *testing.T) dashboardsnapshots.Service { t.Helper() diff --git a/pkg/api/dashboard_test.go b/pkg/api/dashboard_test.go index 87650bcea2d..2b3a7521ba7 100644 --- a/pkg/api/dashboard_test.go +++ b/pkg/api/dashboard_test.go @@ -43,7 +43,6 @@ import ( "github.com/grafana/grafana/pkg/services/preference/preftest" "github.com/grafana/grafana/pkg/services/provisioning" "github.com/grafana/grafana/pkg/services/quota/quotatest" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/tag/tagimpl" "github.com/grafana/grafana/pkg/services/team/teamtest" "github.com/grafana/grafana/pkg/services/user" @@ -733,7 +732,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { }) t.Run("Given a dashboard to validate", func(t *testing.T) { - sqlmock := mockstore.SQLStoreMock{} + sqlmock := dbtest.NewFakeDB() t.Run("When an invalid dashboard json is posted", func(t *testing.T) { cmd := dashboards.ValidateDashboardCommand{ @@ -748,7 +747,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { assert.Equal(t, 422, sc.resp.Code) assert.False(t, result.Get("isValid").MustBool()) assert.NotEmpty(t, result.Get("message").MustString()) - }, &sqlmock) + }, sqlmock) }) t.Run("When a dashboard with a too-low schema version is posted", func(t *testing.T) { @@ -764,7 +763,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { assert.Equal(t, 412, sc.resp.Code) assert.False(t, result.Get("isValid").MustBool()) assert.Equal(t, "invalid schema version", result.Get("message").MustString()) - }, &sqlmock) + }, sqlmock) }) t.Run("When a valid dashboard is posted", func(t *testing.T) { @@ -782,7 +781,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { result := sc.ToJSON() assert.Equal(t, 200, sc.resp.Code) assert.True(t, result.Get("isValid").MustBool()) - }, &sqlmock) + }, sqlmock) }) }) @@ -881,7 +880,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { Version: 1, Data: fakeDash.Data, }} - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() restoreDashboardVersionScenario(t, "When calling POST on", "/api/dashboards/id/1/restore", "/api/dashboards/id/:dashboardId/restore", dashboardService, fakeDashboardVersionService, cmd, func(sc *scenarioContext) { sc.dashboardVersionService = fakeDashboardVersionService @@ -919,7 +918,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { cmd := dtos.RestoreDashboardVersionCommand{ Version: 1, } - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() restoreDashboardVersionScenario(t, "When calling POST on", "/api/dashboards/id/1/restore", "/api/dashboards/id/:dashboardId/restore", dashboardService, fakeDashboardVersionService, cmd, func(sc *scenarioContext) { callRestoreDashboardVersion(sc) @@ -928,7 +927,7 @@ func TestDashboardAPIEndpoint(t *testing.T) { }) t.Run("Given provisioned dashboard", func(t *testing.T) { - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() dashboardStore := dashboards.NewFakeDashboardStore(t) dashboardStore.On("GetProvisionedDataByDashboardID", mock.Anything, mock.AnythingOfType("int64")).Return(&dashboards.DashboardProvisioning{ExternalID: "/dashboard1.json"}, nil).Once() diff --git a/pkg/api/datasources_test.go b/pkg/api/datasources_test.go index ccfd15be3a1..08cced21be0 100644 --- a/pkg/api/datasources_test.go +++ b/pkg/api/datasources_test.go @@ -16,6 +16,7 @@ import ( "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/components/simplejson" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/plugins" ac "github.com/grafana/grafana/pkg/services/accesscontrol" @@ -24,7 +25,6 @@ import ( "github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/datasources/permissions" "github.com/grafana/grafana/pkg/services/org" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/setting" ) @@ -35,7 +35,7 @@ const ( ) func TestDataSourcesProxy_userLoggedIn(t *testing.T) { - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() mockDatasourcePermissionService := permissions.NewMockDatasourcePermissionService() loggedInUserScenario(t, "When calling GET on", "/api/datasources/", "/api/datasources/", func(sc *scenarioContext) { // Stubs the database query diff --git a/pkg/api/folder_permission_test.go b/pkg/api/folder_permission_test.go index 454d926ac1e..327d74dbc0f 100644 --- a/pkg/api/folder_permission_test.go +++ b/pkg/api/folder_permission_test.go @@ -12,6 +12,7 @@ import ( "github.com/grafana/grafana/pkg/api/dtos" "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" accesscontrolmock "github.com/grafana/grafana/pkg/services/accesscontrol/mock" "github.com/grafana/grafana/pkg/services/dashboards" @@ -21,7 +22,6 @@ import ( "github.com/grafana/grafana/pkg/services/folder/foldertest" "github.com/grafana/grafana/pkg/services/guardian" "github.com/grafana/grafana/pkg/services/org" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/setting" ) @@ -55,7 +55,7 @@ func TestFolderPermissionAPIEndpoint(t *testing.T) { folderService.ExpectedError = nil }) folderService.ExpectedError = dashboards.ErrFolderNotFound - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling GET on", "GET", "/api/folders/uid/permissions", "/api/folders/:uid/permissions", org.RoleEditor, func(sc *scenarioContext) { callGetFolderPermissions(sc, hs) assert.Equal(t, 404, sc.resp.Code) @@ -88,7 +88,7 @@ func TestFolderPermissionAPIEndpoint(t *testing.T) { guardian.MockDashboardGuardian(&guardian.FakeDashboardGuardian{CanAdminValue: false}) folderService.ExpectedError = dashboards.ErrFolderAccessDenied - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling GET on", "GET", "/api/folders/uid/permissions", "/api/folders/:uid/permissions", org.RoleEditor, func(sc *scenarioContext) { callGetFolderPermissions(sc, hs) @@ -133,7 +133,7 @@ func TestFolderPermissionAPIEndpoint(t *testing.T) { folderService.ExpectedFolder = &folder.Folder{ID: 1, UID: "uid", Title: "Folder"} dashboardStore.On("UpdateDashboardACL", mock.Anything, mock.Anything, mock.Anything).Return(nil).Once() - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling GET on", "GET", "/api/folders/uid/permissions", "/api/folders/:uid/permissions", org.RoleAdmin, func(sc *scenarioContext) { callGetFolderPermissions(sc, hs) @@ -304,7 +304,7 @@ func TestFolderPermissionAPIEndpoint(t *testing.T) { }).Return(nil).Once() var resp []*models.DashboardACLInfoDTO - mockSQLStore := mockstore.NewSQLStoreMock() + mockSQLStore := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling GET on", "GET", "/api/folders/uid/permissions", "/api/folders/:uid/permissions", org.RoleAdmin, func(sc *scenarioContext) { callGetFolderPermissions(sc, hs) assert.Equal(t, 200, sc.resp.Code) diff --git a/pkg/api/folder_test.go b/pkg/api/folder_test.go index 2e66c071b4d..68f41c7c662 100644 --- a/pkg/api/folder_test.go +++ b/pkg/api/folder_test.go @@ -13,6 +13,7 @@ import ( "github.com/grafana/grafana/pkg/api/dtos" "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/accesscontrol" "github.com/grafana/grafana/pkg/services/accesscontrol/actest" @@ -23,7 +24,6 @@ import ( "github.com/grafana/grafana/pkg/services/folder/foldertest" "github.com/grafana/grafana/pkg/services/guardian" "github.com/grafana/grafana/pkg/services/quota/quotatest" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/team/teamtest" "github.com/grafana/grafana/pkg/services/user" "github.com/grafana/grafana/pkg/setting" @@ -249,7 +249,7 @@ func createFolderScenario(t *testing.T, desc string, url string, routePattern st UID: q.UID, } }).Return(nil) - store := mockstore.NewSQLStoreMock() + store := dbtest.NewFakeDB() guardian.InitLegacyGuardian(store, dashSvc, teamSvc) hs := HTTPServer{ AccessControl: acmock.New(), diff --git a/pkg/api/health_test.go b/pkg/api/health_test.go index b7fce910638..699f85607af 100644 --- a/pkg/api/health_test.go +++ b/pkg/api/health_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/localcache" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/web" "github.com/stretchr/testify/require" @@ -84,7 +84,7 @@ func TestHealthAPI_DatabaseUnhealthy(t *testing.T) { m, hs := setupHealthAPITestEnvironment(t) hs.Cfg.AnonymousHideVersion = true - hs.SQLStore.(*mockstore.SQLStoreMock).ExpectedError = errors.New("bad") + hs.SQLStore.(*dbtest.FakeDB).ExpectedError = errors.New("bad") healthy, found := hs.CacheService.Get(cacheKey) require.False(t, found) @@ -157,7 +157,7 @@ func setupHealthAPITestEnvironment(t *testing.T, cbs ...func(*setting.Cfg)) (*we hs := &HTTPServer{ CacheService: localcache.New(5*time.Minute, 10*time.Minute), Cfg: cfg, - SQLStore: mockstore.NewSQLStoreMock(), + SQLStore: dbtest.NewFakeDB(), } m.Get("/api/health", hs.apiHealthHandler) diff --git a/pkg/api/ldap_debug_test.go b/pkg/api/ldap_debug_test.go index 95b92e4e06f..206d9c870e1 100644 --- a/pkg/api/ldap_debug_test.go +++ b/pkg/api/ldap_debug_test.go @@ -13,6 +13,7 @@ import ( "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/accesscontrol" "github.com/grafana/grafana/pkg/services/auth/authtest" @@ -22,7 +23,6 @@ import ( "github.com/grafana/grafana/pkg/services/multildap" "github.com/grafana/grafana/pkg/services/org" "github.com/grafana/grafana/pkg/services/org/orgtest" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/user" "github.com/grafana/grafana/pkg/services/user/usertest" "github.com/grafana/grafana/pkg/setting" @@ -607,7 +607,7 @@ func TestLDAP_AccessControl(t *testing.T) { cfg := setting.NewCfg() cfg.LDAPEnabled = true sc, hs := setupAccessControlScenarioContext(t, cfg, test.url, test.permissions) - hs.SQLStore = &mockstore.SQLStoreMock{ExpectedUser: &user.User{}} + hs.SQLStore = dbtest.NewFakeDB() hs.userService = &usertest.FakeUserService{ExpectedUser: &user.User{}} hs.authInfoService = &logintest.AuthInfoServiceFake{} hs.Login = &loginservice.LoginServiceMock{} diff --git a/pkg/api/org_users_test.go b/pkg/api/org_users_test.go index 4b4b1a83081..85545654888 100644 --- a/pkg/api/org_users_test.go +++ b/pkg/api/org_users_test.go @@ -15,6 +15,7 @@ import ( "github.com/grafana/grafana/pkg/api/dtos" "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/localcache" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/accesscontrol" @@ -26,7 +27,6 @@ import ( "github.com/grafana/grafana/pkg/services/quota/quotaimpl" "github.com/grafana/grafana/pkg/services/quota/quotatest" "github.com/grafana/grafana/pkg/services/sqlstore" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/team/teamimpl" "github.com/grafana/grafana/pkg/services/temp_user/tempuserimpl" "github.com/grafana/grafana/pkg/services/user" @@ -63,7 +63,7 @@ func TestOrgUsersAPIEndpoint_userLoggedIn(t *testing.T) { orgService := orgtest.NewOrgServiceFake() orgService.ExpectedSearchOrgUsersResult = &org.SearchOrgUsersQueryResult{} hs.orgService = orgService - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() loggedInUserScenario(t, "When calling GET on", "api/org/users", "api/org/users", func(sc *scenarioContext) { setUpGetOrgUsersDB(t, sqlStore) diff --git a/pkg/api/team_members_test.go b/pkg/api/team_members_test.go index ead50489d7e..fd42bdef9c9 100644 --- a/pkg/api/team_members_test.go +++ b/pkg/api/team_members_test.go @@ -15,6 +15,7 @@ import ( "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/models" ac "github.com/grafana/grafana/pkg/services/accesscontrol" "github.com/grafana/grafana/pkg/services/licensing" @@ -22,7 +23,6 @@ import ( "github.com/grafana/grafana/pkg/services/org/orgimpl" "github.com/grafana/grafana/pkg/services/quota/quotaimpl" "github.com/grafana/grafana/pkg/services/sqlstore" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/team/teamimpl" "github.com/grafana/grafana/pkg/services/team/teamtest" "github.com/grafana/grafana/pkg/services/teamguardian/database" @@ -81,7 +81,7 @@ func TestTeamMembersAPIEndpoint_userLoggedIn(t *testing.T) { hs.teamService = teamimpl.ProvideService(sqlStore, settings) hs.License = &licensing.OSSLicensingService{} hs.teamGuardian = &TeamGuardianMock{} - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When calling GET on", "GET", "api/teams/1/members", "api/teams/:teamId/members", org.RoleAdmin, func(sc *scenarioContext) { diff --git a/pkg/api/team_test.go b/pkg/api/team_test.go index a04e31d1d5a..3577ce501be 100644 --- a/pkg/api/team_test.go +++ b/pkg/api/team_test.go @@ -12,6 +12,7 @@ import ( "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/log/logtest" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/accesscontrol" @@ -20,7 +21,6 @@ import ( "github.com/grafana/grafana/pkg/services/org" pref "github.com/grafana/grafana/pkg/services/preference" "github.com/grafana/grafana/pkg/services/preference/preftest" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/team" "github.com/grafana/grafana/pkg/services/team/teamimpl" "github.com/grafana/grafana/pkg/services/team/teamtest" @@ -38,7 +38,7 @@ func TestTeamAPIEndpoint(t *testing.T) { store.Cfg = hs.Cfg hs.teamService = teamimpl.ProvideService(store, hs.Cfg) hs.SQLStore = store - mock := &mockstore.SQLStoreMock{} + mock := dbtest.NewFakeDB() loggedInUserScenarioWithRole(t, "When admin is calling GET on", "GET", "/api/teams/search", "/api/teams/search", org.RoleAdmin, func(sc *scenarioContext) { @@ -108,7 +108,7 @@ func TestTeamAPIEndpoint(t *testing.T) { t.Run("When creating team with API key", func(t *testing.T) { hs := setupSimpleHTTPServer(nil) hs.Cfg.EditorsCanAdmin = true - hs.SQLStore = mockstore.NewSQLStoreMock() + hs.SQLStore = dbtest.NewFakeDB() hs.teamService = &teamtest.FakeService{} teamName := "team foo" diff --git a/pkg/api/user_test.go b/pkg/api/user_test.go index fdd26f987d9..2bc4c156d0d 100644 --- a/pkg/api/user_test.go +++ b/pkg/api/user_test.go @@ -17,6 +17,7 @@ import ( "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/usagestats" "github.com/grafana/grafana/pkg/models" acmock "github.com/grafana/grafana/pkg/services/accesscontrol/mock" @@ -29,7 +30,6 @@ import ( "github.com/grafana/grafana/pkg/services/searchusers/filters" "github.com/grafana/grafana/pkg/services/secrets/database" secretsManager "github.com/grafana/grafana/pkg/services/secrets/manager" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/user" "github.com/grafana/grafana/pkg/services/user/userimpl" "github.com/grafana/grafana/pkg/services/user/usertest" @@ -52,7 +52,7 @@ func TestUserAPIEndpoint_userLoggedIn(t *testing.T) { }, TotalCount: 2, } - mock := mockstore.NewSQLStoreMock() + mock := dbtest.NewFakeDB() userMock := usertest.NewUserServiceFake() loggedInUserScenario(t, "When calling GET on", "api/users/1", "api/users/:id", func(sc *scenarioContext) { fakeNow := time.Date(2019, 2, 11, 17, 30, 40, 0, time.UTC) diff --git a/pkg/infra/usagestats/service/api_test.go b/pkg/infra/usagestats/service/api_test.go index ed4c5a898f9..94acc44e189 100644 --- a/pkg/infra/usagestats/service/api_test.go +++ b/pkg/infra/usagestats/service/api_test.go @@ -9,10 +9,10 @@ import ( "github.com/stretchr/testify/require" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/contexthandler/ctxkey" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/stats" "github.com/grafana/grafana/pkg/services/user" "github.com/grafana/grafana/pkg/setting" @@ -46,15 +46,10 @@ func TestApi_getUsageStats(t *testing.T) { expectedStatus: 403, }, } - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() uss := createService(t, setting.Cfg{}, sqlStore, false) uss.registerAPIEndpoints() - sqlStore.ExpectedSystemStats = &stats.SystemStats{} - sqlStore.ExpectedDataSourceStats = []*stats.DataSourceStats{} - sqlStore.ExpectedDataSourcesAccessStats = []*stats.DataSourceAccessStats{} - sqlStore.ExpectedNotifierUsageStats = []*stats.NotifierUsageStats{} - for _, tt := range tests { t.Run(tt.desc, func(t *testing.T) { uss.Cfg.ReportingEnabled = tt.enabled diff --git a/pkg/infra/usagestats/statscollector/prometheus_flavor_test.go b/pkg/infra/usagestats/statscollector/prometheus_flavor_test.go index 77bb7ec08ca..b0f4cad6d2a 100644 --- a/pkg/infra/usagestats/statscollector/prometheus_flavor_test.go +++ b/pkg/infra/usagestats/statscollector/prometheus_flavor_test.go @@ -11,8 +11,8 @@ import ( "github.com/stretchr/testify/require" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/services/datasources" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/stats/statstest" "github.com/grafana/grafana/pkg/setting" ) @@ -33,7 +33,7 @@ func TestDetectPrometheusVariant(t *testing.T) { })) t.Cleanup(cortex.Close) - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() statsService := statstest.NewFakeService() s := createService( t, diff --git a/pkg/infra/usagestats/statscollector/service_test.go b/pkg/infra/usagestats/statscollector/service_test.go index 265031cb4d5..0200588e3f1 100644 --- a/pkg/infra/usagestats/statscollector/service_test.go +++ b/pkg/infra/usagestats/statscollector/service_test.go @@ -15,6 +15,7 @@ import ( "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" "github.com/grafana/grafana/pkg/infra/httpclient" "github.com/grafana/grafana/pkg/infra/usagestats" "github.com/grafana/grafana/pkg/login/social" @@ -22,14 +23,13 @@ import ( "github.com/grafana/grafana/pkg/registry" "github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/featuremgmt" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/stats" "github.com/grafana/grafana/pkg/services/stats/statstest" "github.com/grafana/grafana/pkg/setting" ) func TestTotalStatsUpdate(t *testing.T) { - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() statsService := statstest.NewFakeService() s := createService(t, setting.NewCfg(), sqlStore, statsService) s.cfg.MetricsEndpointEnabled = true @@ -95,7 +95,7 @@ func TestUsageStatsProviders(t *testing.T) { provider1 := &dummyUsageStatProvider{stats: map[string]interface{}{"my_stat_1": "val1", "my_stat_2": "val2"}} provider2 := &dummyUsageStatProvider{stats: map[string]interface{}{"my_stat_x": "valx", "my_stat_z": "valz"}} - store := mockstore.NewSQLStoreMock() + store := dbtest.NewFakeDB() statsService := statstest.NewFakeService() mockSystemStats(statsService) s := createService(t, setting.NewCfg(), store, statsService) @@ -111,7 +111,7 @@ func TestUsageStatsProviders(t *testing.T) { } func TestFeatureUsageStats(t *testing.T) { - store := mockstore.NewSQLStoreMock() + store := dbtest.NewFakeDB() statsService := statstest.NewFakeService() mockSystemStats(statsService) s := createService(t, setting.NewCfg(), store, statsService) @@ -124,7 +124,7 @@ func TestFeatureUsageStats(t *testing.T) { } func TestCollectingUsageStats(t *testing.T) { - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() statsService := statstest.NewFakeService() expectedDataSources := []*datasources.DataSource{ { @@ -207,7 +207,7 @@ func TestCollectingUsageStats(t *testing.T) { } func TestElasticStats(t *testing.T) { - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() statsService := statstest.NewFakeService() expectedDataSources := []*datasources.DataSource{ @@ -247,7 +247,7 @@ func TestElasticStats(t *testing.T) { assert.EqualValues(t, 1, metrics["stats.ds."+datasources.DS_ES+".v70_1_1.count"]) } func TestDatasourceStats(t *testing.T) { - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() statsService := statstest.NewFakeService() s := createService(t, &setting.Cfg{}, sqlStore, statsService) @@ -355,7 +355,7 @@ func TestDatasourceStats(t *testing.T) { } func TestAlertNotifiersStats(t *testing.T) { - sqlStore := mockstore.NewSQLStoreMock() + sqlStore := dbtest.NewFakeDB() statsService := statstest.NewFakeService() s := createService(t, &setting.Cfg{}, sqlStore, statsService) diff --git a/pkg/server/wire.go b/pkg/server/wire.go index c4f266566dc..cb7f1ce6eaa 100644 --- a/pkg/server/wire.go +++ b/pkg/server/wire.go @@ -116,7 +116,6 @@ import ( "github.com/grafana/grafana/pkg/services/shorturls" "github.com/grafana/grafana/pkg/services/shorturls/shorturlimpl" "github.com/grafana/grafana/pkg/services/sqlstore" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/star/starimpl" "github.com/grafana/grafana/pkg/services/stats/statsimpl" "github.com/grafana/grafana/pkg/services/store" @@ -384,7 +383,6 @@ var wireTestSet = wire.NewSet( wire.Bind(new(notifications.Service), new(*notifications.NotificationServiceMock)), wire.Bind(new(notifications.WebhookSender), new(*notifications.NotificationServiceMock)), wire.Bind(new(notifications.EmailSender), new(*notifications.NotificationServiceMock)), - mockstore.NewSQLStoreMock, wire.Bind(new(db.DB), new(*sqlstore.SQLStore)), prefimpl.ProvideService, oauthtoken.ProvideService, diff --git a/pkg/services/alerting/conditions/query_interval_test.go b/pkg/services/alerting/conditions/query_interval_test.go index 5334e3f24d5..7fe1f7177fa 100644 --- a/pkg/services/alerting/conditions/query_interval_test.go +++ b/pkg/services/alerting/conditions/query_interval_test.go @@ -5,11 +5,13 @@ import ( "testing" "github.com/grafana/grafana/pkg/components/simplejson" + "github.com/grafana/grafana/pkg/infra/db/dbtest" + "github.com/grafana/grafana/pkg/infra/localcache" "github.com/grafana/grafana/pkg/services/alerting" "github.com/grafana/grafana/pkg/services/datasources" fd "github.com/grafana/grafana/pkg/services/datasources/fakes" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/validations" + "github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/tsdb/intervalv2" "github.com/grafana/grafana/pkg/tsdb/legacydata" @@ -138,7 +140,8 @@ func (rh fakeIntervalTestReqHandler) HandleRequest(ctx context.Context, dsInfo * //nolint:staticcheck // legacydata.DataResponse deprecated func applyScenario(t *testing.T, timeRange string, dataSourceJsonData *simplejson.Json, queryModel string, verifier func(query legacydata.DataSubQuery)) { t.Run("desc", func(t *testing.T) { - store := mockstore.NewSQLStoreMock() + db := dbtest.NewFakeDB() + store := alerting.ProvideAlertStore(db, localcache.ProvideService(), &setting.Cfg{}, nil) ctx := &queryIntervalTestContext{} ctx.result = &alerting.EvalContext{ diff --git a/pkg/services/alerting/conditions/query_test.go b/pkg/services/alerting/conditions/query_test.go index dd3039eef32..3def8a5042a 100644 --- a/pkg/services/alerting/conditions/query_test.go +++ b/pkg/services/alerting/conditions/query_test.go @@ -6,10 +6,12 @@ import ( "testing" "time" + "github.com/grafana/grafana/pkg/infra/db/dbtest" + "github.com/grafana/grafana/pkg/infra/localcache" "github.com/grafana/grafana/pkg/services/datasources" fd "github.com/grafana/grafana/pkg/services/datasources/fakes" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" "github.com/grafana/grafana/pkg/services/validations" + "github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/tsdb/legacydata" "github.com/google/go-cmp/cmp" @@ -37,8 +39,8 @@ func newTimeSeriesPointsFromArgs(values ...float64) legacydata.DataTimeSeriesPoi func TestQueryCondition(t *testing.T) { setup := func() *queryConditionTestContext { ctx := &queryConditionTestContext{} - store := mockstore.NewSQLStoreMock() - + db := dbtest.NewFakeDB() + store := alerting.ProvideAlertStore(db, localcache.ProvideService(), &setting.Cfg{}, nil) ctx.reducer = `{"type":"avg"}` ctx.evaluator = `{"type":"gt","params":[100]}` ctx.result = &alerting.EvalContext{ diff --git a/pkg/services/alerting/extractor_test.go b/pkg/services/alerting/extractor_test.go index 42d8b57154b..39c0eb55a42 100644 --- a/pkg/services/alerting/extractor_test.go +++ b/pkg/services/alerting/extractor_test.go @@ -11,12 +11,14 @@ import ( "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/components/simplejson" - "github.com/grafana/grafana/pkg/infra/db" + "github.com/grafana/grafana/pkg/infra/db/dbtest" + "github.com/grafana/grafana/pkg/infra/localcache" "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/dashboards" "github.com/grafana/grafana/pkg/services/datasources" "github.com/grafana/grafana/pkg/services/datasources/permissions" - "github.com/grafana/grafana/pkg/services/sqlstore/mockstore" + "github.com/grafana/grafana/pkg/services/sqlstore" + "github.com/grafana/grafana/pkg/setting" ) func TestAlertRuleExtraction(t *testing.T) { @@ -39,7 +41,8 @@ func TestAlertRuleExtraction(t *testing.T) { } dsService := &fakeDatasourceService{ExpectedDatasource: defaultDs} - store := mockstore.NewSQLStoreMock() + db := dbtest.NewFakeDB() + store := ProvideAlertStore(db, localcache.ProvideService(), &setting.Cfg{}, nil) extractor := ProvideDashAlertExtractorService(dsPermissions, dsService, store) t.Run("Parsing alert rules from dashboard json", func(t *testing.T) { @@ -201,7 +204,7 @@ func TestAlertRuleExtraction(t *testing.T) { }) t.Run("Alert notifications are in DB", func(t *testing.T) { - sqlStore := sqlStore{db: db.InitTestDB(t)} + sqlStore := sqlStore{db: sqlstore.InitTestDB(t)} firstNotification := models.CreateAlertNotificationCommand{Uid: "notifier1", OrgId: 1, Name: "1"} err = sqlStore.CreateAlertNotificationCommand(context.Background(), &firstNotification) diff --git a/pkg/services/sqlstore/mockstore/mockstore.go b/pkg/services/sqlstore/mockstore/mockstore.go deleted file mode 100644 index ce249e6095c..00000000000 --- a/pkg/services/sqlstore/mockstore/mockstore.go +++ /dev/null @@ -1,148 +0,0 @@ -package mockstore - -import ( - "context" - - "xorm.io/core" - - "github.com/grafana/grafana/pkg/models" - "github.com/grafana/grafana/pkg/services/sqlstore" - "github.com/grafana/grafana/pkg/services/sqlstore/migrator" - "github.com/grafana/grafana/pkg/services/sqlstore/session" - "github.com/grafana/grafana/pkg/services/stats" - "github.com/grafana/grafana/pkg/services/team" - "github.com/grafana/grafana/pkg/services/user" -) - -type OrgListResponse []struct { - OrgId int64 - Response error -} -type SQLStoreMock struct { - LastGetAlertsQuery *models.GetAlertsQuery - - ExpectedUser *user.User - ExpectedTeamsByUser []*team.TeamDTO - ExpectedAlert *models.Alert - ExpectedSystemStats *stats.SystemStats - ExpectedDataSourceStats []*stats.DataSourceStats - ExpectedDataSourcesAccessStats []*stats.DataSourceAccessStats - ExpectedNotifierUsageStats []*stats.NotifierUsageStats - ExpectedSignedInUser *user.SignedInUser - - ExpectedError error -} - -func NewSQLStoreMock() *SQLStoreMock { - return &SQLStoreMock{} -} - -func (m *SQLStoreMock) GetDialect() migrator.Dialect { - return nil -} - -func (m *SQLStoreMock) GetDBType() core.DbType { - return "" -} - -func (m *SQLStoreMock) CreateUser(ctx context.Context, cmd user.CreateUserCommand) (*user.User, error) { - return nil, m.ExpectedError -} - -func (m *SQLStoreMock) GetUserProfile(ctx context.Context, query *user.GetUserProfileQuery) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) CreateTeam(name string, email string, orgID int64) (team.Team, error) { - return team.Team{ - Name: name, - Email: email, - OrgID: orgID, - }, nil -} - -func (m *SQLStoreMock) WithDbSession(ctx context.Context, callback sqlstore.DBTransactionFunc) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) WithNewDbSession(ctx context.Context, callback sqlstore.DBTransactionFunc) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) WithTransactionalDbSession(ctx context.Context, callback sqlstore.DBTransactionFunc) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) InTransaction(ctx context.Context, fn func(ctx context.Context) error) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) Migrate(_ bool) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) Sync() error { - return m.ExpectedError -} - -func (m *SQLStoreMock) Reset() error { - return m.ExpectedError -} - -func (m *SQLStoreMock) Quote(value string) string { - return "" -} - -func (m *SQLStoreMock) GetSqlxSession() *session.SessionDB { - return nil -} - -func (m *SQLStoreMock) GetAlertById(ctx context.Context, query *models.GetAlertByIdQuery) error { - query.Result = m.ExpectedAlert - return m.ExpectedError -} - -func (m *SQLStoreMock) GetAlertNotificationUidWithId(ctx context.Context, query *models.GetAlertNotificationUidQuery) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) GetAlertNotificationsWithUidToSend(ctx context.Context, query *models.GetAlertNotificationsWithUidToSendQuery) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) GetAlertStatesForDashboard(ctx context.Context, query *models.GetAlertStatesForDashboardQuery) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) GetAllAlertQueryHandler(ctx context.Context, query *models.GetAllAlertsQuery) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) GetOrCreateAlertNotificationState(ctx context.Context, cmd *models.GetOrCreateNotificationStateQuery) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) HandleAlertsQuery(ctx context.Context, query *models.GetAlertsQuery) error { - m.LastGetAlertsQuery = query - return m.ExpectedError -} - -func (m *SQLStoreMock) PauseAlert(ctx context.Context, cmd *models.PauseAlertCommand) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) PauseAllAlerts(ctx context.Context, cmd *models.PauseAllAlertCommand) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) SetAlertNotificationStateToCompleteCommand(ctx context.Context, cmd *models.SetAlertNotificationStateToCompleteCommand) error { - return m.ExpectedError -} - -func (m *SQLStoreMock) SetAlertNotificationStateToPendingCommand(ctx context.Context, cmd *models.SetAlertNotificationStateToPendingCommand) error { - return m.ExpectedError -} - -func (m SQLStoreMock) SetAlertState(ctx context.Context, cmd *models.SetAlertStateCommand) error { - return m.ExpectedError -}