| 1 | package daemon |
| 2 | |
| 3 | import ( |
| 4 | "strings" |
| 5 | "testing" |
| 6 | |
| 7 | gitrelay "github.com/FelineStateMachine/tinyrelay/tinygit" |
| 8 | ) |
| 9 | |
| 10 | func TestGitEventFiltersCoverRepositoryAndCollaborationScopes(t *testing.T) { |
| 11 | owner := strings.Repeat("a" , 64) |
| 12 | filters := gitEventFilters(gitrelay.Repository{Owner: owner, Identifier: "repo" , Maintainers: []string{strings.Repeat("b" , 64)}}) |
| 13 | if len(filters) != 3 { |
| 14 | t.Fatalf("filter count = %d" , len(filters)) |
| 15 | } |
| 16 | if len(filters[0].Authors) != 2 || filters[0].Tags["d" ][0] != "repo" { |
| 17 | t.Fatalf("metadata filter = %#v" , filters[0]) |
| 18 | } |
| 19 | for _, filter := range filters[1:] { |
| 20 | values := filter.Tags["a" ] |
| 21 | if len(values) == 0 { |
| 22 | values = filter.Tags["A" ] |
| 23 | } |
| 24 | if len(filter.Kinds) != 9 || len(values) != 1 || values[0] != "30617:" +owner+":repo" { |
| 25 | t.Fatalf("collaboration filter = %#v" , filter) |
| 26 | } |
| 27 | } |
| 28 | } |