"body":"Cloudflare has resolved the issue and the service have resumed normal operation.",
"created_at":"2018-09-18T07:45:41.290Z",
"updated_at":"2018-09-18T07:45:41.290Z",
"display_at":"2018-09-18T07:45:41.290Z",
"affected_components":[
{
"code":"g4tb35rs9yw7",
"name":"Cloudflare customer dashboard and APIs - Cloudflare APIs",
"old_status":"operational",
"new_status":"operational"
}
],
"deliver_notifications":true,
"tweet_id":null,
"id":"zl5g2pl5zhfs",
"incident_id":"q746ybtyb6q0",
"custom_tweet":null
},
{
"status":"monitoring",
"body":"Cloudflare has implemented a fix for this issue and is currently monitoring the results.\r\n\r\nWe will update the status once the issue is resolved.",
"created_at":"2018-09-17T21:35:06.492Z",
"updated_at":"2018-09-17T21:35:06.492Z",
"display_at":"2018-09-17T21:35:06.492Z",
"affected_components":[
{
"code":"g4tb35rs9yw7",
"name":"Cloudflare customer dashboard and APIs - Cloudflare APIs",
"old_status":"degraded_performance",
"new_status":"operational"
}
],
"deliver_notifications":false,
"tweet_id":null,
"id":"0001sv3chdnx",
"incident_id":"q746ybtyb6q0",
"custom_tweet":null
},
{
"status":"investigating",
"body":"We are continuing to investigate this issue.",
"created_at":"2018-09-17T19:30:08.049Z",
"updated_at":"2018-09-17T19:30:08.049Z",
"display_at":"2018-09-17T19:30:08.049Z",
"affected_components":[
{
"code":"g4tb35rs9yw7",
"name":"Cloudflare customer dashboard and APIs - Cloudflare APIs",
"old_status":"operational",
"new_status":"degraded_performance"
}
],
"deliver_notifications":false,
"tweet_id":null,
"id":"qdr164tfpq7m",
"incident_id":"q746ybtyb6q0",
"custom_tweet":null
},
{
"status":"investigating",
"body":"Cloudflare is investigating issues with APIs and Page Rule delays for Page Rule updates. Cloudflare Page Rule service delivery is unaffected and is operating normally. Also, these issues do not affect the Cloudflare CDN and therefore, do not impact customer websites.",
"created_at":"2018-09-17T19:29:21.201Z",
"updated_at":"2018-09-17T19:29:21.201Z",
"display_at":"2018-09-17T19:29:21.201Z",
"affected_components":[
{
"code":"g4tb35rs9yw7",
"name":"Cloudflare customer dashboard and APIs - Cloudflare APIs",
"body":"Cloudflare has resolved the issue and Web Analytics have resumed normal operation.",
"created_at":"2018-09-17T22:53:05.057Z",
"updated_at":"2018-09-17T22:53:05.057Z",
"display_at":"2018-09-17T22:53:05.057Z",
"affected_components":[
{
"code":"4c231tkdlpcl",
"name":"Cloudflare customer dashboard and APIs - Analytics",
"old_status":"degraded_performance",
"new_status":"operational"
}
],
"deliver_notifications":false,
"tweet_id":null,
"id":"93y1w00yqzk4",
"incident_id":"wqfk9mzs5qt1",
"custom_tweet":null
},
{
"status":"investigating",
"body":"There is a delay in processing Cloudflare Web Analytics. This affects timely delivery of customer data.\n\nThese delays do not impact analytics for DNS and Rate Limiting.",
"created_at":"2018-09-17T18:05:40.033Z",
"updated_at":"2018-09-17T18:05:40.033Z",
"display_at":"2018-09-17T18:05:40.033Z",
"affected_components":[
{
"code":"4c231tkdlpcl",
"name":"Cloudflare customer dashboard and APIs - Analytics",
Body:"Cloudflare has resolved the issue and the service have resumed normal operation.",
},
IncidentUpdate{
Body:"Cloudflare has implemented a fix for this issue and is currently monitoring the results.\r\n\r\nWe will update the status once the issue is resolved.",
},
IncidentUpdate{
Body:"We are continuing to investigate this issue.",
},
IncidentUpdate{
Body:"Cloudflare is investigating issues with APIs and Page Rule delays for Page Rule updates. Cloudflare Page Rule service delivery is unaffected and is operating normally. Also, these issues do not affect the Cloudflare CDN and therefore, do not impact customer websites.",
},
},
},
Incident{
Name:"Web Analytics Delays",
ID:"wqfk9mzs5qt1",
Updates:[]IncidentUpdate{
IncidentUpdate{
Body:"Cloudflare has resolved the issue and Web Analytics have resumed normal operation.",
},
IncidentUpdate{
Body:"There is a delay in processing Cloudflare Web Analytics. This affects timely delivery of customer data.\n\nThese delays do not impact analytics for DNS and Rate Limiting.",
},
},
},
},
},
fail:false,
},
}
for_,testCase:=rangetestCases{
output,err:=parseStatusPage(testCase.input)
iftestCase.fail{
assert.Error(t,err)
}else{
assert.Nil(t,err)
assert.Equal(t,testCase.output,output)
}
}
}
funcTestIsArgoTunnelIncident(t*testing.T){
testCases:=[]struct{
inputIncident
outputbool
}{
{
input:Incident{},
output:false,
},
{
input:Incident{Name:"An Argo Tunnel incident"},
output:true,
},
{
input:Incident{Name:"an argo tunnel incident"},
output:true,
},
{
input:Incident{Name:"an aRgO TuNnEl incident"},
output:true,
},
{
input:Incident{Name:"an argotunnel incident"},
output:false,
},
{
input:Incident{Name:"irrelevant"},
output:false,
},
{
input:Incident{
Name:"irrelevant",
Updates:[]IncidentUpdate{
IncidentUpdate{Body:"irrelevant"},
IncidentUpdate{Body:"an Argo Tunnel incident"},
IncidentUpdate{Body:"irrelevant"},
},
},
output:true,
},
{
input:Incident{
Name:"an Argo Tunnel incident",
Updates:[]IncidentUpdate{
IncidentUpdate{Body:"irrelevant"},
IncidentUpdate{Body:"irrelevant"},
IncidentUpdate{Body:"irrelevant"},
},
},
output:true,
},
}
for_,testCase:=rangetestCases{
actual:=isArgoTunnelIncident(testCase.input)
assert.Equal(t,testCase.output,actual,"Test case failed: %v",testCase.input)