@ -9,12 +9,14 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/google/go-cmp/cmp/cmpopts"
"github.com/prometheus/alertmanager/pkg/labels"
"github.com/prometheus/common/model"
"github.com/stretchr/testify/require"
"xorm.io/xorm"
"github.com/grafana/grafana/pkg/components/simplejson"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/datasources"
ngModels "github.com/grafana/grafana/pkg/services/ngalert/models"
"github.com/grafana/grafana/pkg/services/sqlstore/migrations"
"github.com/grafana/grafana/pkg/services/sqlstore/migrations/ualert"
"github.com/grafana/grafana/pkg/services/sqlstore/migrator"
@ -157,6 +159,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
Routes : [ ] * ualert . Route {
{ Receiver : "notifier1" , Matchers : createAlertNameMatchers ( "alert1" ) } , // These Matchers are temporary and will be replaced below with generated rule_uid.
{ Matchers : createAlertNameMatchers ( "alert2" ) , Routes : [ ] * ualert . Route {
@ -178,6 +181,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "notifier6" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
Routes : [ ] * ualert . Route {
{ Matchers : createAlertNameMatchers ( "alert4" ) , Routes : [ ] * ualert . Route {
{ Receiver : "notifier4" , Matchers : createAlertNameMatchers ( "alert4" ) , Continue : true } ,
@ -210,6 +214,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -230,6 +235,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "notifier1" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -250,6 +256,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -273,6 +280,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -298,6 +306,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -323,6 +332,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
Routes : [ ] * ualert . Route {
{ Receiver : "notifier1" , Matchers : createAlertNameMatchers ( "alert1" ) } ,
{ Matchers : createAlertNameMatchers ( "alert2" ) , Routes : [ ] * ualert . Route {
@ -351,6 +361,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -373,6 +384,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
} ,
Receivers : [ ] * ualert . PostableApiReceiver {
{ Name : "notifier1" , GrafanaManagedReceivers : [ ] * ualert . PostableGrafanaReceiver { { Name : "notifier1" , Type : "email" } } } ,
@ -396,6 +408,7 @@ func TestDashAlertMigration(t *testing.T) {
AlertmanagerConfig : ualert . PostableApiAlertingConfig {
Route : & ualert . Route {
Receiver : "autogen-contact-point-default" ,
GroupByStr : [ ] string { ngModels . FolderTitleLabel , model . AlertNameLabel } ,
Routes : [ ] * ualert . Route {
{ Receiver : "notifier1" , Matchers : createAlertNameMatchers ( "alert1" ) } ,
} ,