package checker import ( "testing" sdk "git.happydns.org/checker-sdk-go/checker" ) func TestDefinitionSmoke(t *testing.T) { prov, ok := Provider().(sdk.CheckerDefinitionProvider) if !ok { t.Fatalf("Provider does not implement CheckerDefinitionProvider") } def := prov.Definition() if def == nil { t.Fatalf("nil definition") } if def.ID == "" || def.Name == "" { t.Errorf("missing ID/Name: %+v", def) } if !def.HasHTMLReport || !def.HasMetrics { t.Errorf("expected HasHTMLReport and HasMetrics: %+v", def) } if len(def.Rules) == 0 { t.Errorf("definition exposes no rules") } // Recordtype default option must be present for users. var has bool for _, opt := range def.Options.UserOpts { if opt.Id == "recordTypes" { has = true break } } if !has { t.Errorf("missing recordTypes user option") } // Service restriction. if len(def.Availability.LimitToServices) == 0 { t.Errorf("expected LimitToServices to be set") } } func TestProviderKey(t *testing.T) { if Provider().Key() != ObservationKeyResolverPropagation { t.Errorf("unexpected observation key") } }