Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/cli. OpenStatus CLI www.openstatus.dev
Something went wrong. Try again.
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106package config_test
import ( "os" "testing"
"github.com/google/go-cmp/cmp" "github.com/openstatusHQ/cli/internal/config")
var lockfile = `"test-monitor": id: 1 monitor: active: true assertions: - compare: eq kind: statusCode target: 200 description: Uptime monitoring example frequency: 10m kind: http name: Uptime Monitor regions: - iad - ams - syd - jnb - gru request: headers: User-Agent: OpenStatus method: GET url: https://openstat.us retry: 3`
func Test_getMonitorTrigger(t *testing.T) { t.Run("Read Lock file", func(t *testing.T) { f, err := os.CreateTemp(".", "openstatus.lock") if err != nil { t.Fatal(err) } defer os.Remove(f.Name()) // clean up
if _, err := f.Write([]byte(lockfile)); err != nil { t.Fatal(err) } if err := f.Close(); err != nil { t.Fatal(err) } out, err := config.ReadLockFile(f.Name()) if err != nil { t.Fatal(err) }
expect := config.MonitorsLock{ "test-monitor": { ID: 1, Monitor: config.Monitor{ Active: true, Name: "Uptime Monitor", Description: "Uptime monitoring example", Frequency: "10m", Kind: config.HTTP, Retry: 3, Public: false, Regions: []config.Region{config.Iad, config.Ams, config.Syd, config.Jnb, config.Gru}, Request: config.Request{ URL: "https://openstat.us", Method: config.Get, Headers: map[string]string{"User-Agent": "OpenStatus"}, }, Assertions: []config.Assertion{ { Compare: config.Eq, Kind: config.StatusCode, Target: 200, }, }, }, }, }
equal := cmp.Equal(expect, out) if !equal { t.Errorf("Expected %v, got %v", expect, out) } })
t.Run("No Lock file", func(t *testing.T) {
out, err := config.ReadLockFile("doesnotexist") if err != nil { t.Fatal(err) }
expect := config.MonitorsLock{}
equal := cmp.Equal(expect, out) if !equal { t.Errorf("Expected %v, got %v", expect, out) } })}