@ -58,7 +58,7 @@ func TestIntegrationProvideFolderService(t *testing.T) {
t . Run ( "should register scope resolvers" , func ( t * testing . T ) {
cfg := setting . NewCfg ( )
ac := acmock . New ( )
db := sqlstore . InitTestDB ( t )
db := db . InitTestDB ( t )
ProvideService ( ac , bus . ProvideBus ( tracing . InitializeTracerForTest ( ) ) , cfg , nil , nil , db , featuremgmt . WithFeatures ( ) , supportbundlestest . NewFakeBundleService ( ) , nil )
require . Len ( t , ac . Calls . RegisterAttributeScopeResolver , 3 )
@ -71,12 +71,11 @@ func TestIntegrationFolderService(t *testing.T) {
}
t . Run ( "Folder service tests" , func ( t * testing . T ) {
dashStore := & dashboards . FakeDashboardStore { }
db := sqlstore . InitTestDB ( t )
nestedFolderStore := ProvideStore ( db , db . C fg)
db , cfg := sqlstore . InitTestDB ( t )
nestedFolderStore := ProvideStore ( db , c fg)
folderStore := foldertest . NewFakeFolderStore ( t )
cfg := setting . NewCfg ( )
features := featuremgmt . WithFeatures ( )
ac := acmock . New ( ) . WithPermissions ( [ ] accesscontrol . Permission {
@ -354,16 +353,14 @@ func TestIntegrationNestedFolderService(t *testing.T) {
if testing . Short ( ) {
t . Skip ( "skipping integration test" )
}
db := sqlstore . InitTestDB ( t )
db , cfg := sqlstore . InitTestDB ( t )
quotaService := quotatest . New ( false , nil )
folderStore := ProvideDashboardFolderStore ( db )
cfg := setting . NewCfg ( )
featuresFlagOn := featuremgmt . WithFeatures ( "nestedFolders" )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, featuresFlagOn , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , cfg , featuresFlagOn , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
b := bus . ProvideBus ( tracing . InitializeTracerForTest ( ) )
ac := acimpl . ProvideAccessControl ( cfg )
@ -479,9 +476,9 @@ func TestIntegrationNestedFolderService(t *testing.T) {
} )
t . Run ( "With nested folder feature flag off" , func ( t * testing . T ) {
featuresFlagOff := featuremgmt . WithFeatures ( )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , c fg, featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
serviceWithFlagOff := & Service {
cfg : cfg ,
@ -644,9 +641,9 @@ func TestIntegrationNestedFolderService(t *testing.T) {
lps , err := librarypanels . ProvideService ( cfg , db , routeRegister , elementService , tc . service )
require . NoError ( t , err )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, tc . featuresFlag , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , c fg, tc . featuresFlag , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
tc . service . dashboardStore = dashStore
tc . service . store = nestedFolderStore
@ -737,11 +734,11 @@ func TestNestedFolderServiceFeatureToggle(t *testing.T) {
dashboardFolderStore := foldertest . NewFakeFolderStore ( t )
cfg := setting . NewCfg ( )
db , cfg := sqlstore . InitTestDB ( t )
folderService := & Service {
cfg : cfg ,
store : nestedFolderStore ,
db : sqlstore . InitTestDB ( t ) ,
db : db ,
dashboardStore : & dashStore ,
dashboardFolderStore : dashboardFolderStore ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
@ -765,7 +762,7 @@ func TestFolderServiceDualWrite(t *testing.T) {
guardian . New = g
} )
db := sqlstore . InitTestDB ( t )
db , _ := sqlstore . InitTestDB ( t )
cfg := setting . NewCfg ( )
features := featuremgmt . WithFeatures ( )
nestedFolderStore := ProvideStore ( db , cfg )
@ -778,7 +775,7 @@ func TestFolderServiceDualWrite(t *testing.T) {
folderService := & Service {
cfg : setting . NewCfg ( ) ,
store : nestedFolderStore ,
db : sqlstore . InitTestDB ( t ) ,
db : db ,
dashboardStore : dashStore ,
dashboardFolderStore : dashboardFolderStore ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
@ -845,7 +842,8 @@ func TestNestedFolderService(t *testing.T) {
nestedFolderStore := NewFakeStore ( )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( ) , acimpl . ProvideAccessControl ( setting . NewCfg ( ) ) , sqlstore . InitTestDB ( t ) )
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( ) , acimpl . ProvideAccessControl ( setting . NewCfg ( ) ) , db )
_ , err := folderSvc . Create ( context . Background ( ) , & folder . CreateFolderCommand {
OrgID : orgID ,
Title : dash . Title ,
@ -877,7 +875,8 @@ func TestNestedFolderService(t *testing.T) {
dashboardFolderStore := foldertest . NewFakeFolderStore ( t )
nestedFolderStore := NewFakeStore ( )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , acimpl . ProvideAccessControl ( setting . NewCfg ( ) ) , sqlstore . InitTestDB ( t ) )
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , acimpl . ProvideAccessControl ( setting . NewCfg ( ) ) , db )
_ , err := folderSvc . Create ( context . Background ( ) , & folder . CreateFolderCommand {
OrgID : orgID ,
Title : dash . Title ,
@ -942,7 +941,8 @@ func TestNestedFolderService(t *testing.T) {
nestedFolderUser . Permissions [ orgID ] = map [ string ] [ ] string { dashboards . ActionFoldersWrite : { dashboards . ScopeFoldersProvider . GetResourceScopeUID ( "some_parent" ) } }
nestedFolderStore := NewFakeStore ( )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , acimpl . ProvideAccessControl ( setting . NewCfg ( ) ) , sqlstore . InitTestDB ( t ) )
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , acimpl . ProvideAccessControl ( setting . NewCfg ( ) ) , db )
_ , err := folderSvc . Create ( context . Background ( ) , & folder . CreateFolderCommand {
OrgID : orgID ,
Title : dash . Title ,
@ -969,9 +969,10 @@ func TestNestedFolderService(t *testing.T) {
dashboardFolderStore := foldertest . NewFakeFolderStore ( t )
nestedFolderStore := NewFakeStore ( )
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , actest . FakeAccessControl {
ExpectedEvaluate : true ,
} , sqlstore . InitTestDB ( t ) )
} , db )
f , err := folderSvc . Create ( context . Background ( ) , & folder . CreateFolderCommand {
OrgID : orgID ,
Title : "myFolder" ,
@ -1019,9 +1020,10 @@ func TestNestedFolderService(t *testing.T) {
SignedInUser : usr ,
}
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , actest . FakeAccessControl {
ExpectedEvaluate : true ,
} , sqlstore . InitTestDB ( t ) )
} , db )
_ , err := folderSvc . Create ( context . Background ( ) , & cmd )
require . Error ( t , err , folder . ErrCircularReference )
// CreateFolder should not call the folder store's create method.
@ -1048,9 +1050,10 @@ func TestNestedFolderService(t *testing.T) {
nestedFolderStore . ExpectedError = errors . New ( "FAILED" )
// the service return success as long as the legacy create succeeds
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , actest . FakeAccessControl {
ExpectedEvaluate : true ,
} , sqlstore . InitTestDB ( t ) )
} , db )
_ , err := folderSvc . Create ( context . Background ( ) , & folder . CreateFolderCommand {
OrgID : orgID ,
Title : "myFolder" ,
@ -1232,9 +1235,10 @@ func TestNestedFolderService(t *testing.T) {
//nestedFolderStore.ExpectedFolder = &folder.Folder{UID: "myFolder", ParentUID: "newFolder"}
nestedFolderStore . ExpectedParentFolders = parents
db , _ := sqlstore . InitTestDB ( t )
folderSvc := setup ( t , dashStore , dashboardFolderStore , nestedFolderStore , featuremgmt . WithFeatures ( "nestedFolders" ) , actest . FakeAccessControl {
ExpectedEvaluate : true ,
} , sqlstore . InitTestDB ( t ) )
} , db )
_ , err := folderSvc . Create ( context . Background ( ) , & folder . CreateFolderCommand {
Title : "folder" ,
OrgID : orgID ,
@ -1277,16 +1281,14 @@ func TestIntegrationNestedFolderSharedWithMe(t *testing.T) {
if testing . Short ( ) {
t . Skip ( "skipping integration test" )
}
db := sqlstore . InitTestDB ( t )
db , cfg := sqlstore . InitTestDB ( t )
quotaService := quotatest . New ( false , nil )
folderStore := ProvideDashboardFolderStore ( db )
cfg := setting . NewCfg ( )
featuresFlagOn := featuremgmt . WithFeatures ( "nestedFolders" )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, featuresFlagOn , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , cfg , featuresFlagOn , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
b := bus . ProvideBus ( tracing . InitializeTracerForTest ( ) )
ac := acimpl . ProvideAccessControl ( cfg )
@ -1631,7 +1633,7 @@ func TestIntegrationNestedFolderSharedWithMe(t *testing.T) {
}
func TestFolderServiceGetFolder ( t * testing . T ) {
db := sqlstore . InitTestDB ( t )
db , _ := sqlstore . InitTestDB ( t )
signedInAdminUser := user . SignedInUser { UserID : 1 , OrgID : orgID , Permissions : map [ int64 ] map [ string ] [ ] string {
orgID : {
@ -1653,9 +1655,9 @@ func TestFolderServiceGetFolder(t *testing.T) {
cfg := setting . NewCfg ( )
featuresFlagOff := featuremgmt . WithFeatures ( )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , c fg, featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
b := bus . ProvideBus ( tracing . InitializeTracerForTest ( ) )
ac := acimpl . ProvideAccessControl ( cfg )
@ -1731,16 +1733,14 @@ func TestFolderServiceGetFolder(t *testing.T) {
}
func TestFolderServiceGetFolders ( t * testing . T ) {
db := sqlstore . InitTestDB ( t )
db , cfg := sqlstore . InitTestDB ( t )
quotaService := quotatest . New ( false , nil )
folderStore := ProvideDashboardFolderStore ( db )
cfg := setting . NewCfg ( )
featuresFlagOff := featuremgmt . WithFeatures ( )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , cfg , featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
b := bus . ProvideBus ( tracing . InitializeTracerForTest ( ) )
ac := acimpl . ProvideAccessControl ( cfg )
@ -1809,7 +1809,7 @@ func TestFolderServiceGetFolders(t *testing.T) {
// TODO replace it with an API test under /pkg/tests/api/folders
// whenever the golang client with get updated to allow filtering child folders by permission
func TestGetChildrenFilterByPermission ( t * testing . T ) {
db := sqlstore . InitTestDB ( t )
db , cfg := sqlstore . InitTestDB ( t )
signedInAdminUser := user . SignedInUser { UserID : 1 , OrgID : orgID , Permissions : map [ int64 ] map [ string ] [ ] string {
orgID : {
@ -1822,12 +1822,10 @@ func TestGetChildrenFilterByPermission(t *testing.T) {
quotaService := quotatest . New ( false , nil )
folderStore := ProvideDashboardFolderStore ( db )
cfg := setting . NewCfg ( )
featuresFlagOff := featuremgmt . WithFeatures ( )
dashStore , err := database . ProvideDashboardStore ( db , db . C fg, featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
dashStore , err := database . ProvideDashboardStore ( db , cfg , featuresFlagOff , tagimpl . ProvideService ( db ) , quotaService )
require . NoError ( t , err )
nestedFolderStore := ProvideStore ( db , db . C fg)
nestedFolderStore := ProvideStore ( db , c fg)
b := bus . ProvideBus ( tracing . InitializeTracerForTest ( ) )
ac := acimpl . ProvideAccessControl ( cfg )