@@ -25,6 +25,7 @@ type fakeRegistry struct {
2525 fixedNow time.Time
2626 // registerErr forces Register to return this error on the next call.
2727 registerErr error
28+ getErr error
2829}
2930
3031func newFakeRegistry () * fakeRegistry {
@@ -91,6 +92,20 @@ func (f *fakeRegistry) Delete(_ context.Context, slug string) error {
9192 return nil
9293}
9394
95+ func (f * fakeRegistry ) GetSite (_ context.Context , slug string ) (registry.Site , error ) {
96+ if f .getErr != nil {
97+ return registry.Site {}, f .getErr
98+ }
99+ site , ok := f .bySite [slug ]
100+ if ! ok {
101+ return registry.Site {}, registry .ErrNotFound
102+ }
103+ dup := make ([]string , len (site .Teams ))
104+ copy (dup , site .Teams )
105+ site .Teams = dup
106+ return site , nil
107+ }
108+
94109func (f * fakeRegistry ) Sites (_ context.Context ) ([]registry.Site , error ) {
95110 out := make ([]registry.Site , 0 , len (f .bySite ))
96111 for _ , s := range f .bySite {
@@ -120,6 +135,9 @@ func (e *erroringRegistry) Delete(_ context.Context, _ string) error {
120135func (e * erroringRegistry ) Sites (_ context.Context ) ([]registry.Site , error ) {
121136 return nil , e .err
122137}
138+ func (e * erroringRegistry ) GetSite (_ context.Context , _ string ) (registry.Site , error ) {
139+ return registry.Site {}, e .err
140+ }
123141
124142// fakeGH implements GitHubAuthenticator with deterministic behaviour.
125143//
@@ -451,11 +469,15 @@ func trimPrefix(s, p string) string {
451469func newTestHandlers (t * testing.T , gh * fakeGH , st * fakeSites , store R2Store ) (* Handlers , * fakeJWT ) {
452470 t .Helper ()
453471 jwt := newFakeJWT (t )
472+ reg := newFakeRegistry ()
473+ for slug , teams := range st .bySite {
474+ _ , _ = reg .Register (context .Background (), slug , teams , "test" )
475+ }
454476 h := & Handlers {
455477 GH : gh ,
456478 JWT : jwt ,
457479 Sites : st ,
458- Registry : newFakeRegistry () ,
480+ Registry : reg ,
459481 R2 : store ,
460482 AliasProductionFmt : "<site>/production" ,
461483 AliasPreviewFmt : "<site>/preview" ,
0 commit comments