Merge remote-tracking branch 'origin/main' into ds-apiserver-with-configs

This commit is contained in:
Ryan McKinley
2025-07-09 14:35:20 -07:00
1005 changed files with 5390 additions and 6095 deletions
@@ -22,8 +22,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg",
"large": "public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg"
"small": "public/plugins/alertlist/img/icn-singlestat-panel.svg",
"large": "public/plugins/alertlist/img/icn-singlestat-panel.svg"
},
"build": {},
"screenshots": null,
@@ -76,8 +76,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/alertmanager/img/logo.svg",
"large": "public/app/plugins/datasource/alertmanager/img/logo.svg"
"small": "public/plugins/alertmanager/img/logo.svg",
"large": "public/plugins/alertmanager/img/logo.svg"
},
"build": {},
"screenshots": null,
@@ -133,8 +133,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/annolist/img/icn-annolist-panel.svg",
"large": "public/app/plugins/panel/annolist/img/icn-annolist-panel.svg"
"small": "public/plugins/annolist/img/icn-annolist-panel.svg",
"large": "public/plugins/annolist/img/icn-annolist-panel.svg"
},
"build": {},
"screenshots": null,
@@ -191,22 +191,22 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/azuremonitor/img/logo.jpg",
"large": "public/app/plugins/datasource/azuremonitor/img/logo.jpg"
"small": "public/plugins/grafana-azure-monitor-datasource/img/logo.jpg",
"large": "public/plugins/grafana-azure-monitor-datasource/img/logo.jpg"
},
"build": {},
"screenshots": [
{
"name": "Azure Contoso Loans",
"path": "public/app/plugins/datasource/azuremonitor/img/contoso_loans_grafana_dashboard.png"
"path": "public/plugins/grafana-azure-monitor-datasource/img/contoso_loans_grafana_dashboard.png"
},
{
"name": "Azure Monitor Network",
"path": "public/app/plugins/datasource/azuremonitor/img/azure_monitor_network.png"
"path": "public/plugins/grafana-azure-monitor-datasource/img/azure_monitor_network.png"
},
{
"name": "Azure Monitor CPU",
"path": "public/app/plugins/datasource/azuremonitor/img/azure_monitor_cpu.png"
"path": "public/plugins/grafana-azure-monitor-datasource/img/azure_monitor_cpu.png"
}
],
"version": "12.1.0-pre",
@@ -260,8 +260,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/barchart/img/barchart.svg",
"large": "public/app/plugins/panel/barchart/img/barchart.svg"
"small": "public/plugins/barchart/img/barchart.svg",
"large": "public/plugins/barchart/img/barchart.svg"
},
"build": {},
"screenshots": null,
@@ -310,8 +310,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg",
"large": "public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg"
"small": "public/plugins/bargauge/img/icon_bar_gauge.svg",
"large": "public/plugins/bargauge/img/icon_bar_gauge.svg"
},
"build": {},
"screenshots": null,
@@ -360,8 +360,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/candlestick/img/candlestick.svg",
"large": "public/app/plugins/panel/candlestick/img/candlestick.svg"
"small": "public/plugins/candlestick/img/candlestick.svg",
"large": "public/plugins/candlestick/img/candlestick.svg"
},
"build": {},
"screenshots": null,
@@ -415,8 +415,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/canvas/img/icn-canvas.svg",
"large": "public/app/plugins/panel/canvas/img/icn-canvas.svg"
"small": "public/plugins/canvas/img/icn-canvas.svg",
"large": "public/plugins/canvas/img/icn-canvas.svg"
},
"build": {},
"screenshots": null,
@@ -465,8 +465,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png",
"large": "public/app/plugins/datasource/cloudwatch/img/amazon-web-services.png"
"small": "public/plugins/cloudwatch/img/amazon-web-services.png",
"large": "public/plugins/cloudwatch/img/amazon-web-services.png"
},
"build": {},
"screenshots": null,
@@ -518,8 +518,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg",
"large": "public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg"
"small": "public/plugins/dashlist/img/icn-dashlist-panel.svg",
"large": "public/plugins/dashlist/img/icn-dashlist-panel.svg"
},
"build": {},
"screenshots": null,
@@ -568,8 +568,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/datagrid/img/icn-table-panel.svg",
"large": "public/app/plugins/panel/datagrid/img/icn-table-panel.svg"
"small": "public/plugins/datagrid/img/icn-table-panel.svg",
"large": "public/plugins/datagrid/img/icn-table-panel.svg"
},
"build": {},
"screenshots": null,
@@ -622,8 +622,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg",
"large": "public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg"
"small": "public/plugins/elasticsearch/img/elasticsearch.svg",
"large": "public/plugins/elasticsearch/img/elasticsearch.svg"
},
"build": {},
"screenshots": null,
@@ -679,8 +679,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/flamegraph/img/icn-flamegraph.svg",
"large": "public/app/plugins/panel/flamegraph/img/icn-flamegraph.svg"
"small": "public/plugins/flamegraph/img/icn-flamegraph.svg",
"large": "public/plugins/flamegraph/img/icn-flamegraph.svg"
},
"build": {},
"screenshots": null,
@@ -729,8 +729,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/gauge/img/icon_gauge.svg",
"large": "public/app/plugins/panel/gauge/img/icon_gauge.svg"
"small": "public/plugins/gauge/img/icon_gauge.svg",
"large": "public/plugins/gauge/img/icon_gauge.svg"
},
"build": {},
"screenshots": null,
@@ -779,8 +779,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/geomap/img/icn-geomap.svg",
"large": "public/app/plugins/panel/geomap/img/icn-geomap.svg"
"small": "public/plugins/geomap/img/icn-geomap.svg",
"large": "public/plugins/geomap/img/icn-geomap.svg"
},
"build": {},
"screenshots": null,
@@ -825,8 +825,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg",
"large": "public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg"
"small": "public/plugins/gettingstarted/img/icn-dashlist-panel.svg",
"large": "public/plugins/gettingstarted/img/icn-dashlist-panel.svg"
},
"build": {},
"screenshots": null,
@@ -875,8 +875,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/cloud-monitoring/img/cloud_monitoring_logo.svg",
"large": "public/app/plugins/datasource/cloud-monitoring/img/cloud_monitoring_logo.svg"
"small": "public/plugins/stackdriver/img/cloud_monitoring_logo.svg",
"large": "public/plugins/stackdriver/img/cloud_monitoring_logo.svg"
},
"build": {},
"screenshots": null,
@@ -929,8 +929,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/grafana-pyroscope-datasource/img/grafana_pyroscope_icon.svg",
"large": "public/app/plugins/datasource/grafana-pyroscope-datasource/img/grafana_pyroscope_icon.svg"
"small": "public/plugins/grafana-pyroscope-datasource/img/grafana_pyroscope_icon.svg",
"large": "public/plugins/grafana-pyroscope-datasource/img/grafana_pyroscope_icon.svg"
},
"build": {},
"screenshots": null,
@@ -995,8 +995,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/graphite/img/graphite_logo.png",
"large": "public/app/plugins/datasource/graphite/img/graphite_logo.png"
"small": "public/plugins/graphite/img/graphite_logo.png",
"large": "public/plugins/graphite/img/graphite_logo.png"
},
"build": {},
"screenshots": null,
@@ -1045,8 +1045,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg",
"large": "public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg"
"small": "public/plugins/heatmap/img/icn-heatmap-panel.svg",
"large": "public/plugins/heatmap/img/icn-heatmap-panel.svg"
},
"build": {},
"screenshots": null,
@@ -1095,8 +1095,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/histogram/img/histogram.svg",
"large": "public/app/plugins/panel/histogram/img/histogram.svg"
"small": "public/plugins/histogram/img/histogram.svg",
"large": "public/plugins/histogram/img/histogram.svg"
},
"build": {},
"screenshots": null,
@@ -1150,8 +1150,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/influxdb/img/influxdb_logo.svg",
"large": "public/app/plugins/datasource/influxdb/img/influxdb_logo.svg"
"small": "public/plugins/influxdb/img/influxdb_logo.svg",
"large": "public/plugins/influxdb/img/influxdb_logo.svg"
},
"build": {},
"screenshots": null,
@@ -1212,8 +1212,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/jaeger/img/jaeger_logo.svg",
"large": "public/app/plugins/datasource/jaeger/img/jaeger_logo.svg"
"small": "public/plugins/jaeger/img/jaeger_logo.svg",
"large": "public/plugins/jaeger/img/jaeger_logo.svg"
},
"build": {},
"screenshots": null,
@@ -1262,8 +1262,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/logs/img/icn-logs-panel.svg",
"large": "public/app/plugins/panel/logs/img/icn-logs-panel.svg"
"small": "public/plugins/logs/img/icn-logs-panel.svg",
"large": "public/plugins/logs/img/icn-logs-panel.svg"
},
"build": {},
"screenshots": null,
@@ -1320,8 +1320,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/loki/img/loki_icon.svg",
"large": "public/app/plugins/datasource/loki/img/loki_icon.svg"
"small": "public/plugins/loki/img/loki_icon.svg",
"large": "public/plugins/loki/img/loki_icon.svg"
},
"build": {},
"screenshots": null,
@@ -1370,8 +1370,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/mssql/img/sql_server_logo.svg",
"large": "public/app/plugins/datasource/mssql/img/sql_server_logo.svg"
"small": "public/plugins/mssql/img/sql_server_logo.svg",
"large": "public/plugins/mssql/img/sql_server_logo.svg"
},
"build": {},
"screenshots": null,
@@ -1420,8 +1420,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/mysql/img/mysql_logo.svg",
"large": "public/app/plugins/datasource/mysql/img/mysql_logo.svg"
"small": "public/plugins/mysql/img/mysql_logo.svg",
"large": "public/plugins/mysql/img/mysql_logo.svg"
},
"build": {},
"screenshots": null,
@@ -1470,8 +1470,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/news/img/news.svg",
"large": "public/app/plugins/panel/news/img/news.svg"
"small": "public/plugins/news/img/news.svg",
"large": "public/plugins/news/img/news.svg"
},
"build": {},
"screenshots": null,
@@ -1520,8 +1520,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg",
"large": "public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg"
"small": "public/plugins/nodeGraph/img/icn-node-graph.svg",
"large": "public/plugins/nodeGraph/img/icn-node-graph.svg"
},
"build": {},
"screenshots": null,
@@ -1570,8 +1570,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png",
"large": "public/app/plugins/datasource/opentsdb/img/opentsdb_logo.png"
"small": "public/plugins/opentsdb/img/opentsdb_logo.png",
"large": "public/plugins/opentsdb/img/opentsdb_logo.png"
},
"build": {},
"screenshots": null,
@@ -1624,8 +1624,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/parca/img/logo-small.svg",
"large": "public/app/plugins/datasource/parca/img/logo-small.svg"
"small": "public/plugins/parca/img/logo-small.svg",
"large": "public/plugins/parca/img/logo-small.svg"
},
"build": {},
"screenshots": null,
@@ -1679,8 +1679,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/piechart/img/icon_piechart.svg",
"large": "public/app/plugins/panel/piechart/img/icon_piechart.svg"
"small": "public/plugins/piechart/img/icon_piechart.svg",
"large": "public/plugins/piechart/img/icon_piechart.svg"
},
"build": {},
"screenshots": null,
@@ -1729,8 +1729,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/grafana-postgresql-datasource/img/postgresql_logo.svg",
"large": "public/app/plugins/datasource/grafana-postgresql-datasource/img/postgresql_logo.svg"
"small": "public/plugins/grafana-postgresql-datasource/img/postgresql_logo.svg",
"large": "public/plugins/grafana-postgresql-datasource/img/postgresql_logo.svg"
},
"build": {},
"screenshots": null,
@@ -1783,8 +1783,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/prometheus/img/prometheus_logo.svg",
"large": "public/app/plugins/datasource/prometheus/img/prometheus_logo.svg"
"small": "public/plugins/prometheus/img/prometheus_logo.svg",
"large": "public/plugins/prometheus/img/prometheus_logo.svg"
},
"build": {},
"screenshots": null,
@@ -1833,8 +1833,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/stat/img/icn-singlestat-panel.svg",
"large": "public/app/plugins/panel/stat/img/icn-singlestat-panel.svg"
"small": "public/plugins/stat/img/icn-singlestat-panel.svg",
"large": "public/plugins/stat/img/icn-singlestat-panel.svg"
},
"build": {},
"screenshots": null,
@@ -1883,8 +1883,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/state-timeline/img/timeline.svg",
"large": "public/app/plugins/panel/state-timeline/img/timeline.svg"
"small": "public/plugins/state-timeline/img/timeline.svg",
"large": "public/plugins/state-timeline/img/timeline.svg"
},
"build": {},
"screenshots": null,
@@ -1933,8 +1933,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/status-history/img/status.svg",
"large": "public/app/plugins/panel/status-history/img/status.svg"
"small": "public/plugins/status-history/img/status.svg",
"large": "public/plugins/status-history/img/status.svg"
},
"build": {},
"screenshots": null,
@@ -1983,8 +1983,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/table/img/icn-table-panel.svg",
"large": "public/app/plugins/panel/table/img/icn-table-panel.svg"
"small": "public/plugins/table/img/icn-table-panel.svg",
"large": "public/plugins/table/img/icn-table-panel.svg"
},
"build": {},
"screenshots": null,
@@ -2037,8 +2037,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/tempo/img/tempo_logo.svg",
"large": "public/app/plugins/datasource/tempo/img/tempo_logo.svg"
"small": "public/plugins/tempo/img/tempo_logo.svg",
"large": "public/plugins/tempo/img/tempo_logo.svg"
},
"build": {},
"screenshots": null,
@@ -2087,8 +2087,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/grafana-testdata-datasource/img/testdata.svg",
"large": "public/app/plugins/datasource/grafana-testdata-datasource/img/testdata.svg"
"small": "public/plugins/grafana-testdata-datasource/img/testdata.svg",
"large": "public/plugins/grafana-testdata-datasource/img/testdata.svg"
},
"build": {},
"screenshots": null,
@@ -2137,8 +2137,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/text/img/icn-text-panel.svg",
"large": "public/app/plugins/panel/text/img/icn-text-panel.svg"
"small": "public/plugins/text/img/icn-text-panel.svg",
"large": "public/plugins/text/img/icn-text-panel.svg"
},
"build": {},
"screenshots": null,
@@ -2187,8 +2187,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/timeseries/img/icn-timeseries-panel.svg",
"large": "public/app/plugins/panel/timeseries/img/icn-timeseries-panel.svg"
"small": "public/plugins/timeseries/img/icn-timeseries-panel.svg",
"large": "public/plugins/timeseries/img/icn-timeseries-panel.svg"
},
"build": {},
"screenshots": null,
@@ -2237,8 +2237,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/traces/img/traces-panel.svg",
"large": "public/app/plugins/panel/traces/img/traces-panel.svg"
"small": "public/plugins/traces/img/traces-panel.svg",
"large": "public/plugins/traces/img/traces-panel.svg"
},
"build": {},
"screenshots": null,
@@ -2287,8 +2287,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/trend/img/trend.svg",
"large": "public/app/plugins/panel/trend/img/trend.svg"
"small": "public/plugins/trend/img/trend.svg",
"large": "public/plugins/trend/img/trend.svg"
},
"build": {},
"screenshots": null,
@@ -2333,8 +2333,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg",
"large": "public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg"
"small": "public/plugins/welcome/img/icn-dashlist-panel.svg",
"large": "public/plugins/welcome/img/icn-dashlist-panel.svg"
},
"build": {},
"screenshots": null,
@@ -2383,8 +2383,8 @@
}
],
"logos": {
"small": "public/app/plugins/panel/xychart/img/icn-xychart.svg",
"large": "public/app/plugins/panel/xychart/img/icn-xychart.svg"
"small": "public/plugins/xychart/img/icn-xychart.svg",
"large": "public/plugins/xychart/img/icn-xychart.svg"
},
"build": {},
"screenshots": null,
@@ -2440,8 +2440,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/zipkin/img/zipkin-logo.svg",
"large": "public/app/plugins/datasource/zipkin/img/zipkin-logo.svg"
"small": "public/plugins/zipkin/img/zipkin-logo.svg",
"large": "public/plugins/zipkin/img/zipkin-logo.svg"
},
"build": {},
"screenshots": null,
@@ -2467,4 +2467,4 @@
"signatureOrg": "",
"angularDetected": false
}
]
]
@@ -71,6 +71,7 @@ func TestIntegrationValidation(t *testing.T) {
EnableFeatureToggles: []string{
featuremgmt.FlagKubernetesClientDashboardsFolders, // Enable dashboard feature
featuremgmt.FlagUnifiedStorageSearch,
featuremgmt.FlagKubernetesDashboards, // Enable FE-only dashboard feature flag
},
UnifiedStorageConfig: map[string]setting.UnifiedStorageConfig{
"dashboards.dashboard.grafana.app": {
@@ -81,6 +82,36 @@ func TestIntegrationValidation(t *testing.T) {
testIntegrationValidationForServer(t, helper, dualWriterMode)
})
}
for _, dualWriterMode := range dualWriterModes {
t.Run(fmt.Sprintf("DualWriterMode %d - kubernetesDashboards disabled", dualWriterMode), func(t *testing.T) {
// Create a K8sTestHelper which will set up a real API server
helper := apis.NewK8sTestHelper(t, testinfra.GrafanaOpts{
DisableAnonymous: true,
EnableFeatureToggles: []string{
featuremgmt.FlagKubernetesClientDashboardsFolders, // Enable dashboard feature
featuremgmt.FlagUnifiedStorageSearch,
},
DisableFeatureToggles: []string{
featuremgmt.FlagKubernetesDashboards,
},
UnifiedStorageConfig: map[string]setting.UnifiedStorageConfig{
"dashboards.dashboard.grafana.app": {
DualWriterMode: dualWriterMode,
},
}})
t.Cleanup(func() {
helper.Shutdown()
})
org1Ctx := createTestContext(t, helper, helper.Org1, dualWriterMode)
t.Run("Dashboard permission tests", func(t *testing.T) {
runDashboardPermissionTests(t, org1Ctx, false)
})
})
}
}
func testIntegrationValidationForServer(t *testing.T, helper *apis.K8sTestHelper, dualWriterMode rest.DualWriterMode) {
@@ -106,7 +137,7 @@ func testIntegrationValidationForServer(t *testing.T, helper *apis.K8sTestHelper
})
t.Run("Dashboard permission tests", func(t *testing.T) {
runDashboardPermissionTests(t, org1Ctx)
runDashboardPermissionTests(t, org1Ctx, true)
})
t.Run("Dashboard LIST API test", func(t *testing.T) {
@@ -1225,7 +1256,7 @@ func runAuthorizationTests(t *testing.T, ctx TestContext) {
}
// Run tests for dashboard permissions
func runDashboardPermissionTests(t *testing.T, ctx TestContext) {
func runDashboardPermissionTests(t *testing.T, ctx TestContext, kubernetesDashboardsEnabled bool) {
t.Helper()
// Get clients for each user
@@ -1348,8 +1379,22 @@ func runDashboardPermissionTests(t *testing.T, ctx TestContext) {
// Clean up dashboard
err = adminClient.Resource.Delete(context.Background(), dash.GetName(), v1.DeleteOptions{})
require.NoError(t, err)
err = viewerClient.Resource.Delete(context.Background(), dashViewer.GetName(), v1.DeleteOptions{})
require.NoError(t, err)
if kubernetesDashboardsEnabled {
// In case kubernetesDashboards feature flag is set to true,
// we don't grant admin permission to dashboard creator on nested folders.
// This means that the viewer will not be able to delete the dashboard.
err = viewerClient.Resource.Delete(context.Background(), dashViewer.GetName(), v1.DeleteOptions{})
require.Error(t, err)
err = adminClient.Resource.Delete(context.Background(), dashViewer.GetName(), v1.DeleteOptions{})
require.NoError(t, err)
} else {
// In case kubernetesDashboards feature flag is set to false,
// we grant admin permission to dashboard creator on nested folders.
// This means that the viewer will be able to delete the dashboard.
err = viewerClient.Resource.Delete(context.Background(), dashViewer.GetName(), v1.DeleteOptions{})
require.NoError(t, err)
}
// Clean up the folder
err = adminFolderClient.Resource.Delete(context.Background(), folderUID, v1.DeleteOptions{})
+1
View File
@@ -1026,6 +1026,7 @@ func TestIntegrationFoldersGetAPIEndpointK8S(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
t.Skip("not working yet")
type testCase struct {
description string
+13 -1
View File
@@ -5,10 +5,13 @@ import (
"crypto/tls"
"net/url"
"os"
"strings"
"testing"
"github.com/go-openapi/strfmt"
goapi "github.com/grafana/grafana-openapi-client-go/client"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/services/accesscontrol/resourcepermissions"
@@ -19,9 +22,18 @@ import (
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/services/user/userimpl"
"github.com/grafana/grafana/pkg/setting"
"github.com/stretchr/testify/require"
)
func SkipIntegrationTestInShortMode(t testing.TB) {
t.Helper()
if !strings.HasPrefix(t.Name(), "TestIntegration") {
t.Fatal("test is not an integration test")
}
if testing.Short() {
t.Skip("skipping integration test in short mode")
}
}
func CreateUser(t *testing.T, db db.DB, cfg *setting.Cfg, cmd user.CreateUserCommand) int64 {
t.Helper()