mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 10:52:40 +08:00

* SQLTemplates: Add helper to ensure all templates have a test-case associated * UnifiedStorage: Add missing sql template test case * LegacyDashboards: Add sql templates fs to test cases for exhaustiveness check * RBACStore: Add sql templates fs to test cases for exhaustiveness check * LegacyIAM: Add missing sql template test cases
115 lines
2.3 KiB
Go
115 lines
2.3 KiB
Go
package legacy
|
|
|
|
import (
|
|
"testing"
|
|
"text/template"
|
|
|
|
"github.com/grafana/grafana/pkg/storage/legacysql"
|
|
"github.com/grafana/grafana/pkg/storage/unified/sql/sqltemplate"
|
|
"github.com/grafana/grafana/pkg/storage/unified/sql/sqltemplate/mocks"
|
|
)
|
|
|
|
func TestDashboardQueries(t *testing.T) {
|
|
// prefix tables with grafana
|
|
nodb := &legacysql.LegacyDatabaseHelper{
|
|
Table: func(n string) string {
|
|
return "grafana." + n
|
|
},
|
|
}
|
|
|
|
getQuery := func(q *DashboardQuery) sqltemplate.SQLTemplate {
|
|
v := newQueryReq(nodb, q)
|
|
v.SQLTemplate = mocks.NewTestingSQLTemplate()
|
|
return &v
|
|
}
|
|
|
|
getLibraryQuery := func(q *LibraryPanelQuery) sqltemplate.SQLTemplate {
|
|
v := newLibraryQueryReq(nodb, q)
|
|
v.SQLTemplate = mocks.NewTestingSQLTemplate()
|
|
return &v
|
|
}
|
|
|
|
mocks.CheckQuerySnapshots(t, mocks.TemplateTestSetup{
|
|
RootDir: "testdata",
|
|
SQLTemplatesFS: sqlTemplatesFS,
|
|
Templates: map[*template.Template][]mocks.TemplateTestCase{
|
|
sqlQueryDashboards: {
|
|
{
|
|
Name: "history_uid",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 2,
|
|
UID: "UUU",
|
|
}),
|
|
},
|
|
{
|
|
Name: "history_uid_at_version",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 2,
|
|
UID: "UUU",
|
|
Version: 3,
|
|
}),
|
|
},
|
|
{
|
|
Name: "history_uid_second_page",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 2,
|
|
UID: "UUU",
|
|
LastID: 7,
|
|
}),
|
|
},
|
|
{
|
|
Name: "dashboard",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 2,
|
|
}),
|
|
},
|
|
{
|
|
Name: "dashboard_next_page",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 2,
|
|
LastID: 22,
|
|
}),
|
|
},
|
|
{
|
|
Name: "folders",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 2,
|
|
GetFolders: true,
|
|
}),
|
|
},
|
|
{
|
|
Name: "export_with_history",
|
|
Data: getQuery(&DashboardQuery{
|
|
OrgID: 1,
|
|
GetHistory: true,
|
|
Order: "ASC",
|
|
}),
|
|
},
|
|
},
|
|
sqlQueryPanels: {
|
|
{
|
|
Name: "list",
|
|
Data: getLibraryQuery(&LibraryPanelQuery{
|
|
OrgID: 1,
|
|
Limit: 5,
|
|
}),
|
|
},
|
|
{
|
|
Name: "list_page_two",
|
|
Data: getLibraryQuery(&LibraryPanelQuery{
|
|
OrgID: 1,
|
|
LastID: 4,
|
|
}),
|
|
},
|
|
{
|
|
Name: "get_uid",
|
|
Data: getLibraryQuery(&LibraryPanelQuery{
|
|
OrgID: 1,
|
|
UID: "xyz",
|
|
}),
|
|
},
|
|
},
|
|
},
|
|
})
|
|
}
|