@ -480,7 +480,7 @@ func TestProvisioningApi(t *testing.T) {
insertRule ( t , sut , createTestAlertRule ( "rule1" , 1 ) )
insertRule ( t , sut , createTestAlertRule ( "rule2" , 1 ) )
expectedResponse := ` { "apiVersion":1,"groups":[ { "orgId":1,"name":"my-cool-group","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule1","title":"rule1","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s"}, { "uid":"rule2","title":"rule2","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s"}]}]} `
expectedResponse := ` { "apiVersion":1,"groups":[ { "orgId":1,"name":"my-cool-group","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule1","title":"rule1","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s","isPaused":false }, { "uid":"rule2","title":"rule2","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s","isPaused":false }]}]} `
response := sut . RouteGetAlertRuleGroupExport ( & rc , "folder-uid" , "my-cool-group" )
@ -495,7 +495,7 @@ func TestProvisioningApi(t *testing.T) {
insertRule ( t , sut , createTestAlertRule ( "rule2" , 1 ) )
rc . Context . Req . Header . Add ( "Accept" , "application/yaml" )
expectedResponse := "apiVersion: 1\ngroups:\n - orgId: 1\n name: my-cool-group\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule1\n title: rule1\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n - uid: rule2\n title: rule2\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n"
expectedResponse := "apiVersion: 1\ngroups:\n - orgId: 1\n name: my-cool-group\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule1\n title: rule1\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n isPaused: false\n - uid: rule2\n title: rule2\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n isPaused: false \n"
response := sut . RouteGetAlertRuleGroupExport ( & rc , "folder-uid" , "my-cool-group" )
@ -607,7 +607,7 @@ func TestProvisioningApi(t *testing.T) {
rc := createTestRequestCtx ( )
insertRule ( t , sut , createTestAlertRule ( "rule1" , 1 ) )
expectedResponse := ` { "apiVersion":1,"groups":[ { "orgId":1,"name":"my-cool-group","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule1","title":"rule1","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s"}]}]} `
expectedResponse := ` { "apiVersion":1,"groups":[ { "orgId":1,"name":"my-cool-group","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule1","title":"rule1","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s","isPaused":false }]}]} `
response := sut . RouteGetAlertRuleExport ( & rc , "rule1" )
@ -621,7 +621,7 @@ func TestProvisioningApi(t *testing.T) {
insertRule ( t , sut , createTestAlertRule ( "rule1" , 1 ) )
rc . Context . Req . Header . Add ( "Accept" , "application/yaml" )
expectedResponse := "apiVersion: 1\ngroups:\n - orgId: 1\n name: my-cool-group\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule1\n title: rule1\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n"
expectedResponse := "apiVersion: 1\ngroups:\n - orgId: 1\n name: my-cool-group\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule1\n title: rule1\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n isPaused: false\n "
response := sut . RouteGetAlertRuleExport ( & rc , "rule1" )
@ -725,7 +725,7 @@ func TestProvisioningApi(t *testing.T) {
insertRule ( t , sut , createTestAlertRuleWithFolderAndGroup ( "rule2" , 1 , "folder-uid" , "groupb" ) )
insertRule ( t , sut , createTestAlertRuleWithFolderAndGroup ( "rule3" , 1 , "folder-uid2" , "groupb" ) )
expectedResponse := ` { "apiVersion":1,"groups":[ { "orgId":1,"name":"groupa","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule1","title":"rule1","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s"}]}, { "orgId":1,"name":"groupb","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule2","title":"rule2","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s"}]}, { "orgId":1,"name":"groupb","folder":"Folder Title2","interval":"1m","rules":[ { "uid":"rule3","title":"rule3","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s"}]}]} `
expectedResponse := ` { "apiVersion":1,"groups":[ { "orgId":1,"name":"groupa","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule1","title":"rule1","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s","isPaused":false }]}, { "orgId":1,"name":"groupb","folder":"Folder Title","interval":"1m","rules":[ { "uid":"rule2","title":"rule2","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s","isPaused":false }]}, { "orgId":1,"name":"groupb","folder":"Folder Title2","interval":"1m","rules":[ { "uid":"rule3","title":"rule3","condition":"A","data":[ { "refId":"A","relativeTimeRange": { "from":0,"to":0},"datasourceUid":"","model": { "conditions":[ { "evaluator": { "params":[3],"type":"gt"},"operator": { "type":"and"},"query": { "params":["A"]},"reducer": { "type":"last"},"type":"query"}],"datasource": { "type":"__expr__","uid":"-100"},"expression":"1==0","intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"}}],"noDataState":"OK","execErrState":"OK","for":"0s","isPaused":false }]}]} `
response := sut . RouteGetAlertRulesExport ( & rc )
@ -741,7 +741,7 @@ func TestProvisioningApi(t *testing.T) {
insertRule ( t , sut , createTestAlertRuleWithFolderAndGroup ( "rule3" , 1 , "folder-uid2" , "groupb" ) )
rc . Context . Req . Header . Add ( "Accept" , "application/yaml" )
expectedResponse := "apiVersion: 1\ngroups:\n - orgId: 1\n name: groupa\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule1\n title: rule1\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n - orgId: 1\n name: groupb\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule2\n title: rule2\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n - orgId: 1\n name: groupb\n folder: Folder Title2\n interval: 1m\n rules:\n - uid: rule3\n title: rule3\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n"
expectedResponse := "apiVersion: 1\ngroups:\n - orgId: 1\n name: groupa\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule1\n title: rule1\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n isPaused: false\n - orgId: 1\n name: groupb\n folder: Folder Title\n interval: 1m\n rules:\n - uid: rule2\n title: rule2\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n isPaused: false\n - orgId: 1\n name: groupb\n folder: Folder Title2\n interval: 1m\n rules:\n - uid: rule3\n title: rule3\n condition: A\n data:\n - refId: A\n datasourceUid: \"\"\n model:\n conditions:\n - evaluator:\n params:\n - 3\n type: gt\n operator:\n type: and\n query:\n params:\n - A\n reducer:\n type: last\n type: query\n datasource:\n type: __expr__\n uid: \"-100\"\n expression: 1==0\n intervalMs: 1000\n maxDataPoints: 43200\n refId: A\n type: math\n noDataState: OK\n execErrState: OK\n for: 0s\n isPaused: false \n"
response := sut . RouteGetAlertRulesExport ( & rc )