@ -157,7 +157,8 @@ func TestIntegrationAlertRulePermissions(t *testing.T) {
} )
} )
t . Run ( "Get group returns a single group" , func ( t * testing . T ) {
t . Run ( "Get group returns a single group" , func ( t * testing . T ) {
rules := apiClient . GetRulesGroup ( t , "folder2" , allRules [ "folder2" ] [ 0 ] . Name )
rules , status := apiClient . GetRulesGroup ( t , "folder2" , allRules [ "folder2" ] [ 0 ] . Name )
require . Equal ( t , http . StatusAccepted , status )
cmp . Diff ( allRules [ "folder2" ] [ 0 ] , rules . GettableRuleGroupConfig )
cmp . Diff ( allRules [ "folder2" ] [ 0 ] , rules . GettableRuleGroupConfig )
} )
} )
@ -482,7 +483,8 @@ func TestIntegrationAlertRuleNestedPermissions(t *testing.T) {
} )
} )
t . Run ( "Get group returns a single group" , func ( t * testing . T ) {
t . Run ( "Get group returns a single group" , func ( t * testing . T ) {
rules := apiClient . GetRulesGroup ( t , "folder2" , allRules [ "folder2" ] [ 0 ] . Name )
rules , status := apiClient . GetRulesGroup ( t , "folder2" , allRules [ "folder2" ] [ 0 ] . Name )
require . Equal ( t , http . StatusAccepted , status )
cmp . Diff ( allRules [ "folder2" ] [ 0 ] , rules . GettableRuleGroupConfig )
cmp . Diff ( allRules [ "folder2" ] [ 0 ] , rules . GettableRuleGroupConfig )
} )
} )
@ -839,10 +841,11 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
}
}
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rules )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , respModel . Created , 1 )
require . Len ( t , respModel . Created , 1 )
createdRuleGroup := apiClient . GetRulesGroup ( t , folderName , rules . Name ) . GettableRuleGroupConfig
createdRuleGroup , status := apiClient . GetRulesGroup ( t , folderName , rules . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , createdRuleGroup . Rules , 1 )
require . Len ( t , createdRuleGroup . Rules , 1 )
expectedMetadata := alertRule . GrafanaManagedAlert . Metadata
expectedMetadata := alertRule . GrafanaManagedAlert . Metadata
@ -855,7 +858,7 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
}
}
require . Equal ( t , expectedMetadata , createdRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata )
require . Equal ( t , expectedMetadata , createdRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata )
return createdRuleGroup
return createdRuleGroup . GettableRuleGroupConfig
}
}
t . Run ( "set simplified query editor in editor settings" , func ( t * testing . T ) {
t . Run ( "set simplified query editor in editor settings" , func ( t * testing . T ) {
@ -870,9 +873,10 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection = true
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection = true
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
updatedRuleGroup := apiClient . GetRulesGroup ( t , folderName , groupName ) . GettableRuleGroupConfig
updatedRuleGroup , status := apiClient . GetRulesGroup ( t , folderName , groupName )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . True ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection )
require . True ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection )
} )
} )
@ -891,9 +895,10 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection = false
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection = false
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
updatedRuleGroup := apiClient . GetRulesGroup ( t , folderName , groupName ) . GettableRuleGroupConfig
updatedRuleGroup , status := apiClient . GetRulesGroup ( t , folderName , groupName )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . False ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection )
require . False ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection )
} )
} )
@ -910,9 +915,10 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection = true
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection = true
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
updatedRuleGroup := apiClient . GetRulesGroup ( t , folderName , groupName ) . GettableRuleGroupConfig
updatedRuleGroup , status := apiClient . GetRulesGroup ( t , folderName , groupName )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . True ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection )
require . True ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection )
} )
} )
@ -931,9 +937,10 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection = false
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection = false
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , folderName , & rulesWithUID )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
updatedRuleGroup := apiClient . GetRulesGroup ( t , folderName , groupName ) . GettableRuleGroupConfig
updatedRuleGroup , status := apiClient . GetRulesGroup ( t , folderName , groupName )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . Len ( t , updatedRuleGroup . Rules , 1 )
require . False ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection )
require . False ( t , updatedRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedNotificationsSection )
} )
} )
@ -941,7 +948,8 @@ func TestIntegrationAlertRuleEditorSettings(t *testing.T) {
t . Run ( "post alert without metadata" , func ( t * testing . T ) {
t . Run ( "post alert without metadata" , func ( t * testing . T ) {
createAlertInGrafana ( nil )
createAlertInGrafana ( nil )
createdRuleGroup := apiClient . GetRulesGroup ( t , folderName , groupName ) . GettableRuleGroupConfig
createdRuleGroup , status := apiClient . GetRulesGroup ( t , folderName , groupName )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , createdRuleGroup . Rules , 1 )
require . Len ( t , createdRuleGroup . Rules , 1 )
require . False ( t , createdRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection )
require . False ( t , createdRuleGroup . Rules [ 0 ] . GrafanaManagedAlert . Metadata . EditorSettings . SimplifiedQueryAndExpressionsSection )
} )
} )
@ -979,16 +987,17 @@ func TestIntegrationAlertRuleConflictingTitle(t *testing.T) {
rules := newTestingRuleConfig ( t )
rules := newTestingRuleConfig ( t )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rules )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , respModel . Created , len ( rules . Rules ) )
require . Len ( t , respModel . Created , len ( rules . Rules ) )
// fetch the created rules, so we can get the uid's and trigger
// fetch the created rules, so we can get the uid's and trigger
// and update by reusing the uid's
// and update by reusing the uid's
createdRuleGroup := apiClient . GetRulesGroup ( t , "folder1" , rules . Name ) . GettableRuleGroupConfig
createdRuleGroup , status := apiClient . GetRulesGroup ( t , "folder1" , rules . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , createdRuleGroup . Rules , 2 )
require . Len ( t , createdRuleGroup . Rules , 2 )
t . Run ( "trying to create alert with same title under same folder should fail" , func ( t * testing . T ) {
t . Run ( "trying to create alert with same title under same folder should fail" , func ( t * testing . T ) {
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup )
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup . GettableRuleGroupConfig )
rulesWithUID . Rules = append ( rulesWithUID . Rules , rules . Rules [ 0 ] ) // Create new copy of first rule.
rulesWithUID . Rules = append ( rulesWithUID . Rules , rules . Rules [ 0 ] ) // Create new copy of first rule.
_ , status , body := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
_ , status , body := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
@ -1000,7 +1009,7 @@ func TestIntegrationAlertRuleConflictingTitle(t *testing.T) {
} )
} )
t . Run ( "trying to update an alert to the title of an existing alert in the same folder should fail" , func ( t * testing . T ) {
t . Run ( "trying to update an alert to the title of an existing alert in the same folder should fail" , func ( t * testing . T ) {
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup )
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup . GettableRuleGroupConfig )
rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title = "AlwaysFiring"
rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title = "AlwaysFiring"
_ , status , body := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
_ , status , body := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
@ -1014,29 +1023,29 @@ func TestIntegrationAlertRuleConflictingTitle(t *testing.T) {
t . Run ( "trying to create alert with same title under another folder should succeed" , func ( t * testing . T ) {
t . Run ( "trying to create alert with same title under another folder should succeed" , func ( t * testing . T ) {
rules := newTestingRuleConfig ( t )
rules := newTestingRuleConfig ( t )
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder2" , & rules )
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder2" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , resp . Created , len ( rules . Rules ) )
require . Len ( t , resp . Created , len ( rules . Rules ) )
} )
} )
t . Run ( "trying to swap titles of existing alerts in the same folder should work" , func ( t * testing . T ) {
t . Run ( "trying to swap titles of existing alerts in the same folder should work" , func ( t * testing . T ) {
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup )
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup . GettableRuleGroupConfig )
title0 := rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Title
title0 := rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Title
title1 := rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title
title1 := rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Title = title1
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Title = title1
rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title = title0
rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title = title0
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , resp . Updated , 2 )
require . Len ( t , resp . Updated , 2 )
} )
} )
t . Run ( "trying to update titles of existing alerts in a chain in the same folder should work" , func ( t * testing . T ) {
t . Run ( "trying to update titles of existing alerts in a chain in the same folder should work" , func ( t * testing . T ) {
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup )
rulesWithUID := convertGettableRuleGroupToPostable ( createdRuleGroup . GettableRuleGroupConfig )
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Title = rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title
rulesWithUID . Rules [ 0 ] . GrafanaManagedAlert . Title = rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title
rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title = "something new"
rulesWithUID . Rules [ 1 ] . GrafanaManagedAlert . Title = "something new"
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "folder1" , & rulesWithUID )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , resp . Updated , len ( rulesWithUID . Rules ) )
require . Len ( t , resp . Updated , len ( rulesWithUID . Rules ) )
} )
} )
}
}
@ -1126,7 +1135,7 @@ func TestIntegrationRulerRulesFilterByDashboard(t *testing.T) {
} ,
} ,
}
}
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , resp . Created , len ( rules . Rules ) )
require . Len ( t , resp . Created , len ( rules . Rules ) )
}
}
@ -1438,7 +1447,8 @@ func TestIntegrationRuleGroupSequence(t *testing.T) {
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
t . Run ( "should persist order of the rules in a group" , func ( t * testing . T ) {
t . Run ( "should persist order of the rules in a group" , func ( t * testing . T ) {
group1Get := client . GetRulesGroup ( t , folderUID , group1 . Name )
group1Get , status := client . GetRulesGroup ( t , folderUID , group1 . Name )
require . Equal ( t , http . StatusAccepted , status )
assert . Equal ( t , group1 . Name , group1Get . Name )
assert . Equal ( t , group1 . Name , group1Get . Name )
assert . Equal ( t , group1 . Interval , group1Get . Interval )
assert . Equal ( t , group1 . Interval , group1Get . Interval )
assert . Len ( t , group1Get . Rules , len ( group1 . Rules ) )
assert . Len ( t , group1Get . Rules , len ( group1 . Rules ) )
@ -1457,10 +1467,11 @@ func TestIntegrationRuleGroupSequence(t *testing.T) {
for _ , rule := range postableGroup1 . Rules {
for _ , rule := range postableGroup1 . Rules {
expectedUids = append ( expectedUids , rule . GrafanaManagedAlert . UID )
expectedUids = append ( expectedUids , rule . GrafanaManagedAlert . UID )
}
}
_ , status , _ : = client . PostRulesGroupWithStatus ( t , folderUID , & postableGroup1 )
_ , status , _ = client . PostRulesGroupWithStatus ( t , folderUID , & postableGroup1 )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
group1Get = client . GetRulesGroup ( t , folderUID , group1 . Name )
group1Get , status = client . GetRulesGroup ( t , folderUID , group1 . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , group1Get . Rules , len ( postableGroup1 . Rules ) )
require . Len ( t , group1Get . Rules , len ( postableGroup1 . Rules ) )
@ -1472,8 +1483,10 @@ func TestIntegrationRuleGroupSequence(t *testing.T) {
} )
} )
t . Run ( "should be able to move a rule from another group in a specific position" , func ( t * testing . T ) {
t . Run ( "should be able to move a rule from another group in a specific position" , func ( t * testing . T ) {
group1Get := client . GetRulesGroup ( t , folderUID , group1 . Name )
group1Get , status := client . GetRulesGroup ( t , folderUID , group1 . Name )
group2Get := client . GetRulesGroup ( t , folderUID , group2 . Name )
require . Equal ( t , http . StatusAccepted , status )
group2Get , status := client . GetRulesGroup ( t , folderUID , group2 . Name )
require . Equal ( t , http . StatusAccepted , status )
movedRule := convertGettableRuleToPostable ( group2Get . Rules [ 3 ] )
movedRule := convertGettableRuleToPostable ( group2Get . Rules [ 3 ] )
// now shuffle the rules
// now shuffle the rules
@ -1483,10 +1496,11 @@ func TestIntegrationRuleGroupSequence(t *testing.T) {
for _ , rule := range postableGroup1 . Rules {
for _ , rule := range postableGroup1 . Rules {
expectedUids = append ( expectedUids , rule . GrafanaManagedAlert . UID )
expectedUids = append ( expectedUids , rule . GrafanaManagedAlert . UID )
}
}
_ , status , _ : = client . PostRulesGroupWithStatus ( t , folderUID , & postableGroup1 )
_ , status , _ = client . PostRulesGroupWithStatus ( t , folderUID , & postableGroup1 )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
group1Get = client . GetRulesGroup ( t , folderUID , group1 . Name )
group1Get , status = client . GetRulesGroup ( t , folderUID , group1 . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , group1Get . Rules , len ( postableGroup1 . Rules ) )
require . Len ( t , group1Get . Rules , len ( postableGroup1 . Rules ) )
@ -1496,7 +1510,8 @@ func TestIntegrationRuleGroupSequence(t *testing.T) {
}
}
assert . Equal ( t , expectedUids , actualUids )
assert . Equal ( t , expectedUids , actualUids )
group2Get = client . GetRulesGroup ( t , folderUID , group2 . Name )
group2Get , status = client . GetRulesGroup ( t , folderUID , group2 . Name )
require . Equal ( t , http . StatusAccepted , status )
assert . Len ( t , group2Get . Rules , len ( group2 . Rules ) - 1 )
assert . Len ( t , group2Get . Rules , len ( group2 . Rules ) - 1 )
for _ , rule := range group2Get . Rules {
for _ , rule := range group2Get . Rules {
require . NotEqual ( t , movedRule . GrafanaManagedAlert . UID , rule . GrafanaManagedAlert . UID )
require . NotEqual ( t , movedRule . GrafanaManagedAlert . UID , rule . GrafanaManagedAlert . UID )
@ -1696,7 +1711,8 @@ func TestIntegrationRuleUpdate(t *testing.T) {
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , expected , * getGroup . Rules [ 0 ] . ApiRuleNode . For )
require . Equal ( t , expected , * getGroup . Rules [ 0 ] . ApiRuleNode . For )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
@ -1705,7 +1721,8 @@ func TestIntegrationRuleUpdate(t *testing.T) {
_ , status , body = client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body = client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup = client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status = client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , expected , * getGroup . Rules [ 0 ] . ApiRuleNode . For )
require . Equal ( t , expected , * getGroup . Rules [ 0 ] . ApiRuleNode . For )
} )
} )
t . Run ( "when data source missing" , func ( t * testing . T ) {
t . Run ( "when data source missing" , func ( t * testing . T ) {
@ -1717,7 +1734,8 @@ func TestIntegrationRuleUpdate(t *testing.T) {
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
require . Len ( t , group . Rules , 3 )
require . Len ( t , group . Rules , 3 )
@ -1731,14 +1749,16 @@ func TestIntegrationRuleUpdate(t *testing.T) {
}
}
t . Run ( "noop should not fail" , func ( t * testing . T ) {
t . Run ( "noop should not fail" , func ( t * testing . T ) {
getGroup := client . GetRulesGroup ( t , folderUID , groupName )
getGroup , status := client . GetRulesGroup ( t , folderUID , groupName )
require . Equal ( t , http . StatusAccepted , status )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post noop rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post noop rule group. Response: %s" , body )
} )
} )
t . Run ( "should not let update rule if it does not fix datasource" , func ( t * testing . T ) {
t . Run ( "should not let update rule if it does not fix datasource" , func ( t * testing . T ) {
getGroup := client . GetRulesGroup ( t , folderUID , groupName )
getGroup , status := client . GetRulesGroup ( t , folderUID , groupName )
require . Equal ( t , http . StatusAccepted , status )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group . Rules [ 0 ] . GrafanaManagedAlert . Title = uuid . NewString ( )
group . Rules [ 0 ] . GrafanaManagedAlert . Title = uuid . NewString ( )
@ -1746,14 +1766,16 @@ func TestIntegrationRuleUpdate(t *testing.T) {
if status == http . StatusAccepted {
if status == http . StatusAccepted {
assert . Len ( t , resp . Deleted , 1 )
assert . Len ( t , resp . Deleted , 1 )
getGroup = client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status = client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
assert . NotEqualf ( t , group . Rules [ 0 ] . GrafanaManagedAlert . Title , getGroup . Rules [ 0 ] . GrafanaManagedAlert . Title , "group was updated" )
assert . NotEqualf ( t , group . Rules [ 0 ] . GrafanaManagedAlert . Title , getGroup . Rules [ 0 ] . GrafanaManagedAlert . Title , "group was updated" )
}
}
require . Equalf ( t , http . StatusBadRequest , status , "expected BadRequest. Response: %s" , body )
require . Equalf ( t , http . StatusBadRequest , status , "expected BadRequest. Response: %s" , body )
assert . Contains ( t , body , "data source not found" )
assert . Contains ( t , body , "data source not found" )
} )
} )
t . Run ( "should let delete broken rule" , func ( t * testing . T ) {
t . Run ( "should let delete broken rule" , func ( t * testing . T ) {
getGroup := client . GetRulesGroup ( t , folderUID , groupName )
getGroup , status := client . GetRulesGroup ( t , folderUID , groupName )
require . Equal ( t , http . StatusAccepted , status )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
// remove the last rule.
// remove the last rule.
@ -1762,12 +1784,14 @@ func TestIntegrationRuleUpdate(t *testing.T) {
require . Equalf ( t , http . StatusAccepted , status , "failed to delete last rule from group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to delete last rule from group. Response: %s" , body )
assert . Len ( t , resp . Deleted , 1 )
assert . Len ( t , resp . Deleted , 1 )
getGroup = client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status = client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
require . Len ( t , group . Rules , 2 )
require . Len ( t , group . Rules , 2 )
} )
} )
t . Run ( "should let fix single rule" , func ( t * testing . T ) {
t . Run ( "should let fix single rule" , func ( t * testing . T ) {
getGroup := client . GetRulesGroup ( t , folderUID , groupName )
getGroup , status := client . GetRulesGroup ( t , folderUID , groupName )
require . Equal ( t , http . StatusAccepted , status )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group := convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
ds2 := adminClient . CreateTestDatasource ( t )
ds2 := adminClient . CreateTestDatasource ( t )
@ -1778,7 +1802,8 @@ func TestIntegrationRuleUpdate(t *testing.T) {
assert . Len ( t , resp . Updated , 2 )
assert . Len ( t , resp . Updated , 2 )
assert . Len ( t , resp . Created , 0 )
assert . Len ( t , resp . Created , 0 )
getGroup = client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status = client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
require . Equal ( t , ds2 . Body . Datasource . UID , group . Rules [ 0 ] . GrafanaManagedAlert . Data [ 0 ] . DatasourceUID )
require . Equal ( t , ds2 . Body . Datasource . UID , group . Rules [ 0 ] . GrafanaManagedAlert . Data [ 0 ] . DatasourceUID )
} )
} )
@ -1794,7 +1819,8 @@ func TestIntegrationRuleUpdate(t *testing.T) {
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . NotNil ( t , getGroup . Rules [ 0 ] . GrafanaManagedAlert . UpdatedBy )
require . NotNil ( t , getGroup . Rules [ 0 ] . GrafanaManagedAlert . UpdatedBy )
assert . NotEmpty ( t , getGroup . Rules [ 0 ] . GrafanaManagedAlert . UpdatedBy . UID )
assert . NotEmpty ( t , getGroup . Rules [ 0 ] . GrafanaManagedAlert . UpdatedBy . UID )
assert . Equal ( t , "grafana" , getGroup . Rules [ 0 ] . GrafanaManagedAlert . UpdatedBy . Name )
assert . Equal ( t , "grafana" , getGroup . Rules [ 0 ] . GrafanaManagedAlert . UpdatedBy . Name )
@ -1928,7 +1954,7 @@ func TestIntegrationAlertAndGroupsQuery(t *testing.T) {
}
}
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
_ , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
}
}
// Eventually, we'll get an alert with its state being active.
// Eventually, we'll get an alert with its state being active.
@ -2486,7 +2512,7 @@ func TestIntegrationQuota(t *testing.T) {
}
}
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , respModel . Updated , 1 )
require . Len ( t , respModel . Updated , 1 )
// let's make sure that rule definitions are updated correctly.
// let's make sure that rule definitions are updated correctly.
@ -2654,7 +2680,7 @@ func TestIntegrationDeleteFolderWithRules(t *testing.T) {
"updated" : "2021-02-21T01:10:30Z" ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated_by" : {
"updated_by" : {
"uid" : "uid" ,
"uid" : "uid" ,
"name" : "editor"
"name" : "editor"
} ,
} ,
"intervalSeconds" : 60 ,
"intervalSeconds" : 60 ,
"is_paused" : false ,
"is_paused" : false ,
@ -3065,7 +3091,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
} ,
} ,
}
}
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
resp , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , "rule group updated successfully" , resp . Message )
require . Equal ( t , "rule group updated successfully" , resp . Message )
assert . Len ( t , resp . Created , 2 )
assert . Len ( t , resp . Created , 2 )
assert . Empty ( t , resp . Updated )
assert . Empty ( t , resp . Updated )
@ -3134,7 +3160,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
] ,
] ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated_by" : {
"updated_by" : {
"uid" : "uid" ,
"uid" : "uid" ,
"name" : "grafana"
"name" : "grafana"
} ,
} ,
"intervalSeconds" : 60 ,
"intervalSeconds" : 60 ,
@ -3178,7 +3204,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
] ,
] ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated_by" : {
"updated_by" : {
"uid" : "uid" ,
"uid" : "uid" ,
"name" : "grafana"
"name" : "grafana"
} ,
} ,
"intervalSeconds" : 60 ,
"intervalSeconds" : 60 ,
@ -3431,7 +3457,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
Interval : interval ,
Interval : interval ,
}
}
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , respModel . Updated , [ ] string { ruleUID } )
require . Equal ( t , respModel . Updated , [ ] string { ruleUID } )
require . Len ( t , respModel . Deleted , 1 )
require . Len ( t , respModel . Deleted , 1 )
@ -3494,7 +3520,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
] ,
] ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated_by" : {
"updated_by" : {
"uid" : "uid" ,
"uid" : "uid" ,
"name" : "grafana"
"name" : "grafana"
} ,
} ,
"intervalSeconds" : 60 ,
"intervalSeconds" : 60 ,
@ -3557,7 +3583,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
Interval : interval ,
Interval : interval ,
}
}
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , respModel . Updated , [ ] string { ruleUID } )
require . Equal ( t , respModel . Updated , [ ] string { ruleUID } )
// let's make sure that rule definitions are updated correctly.
// let's make sure that rule definitions are updated correctly.
@ -3611,7 +3637,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
] ,
] ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated_by" : {
"updated_by" : {
"uid" : "uid" ,
"uid" : "uid" ,
"name" : "grafana"
"name" : "grafana"
} ,
} ,
"intervalSeconds" : 60 ,
"intervalSeconds" : 60 ,
@ -3650,7 +3676,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
Interval : interval ,
Interval : interval ,
}
}
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
respModel , status , _ := apiClient . PostRulesGroupWithStatus ( t , "default" , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , "no changes detected in the rule group" , respModel . Message )
require . Equal ( t , "no changes detected in the rule group" , respModel . Message )
assert . Empty ( t , respModel . Created )
assert . Empty ( t , respModel . Created )
assert . Empty ( t , respModel . Updated )
assert . Empty ( t , respModel . Updated )
@ -3707,7 +3733,7 @@ func TestIntegrationAlertRuleCRUD(t *testing.T) {
] ,
] ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated" : "2021-02-21T01:10:30Z" ,
"updated_by" : {
"updated_by" : {
"uid" : "uid" ,
"uid" : "uid" ,
"name" : "grafana"
"name" : "grafana"
} ,
} ,
"intervalSeconds" : 60 ,
"intervalSeconds" : 60 ,
@ -3804,7 +3830,8 @@ func TestIntegrationRulePause(t *testing.T) {
resp , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
resp , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Len ( t , resp . Created , 1 )
require . Len ( t , resp . Created , 1 )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . Equal ( t , expectedIsPaused , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
require . Equal ( t , expectedIsPaused , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
} )
} )
@ -3817,7 +3844,8 @@ func TestIntegrationRulePause(t *testing.T) {
resp , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
resp , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Len ( t , resp . Created , 1 )
require . Len ( t , resp . Created , 1 )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . Equal ( t , expectedIsPaused , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
require . Equal ( t , expectedIsPaused , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
} )
} )
@ -3829,7 +3857,7 @@ func TestIntegrationRulePause(t *testing.T) {
resp , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
resp , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Len ( t , resp . Created , 1 )
require . Len ( t , resp . Created , 1 )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . False ( t , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
require . False ( t , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
} )
} )
@ -3886,7 +3914,7 @@ func TestIntegrationRulePause(t *testing.T) {
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to get rule group. Response: %s" , body )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
group = convertGettableRuleGroupToPostable ( getGroup . GettableRuleGroupConfig )
@ -3894,7 +3922,8 @@ func TestIntegrationRulePause(t *testing.T) {
_ , status , body = client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body = client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup = client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status = client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , tc . expectedIsPausedInDb , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
require . Equal ( t , tc . expectedIsPausedInDb , getGroup . Rules [ 0 ] . GrafanaManagedAlert . IsPaused )
} )
} )
}
}
@ -4284,7 +4313,8 @@ func TestIntegrationRuleUpdateAllDatabases(t *testing.T) {
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body := client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup := client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status := client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Lenf ( t , getGroup . Rules , 3 , "expected 3 rules in group" )
require . Lenf ( t , getGroup . Rules , 3 , "expected 3 rules in group" )
require . Equal ( t , groupName , getGroup . Rules [ 0 ] . GrafanaManagedAlert . RuleGroup )
require . Equal ( t , groupName , getGroup . Rules [ 0 ] . GrafanaManagedAlert . RuleGroup )
@ -4294,7 +4324,8 @@ func TestIntegrationRuleUpdateAllDatabases(t *testing.T) {
_ , status , body = client . PostRulesGroupWithStatus ( t , folderUID , & group )
_ , status , body = client . PostRulesGroupWithStatus ( t , folderUID , & group )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post rule group. Response: %s" , body )
getGroup = client . GetRulesGroup ( t , folderUID , group . Name )
getGroup , status = client . GetRulesGroup ( t , folderUID , group . Name )
require . Equal ( t , http . StatusAccepted , status )
require . Lenf ( t , getGroup . Rules , 3 , "expected 3 rules in group" )
require . Lenf ( t , getGroup . Rules , 3 , "expected 3 rules in group" )
require . Equal ( t , newGroup , getGroup . Rules [ 0 ] . GrafanaManagedAlert . RuleGroup )
require . Equal ( t , newGroup , getGroup . Rules [ 0 ] . GrafanaManagedAlert . RuleGroup )
@ -4302,11 +4333,12 @@ func TestIntegrationRuleUpdateAllDatabases(t *testing.T) {
require . Equalf ( t , http . StatusAccepted , status , "failed to post noop rule group. Response: %s" , body )
require . Equalf ( t , http . StatusAccepted , status , "failed to post noop rule group. Response: %s" , body )
// Old group is gone.
// Old group is gone.
getGroup = client . GetRulesGroup ( t , folderUID , groupName )
getGroup , status = client . GetRulesGroup ( t , folderUID , groupName )
require . Lenf ( t , getGroup . Rules , 0 , "expected no rules" )
require . Equal ( t , http . StatusNotFound , status )
// New group still exists.
// New group still exists.
getGroup = client . GetRulesGroup ( t , folderUID , newGroup )
getGroup , status = client . GetRulesGroup ( t , folderUID , newGroup )
require . Equal ( t , http . StatusAccepted , status )
require . Lenf ( t , getGroup . Rules , 3 , "expected 3 rules in group" )
require . Lenf ( t , getGroup . Rules , 3 , "expected 3 rules in group" )
require . Equal ( t , newGroup , getGroup . Rules [ 0 ] . GrafanaManagedAlert . RuleGroup )
require . Equal ( t , newGroup , getGroup . Rules [ 0 ] . GrafanaManagedAlert . RuleGroup )
} )
} )
@ -4357,7 +4389,8 @@ func TestIntegrationRuleVersions(t *testing.T) {
assert . Equal ( t , ruleV1 , versions [ 0 ] )
assert . Equal ( t , ruleV1 , versions [ 0 ] )
} )
} )
group1Gettable := apiClient . GetRulesGroup ( t , "folder1" , group1 . Name )
group1Gettable , status := apiClient . GetRulesGroup ( t , "folder1" , group1 . Name )
require . Equal ( t , http . StatusAccepted , status )
group1 = convertGettableRuleGroupToPostable ( group1Gettable . GettableRuleGroupConfig )
group1 = convertGettableRuleGroupToPostable ( group1Gettable . GettableRuleGroupConfig )
group1 . Rules [ 0 ] . Annotations [ util . GenerateShortUID ( ) ] = util . GenerateShortUID ( )
group1 . Rules [ 0 ] . Annotations [ util . GenerateShortUID ( ) ] = util . GenerateShortUID ( )
@ -4538,7 +4571,7 @@ func createRule(t *testing.T, client apiClient, folder string) (apimodels.Postab
} ,
} ,
}
}
resp , status , _ := client . PostRulesGroupWithStatus ( t , folder , & rules )
resp , status , _ := client . PostRulesGroupWithStatus ( t , folder , & rules )
assert . Equal ( t , http . StatusAccepted , status )
require . Equal ( t , http . StatusAccepted , status )
require . Len ( t , resp . Created , 1 )
require . Len ( t , resp . Created , 1 )
return rules , resp . Created [ 0 ]
return rules , resp . Created [ 0 ]
}
}