package referenceidentity

import (
	"context"
	"testing"
)

type authorityStub struct{}

func (authorityStub) ResolveReferenceIdentities(context.Context, string, []string, []string) (Resolution, error) {
	return Resolution{Identities: map[string]IdentityResolution{}}, nil
}

func TestAuthorityContextBinding(t *testing.T) {
	if _, ok := FromContext(t.Context()); ok {
		t.Fatal("unbound context returned an authority")
	}
	bound := WithAuthority(t.Context(), authorityStub{})
	if _, ok := FromContext(bound); !ok {
		t.Fatal("bound context did not return its authority")
	}
}
