@ -96,49 +96,97 @@ func BenchmarkFolderListAndSearch(b *testing.B) {
features * featuremgmt . FeatureManager
} {
{
desc : "get root folders with nested folders feature enabled" ,
desc : "impl=default nested_folders=on get root folders" ,
url : "/api/folders" ,
expectedLen : LEVEL0_FOLDER_NUM ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=on get root folders" ,
url : "/api/folders" ,
expectedLen : LEVEL0_FOLDER_NUM ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders , featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "get subfolders with nested folders feature enabled" ,
desc : "impl=default nested_folders=on get subfolders" ,
url : "/api/folders?parentUid=folder0" ,
expectedLen : LEVEL1_FOLDER_NUM ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=on get subfolders" ,
url : "/api/folders?parentUid=folder0" ,
expectedLen : LEVEL1_FOLDER_NUM ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders , featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "list all inherited dashboards with nested folders feature enabled" ,
desc : "impl=default nested_folders=on list all inherited dashboards" ,
url : "/api/search?type=dash-db&limit=5000" ,
expectedLen : withLimit ( all ) ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=on list all inherited dashboards" ,
url : "/api/search?type=dash-db&limit=5000" ,
expectedLen : withLimit ( all ) ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders , featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "search for pattern with nested folders feature enabled" ,
desc : "impl=default nested_folders=on search for pattern" ,
url : "/api/search?type=dash-db&query=dashboard_0_0&limit=5000" ,
expectedLen : withLimit ( 1 + LEVEL1_DASHBOARD_NUM + LEVEL2_FOLDER_NUM * LEVEL2_DASHBOARD_NUM ) ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=on search for pattern" ,
url : "/api/search?type=dash-db&query=dashboard_0_0&limit=5000" ,
expectedLen : withLimit ( 1 + LEVEL1_DASHBOARD_NUM + LEVEL2_FOLDER_NUM * LEVEL2_DASHBOARD_NUM ) ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders , featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "search for specific dashboard nested folders feature enabled" ,
desc : "impl=default nested_folders=on search for specific dashboard" ,
url : "/api/search?type=dash-db&query=dashboard_0_0_0_0" ,
expectedLen : 1 ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=on search for specific dashboard" ,
url : "/api/search?type=dash-db&query=dashboard_0_0_0_0" ,
expectedLen : 1 ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagNestedFolders , featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "get root folders with nested folders feature disabled" ,
desc : "impl=default nested_folders=off get root folders" ,
url : "/api/folders?limit=5000" ,
expectedLen : withLimit ( LEVEL0_FOLDER_NUM ) ,
features : featuremgmt . WithFeatures ( ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=off get root folders" ,
url : "/api/folders?limit=5000" ,
expectedLen : withLimit ( LEVEL0_FOLDER_NUM ) ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "list all dashboards with nested folders feature disabled" ,
desc : "impl=default nested_folders=off list all dashboards" ,
url : "/api/search?type=dash-db&limit=5000" ,
expectedLen : withLimit ( LEVEL0_FOLDER_NUM * LEVEL0_DASHBOARD_NUM ) ,
features : featuremgmt . WithFeatures ( ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=off list all dashboards" ,
url : "/api/search?type=dash-db&limit=5000" ,
expectedLen : withLimit ( LEVEL0_FOLDER_NUM * LEVEL0_DASHBOARD_NUM ) ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,
} ,
{
desc : "search specific dashboard with nested folders feature disabled" ,
desc : "impl=default nested_folders=off search specific dashboard" ,
url : "/api/search?type=dash-db&query=dashboard_0_0" ,
expectedLen : 1 ,
features : featuremgmt . WithFeatures ( ) ,
} ,
{
desc : "impl=permissionsFilterRemoveSubquery nested_folders=off search specific dashboard" ,
url : "/api/search?type=dash-db&query=dashboard_0_0" ,
expectedLen : 1 ,
features : featuremgmt . WithFeatures ( featuremgmt . FlagPermissionsFilterRemoveSubquery ) ,