package registry import ( "context" "testing" "github.com/vasyakrg/dns-autoresolver/internal/diff" "github.com/vasyakrg/dns-autoresolver/internal/model" "github.com/vasyakrg/dns-autoresolver/internal/provider" ) type fakeProvider struct{ name string } func (f fakeProvider) Name() string { return f.name } func (fakeProvider) ListZones(context.Context, provider.Credentials) ([]provider.Zone, error) { return nil, nil } func (fakeProvider) GetRecords(context.Context, provider.Credentials, string) ([]model.Record, error) { return nil, nil } func (fakeProvider) ApplyChanges(context.Context, provider.Credentials, string, diff.Changeset) error { return nil } func (fakeProvider) Validate(context.Context, provider.Credentials) error { return nil } func TestRegistryByName(t *testing.T) { r := New() r.Register(fakeProvider{name: "selectel"}) p, err := r.ByName("selectel") if err != nil || p.Name() != "selectel" { t.Fatalf("expected selectel, got %v err=%v", p, err) } if _, err := r.ByName("unknown"); err == nil { t.Fatal("expected error for unknown provider") } }