mirror of
https://github.com/TwiN/gatus.git
synced 2024-11-25 17:33:19 +01:00
48 lines
1.4 KiB
Go
48 lines
1.4 KiB
Go
package config
|
|
|
|
import "testing"
|
|
|
|
func TestParseConfigBytes(t *testing.T) {
|
|
config := ParseConfigBytes([]byte(`
|
|
services:
|
|
- name: twinnation
|
|
url: https://twinnation.org/actuator/health
|
|
interval: 15
|
|
failure-threshold: 3
|
|
conditions:
|
|
- "$STATUS == 200"
|
|
- name: github
|
|
url: https://github.com
|
|
conditions:
|
|
- "$STATUS != 400"
|
|
- "$STATUS != 500"
|
|
`))
|
|
if len(config.Services) != 2 {
|
|
t.Error("Should have returned two services")
|
|
}
|
|
if config.Services[0].Url != "https://twinnation.org/actuator/health" {
|
|
t.Errorf("URL should have been %s", "https://twinnation.org/actuator/health")
|
|
}
|
|
if config.Services[1].Url != "https://github.com" {
|
|
t.Errorf("URL should have been %s", "https://github.com")
|
|
}
|
|
if config.Services[0].Interval != 15 {
|
|
t.Errorf("Interval should have been %d", 15)
|
|
}
|
|
if config.Services[1].Interval != 10 {
|
|
t.Errorf("Interval should have been %d, because it is the default value", 10)
|
|
}
|
|
if config.Services[0].FailureThreshold != 3 {
|
|
t.Errorf("FailureThreshold should have been %d", 3)
|
|
}
|
|
if config.Services[1].FailureThreshold != 1 {
|
|
t.Errorf("FailureThreshold should have been %d, because it is the default value", 1)
|
|
}
|
|
if len(config.Services[0].Conditions) != 1 {
|
|
t.Errorf("There should have been %d conditions", 1)
|
|
}
|
|
if len(config.Services[1].Conditions) != 2 {
|
|
t.Errorf("There should have been %d conditions", 2)
|
|
}
|
|
}
|