Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/cli. OpenStatus CLI www.openstatus.dev
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147package config_test
import ( "testing"
"github.com/google/go-cmp/cmp"
"github.com/openstatusHQ/cli/internal/config")
func Test_ConvertAssertionTargets(t *testing.T) { t.Run("Convert StatusCode with int target", func(t *testing.T) { assertions := []config.Assertion{ { Kind: config.StatusCode, Compare: config.Eq, Target: 200, }, }
config.ConvertAssertionTargets(assertions)
if assertions[0].Target != 200 { t.Errorf("Expected target to be 200, got %v", assertions[0].Target) } })
t.Run("Convert StatusCode with int64 target", func(t *testing.T) { assertions := []config.Assertion{ { Kind: config.StatusCode, Compare: config.Eq, Target: int64(200), }, }
config.ConvertAssertionTargets(assertions)
if assertions[0].Target != 200 { t.Errorf("Expected target to be 200, got %v", assertions[0].Target) } })
t.Run("Convert StatusCode with float64 target", func(t *testing.T) { assertions := []config.Assertion{ { Kind: config.StatusCode, Compare: config.Eq, Target: float64(200), }, }
config.ConvertAssertionTargets(assertions)
if assertions[0].Target != 200 { t.Errorf("Expected target to be 200, got %v", assertions[0].Target) } })
t.Run("Convert Header with string target", func(t *testing.T) { assertions := []config.Assertion{ { Kind: config.Header, Compare: config.Eq, Target: "application/json", Key: "Content-Type", }, }
config.ConvertAssertionTargets(assertions)
if assertions[0].Target != "application/json" { t.Errorf("Expected target to be 'application/json', got %v", assertions[0].Target) } })
t.Run("Convert TextBody with string target", func(t *testing.T) { assertions := []config.Assertion{ { Kind: config.TextBody, Compare: config.Contains, Target: "success", }, }
config.ConvertAssertionTargets(assertions)
if assertions[0].Target != "success" { t.Errorf("Expected target to be 'success', got %v", assertions[0].Target) } })
t.Run("Convert multiple assertions", func(t *testing.T) { assertions := []config.Assertion{ { Kind: config.StatusCode, Compare: config.Eq, Target: float64(200), }, { Kind: config.Header, Compare: config.Eq, Target: "application/json", Key: "Content-Type", }, { Kind: config.TextBody, Compare: config.Contains, Target: "OK", }, }
config.ConvertAssertionTargets(assertions)
expected := []config.Assertion{ { Kind: config.StatusCode, Compare: config.Eq, Target: 200, }, { Kind: config.Header, Compare: config.Eq, Target: "application/json", Key: "Content-Type", }, { Kind: config.TextBody, Compare: config.Contains, Target: "OK", }, }
if !cmp.Equal(expected, assertions) { t.Errorf("Expected %v, got %v", expected, assertions) } })
t.Run("Empty assertions slice", func(t *testing.T) { assertions := []config.Assertion{} config.ConvertAssertionTargets(assertions) if len(assertions) != 0 { t.Errorf("Expected empty slice, got %v", assertions) } })}