@ -485,7 +485,50 @@ func Test_ConfigUnmashaling(t *testing.T) {
err error
} {
{
desc : "empty mute time name should error" ,
desc : "missing time interval name should error" ,
err : errors . New ( "missing name in time interval" ) ,
input : `
{
"route" : {
"receiver" : "grafana-default-email"
} ,
"time_intervals" : [
{
"name" : "" ,
"time_intervals" : [
{
"times" : [
{
"start_time" : "00:00" ,
"end_time" : "12:00"
}
]
}
]
}
] ,
"templates" : null ,
"receivers" : [
{
"name" : "grafana-default-email" ,
"grafana_managed_receiver_configs" : [
{
"uid" : "uxwfZvtnz" ,
"name" : "email receiver" ,
"type" : "email" ,
"disableResolveMessage" : false ,
"settings" : {
"addresses" : "<example@email.com>"
} ,
"secureFields" : { }
}
]
}
]
}
` ,
} , {
desc : "missing mute time interval name should error" ,
err : errors . New ( "missing name in mute time interval" ) ,
input : `
{
@ -529,7 +572,64 @@ func Test_ConfigUnmashaling(t *testing.T) {
` ,
} ,
{
desc : "not unique mute time names should error" ,
desc : "duplicate time interval names should error" ,
err : errors . New ( "time interval \"test1\" is not unique" ) ,
input : `
{
"route" : {
"receiver" : "grafana-default-email"
} ,
"time_intervals" : [
{
"name" : "test1" ,
"time_intervals" : [
{
"times" : [
{
"start_time" : "00:00" ,
"end_time" : "12:00"
}
]
}
]
} ,
{
"name" : "test1" ,
"time_intervals" : [
{
"times" : [
{
"start_time" : "00:00" ,
"end_time" : "12:00"
}
]
}
]
}
] ,
"templates" : null ,
"receivers" : [
{
"name" : "grafana-default-email" ,
"grafana_managed_receiver_configs" : [
{
"uid" : "uxwfZvtnz" ,
"name" : "email receiver" ,
"type" : "email" ,
"disableResolveMessage" : false ,
"settings" : {
"addresses" : "<example@email.com>"
} ,
"secureFields" : { }
}
]
}
]
}
` ,
} ,
{
desc : "duplicate mute time interval names should error" ,
err : errors . New ( "mute time interval \"test1\" is not unique" ) ,
input : `
{
@ -585,6 +685,65 @@ func Test_ConfigUnmashaling(t *testing.T) {
}
` ,
} ,
{
desc : "duplicate time and mute time interval names should error" ,
err : errors . New ( "mute time interval \"test1\" is not unique" ) ,
input : `
{
"route" : {
"receiver" : "grafana-default-email"
} ,
"mute_time_intervals" : [
{
"name" : "test1" ,
"time_intervals" : [
{
"times" : [
{
"start_time" : "00:00" ,
"end_time" : "12:00"
}
]
}
]
}
] ,
"time_intervals" : [
{
"name" : "test1" ,
"time_intervals" : [
{
"times" : [
{
"start_time" : "00:00" ,
"end_time" : "12:00"
}
]
}
]
}
] ,
"templates" : null ,
"receivers" : [
{
"name" : "grafana-default-email" ,
"grafana_managed_receiver_configs" : [
{
"uid" : "uxwfZvtnz" ,
"name" : "email receiver" ,
"type" : "email" ,
"disableResolveMessage" : false ,
"settings" : {
"addresses" : "<example@email.com>"
} ,
"secureFields" : { }
}
]
}
]
}
` ,
} ,
{
desc : "mute time intervals on root route should error" ,
err : errors . New ( "root route must not have any mute time intervals" ) ,