Federated via graft
0

Configure Feed

Select the types of activity you want to include in your feed.

graft-source / internal / config / config_test.go
1.7 kB 52 lines
1package config 2 3import "testing" 4 5func validPair() RepoPair { 6 return RepoPair{ 7 Name: "p", 8 Forgejo: ForgejoTarget{BaseURL: "https://f1", Owner: "o", Repo: "r", TokenFile: "/tmp/t"}, 9 Sync: SyncScope{Git: true}, 10 } 11} 12 13func TestValidateRequiresRadicleOrForgejoMirror(t *testing.T) { 14 p := validPair() 15 if err := p.validate(); err == nil { 16 t.Fatal("expected error when neither radicle nor forgejo_mirror is set") 17 } 18} 19 20func TestValidateRejectsBothRadicleAndForgejoMirror(t *testing.T) { 21 p := validPair() 22 p.Radicle = &RadicleTarget{RID: "rad:z1", HTTPBaseURL: "https://r1", RadHome: "/home/r"} 23 p.ForgejoMirror = &ForgejoTarget{BaseURL: "https://f2", Owner: "o", Repo: "r", TokenFile: "/tmp/t2"} 24 if err := p.validate(); err == nil { 25 t.Fatal("expected error when both radicle and forgejo_mirror are set") 26 } 27} 28 29func TestValidateAcceptsRadicleOnly(t *testing.T) { 30 p := validPair() 31 p.Radicle = &RadicleTarget{RID: "rad:z1", HTTPBaseURL: "https://r1", RadHome: "/home/r"} 32 if err := p.validate(); err != nil { 33 t.Fatalf("unexpected error: %v", err) 34 } 35} 36 37func TestValidateAcceptsForgejoMirrorOnly(t *testing.T) { 38 p := validPair() 39 p.ForgejoMirror = &ForgejoTarget{BaseURL: "https://f2", Owner: "o", Repo: "r", TokenFile: "/tmp/t2"} 40 if err := p.validate(); err != nil { 41 t.Fatalf("unexpected error: %v", err) 42 } 43} 44 45func TestValidateRejectsIssuesOrPatchesOnForgejoMirror(t *testing.T) { 46 p := validPair() 47 p.ForgejoMirror = &ForgejoTarget{BaseURL: "https://f2", Owner: "o", Repo: "r", TokenFile: "/tmp/t2"} 48 p.Sync.Issues = true 49 if err := p.validate(); err == nil { 50 t.Fatal("expected error: forgejo_mirror pairs don't support issue sync") 51 } 52}