harness-drone/plugin/condition/condition_test.go

120 lines
3 KiB
Go
Raw Normal View History

package condition
import (
"testing"
)
type Bool bool
func Test_MatchPullRequest(t *testing.T) {
var c = Condition{}
var got, want = c.MatchPullRequest(""), true
if got != want {
t.Errorf("Non-pull requests are always enabled, expected %v, got %v", want, got)
}
got, want = c.MatchPullRequest("65"), false
if got != want {
t.Errorf("Pull requests should be disabled by default, expected %v, got %v", want, got)
}
c.PullRequest = new(bool)
*c.PullRequest = false
got, want = c.MatchPullRequest("65"), false
if got != want {
t.Errorf("Pull requests can be explicity disabled, expected %v, got %v", want, got)
}
c.PullRequest = new(bool)
*c.PullRequest = true
got, want = c.MatchPullRequest("65"), true
if got != want {
t.Errorf("Pull requests can be explicitly enabled, expected %v, got %v", want, got)
}
}
func Test_MatchBranch(t *testing.T) {
var c = Condition{}
var got, want = c.MatchBranch("master"), true
if got != want {
t.Errorf("All branches should be enabled by default, expected %v, got %v", want, got)
}
c.Branch = ""
got, want = c.MatchBranch("master"), true
if got != want {
t.Errorf("Empty branch should match, expected %v, got %v", want, got)
}
c.Branch = "master"
got, want = c.MatchBranch("master"), true
if got != want {
t.Errorf("Branch should match, expected %v, got %v", want, got)
}
c.Branch = "master"
got, want = c.MatchBranch("dev"), false
if got != want {
t.Errorf("Branch should not match, expected %v, got %v", want, got)
}
c.Branch = "release/*"
got, want = c.MatchBranch("release/1.0.0"), true
if got != want {
t.Errorf("Branch should match wildcard, expected %v, got %v", want, got)
}
}
func Test_MatchOwner(t *testing.T) {
var c = Condition{}
var got, want = c.MatchOwner("drone"), true
if got != want {
t.Errorf("All owners should be enabled by default, expected %v, got %v", want, got)
}
c.Owner = ""
got, want = c.MatchOwner("drone"), true
if got != want {
t.Errorf("Empty owner should match, expected %v, got %v", want, got)
}
c.Owner = "drone"
got, want = c.MatchOwner("drone"), true
if got != want {
t.Errorf("Owner should match, expected %v, got %v", want, got)
}
c.Owner = "drone"
got, want = c.MatchOwner("drone/config"), true
if got != want {
t.Errorf("Owner/Repo should match, expected %v, got %v", want, got)
}
c.Owner = "drone"
got, want = c.MatchOwner("github.com/drone/config"), true
if got != want {
t.Errorf("Host/Owner/Repo should match, expected %v, got %v", want, got)
}
c.Owner = "bradrydzewski"
got, want = c.MatchOwner("drone"), false
if got != want {
t.Errorf("Owner should not match, expected %v, got %v", want, got)
}
c.Owner = "drone"
got, want = c.MatchOwner("bradrydzewski/drone"), false
if got != want {
t.Errorf("Owner/Repo should not match, expected %v, got %v", want, got)
}
c.Owner = "drone"
got, want = c.MatchOwner("github.com/bradrydzewski/drone"), false
if got != want {
t.Errorf("Host/Owner/Repo should not match, expected %v, got %v", want, got)
}
}