Files
atlantis/server/events/team_allowlist_checker_test.go
Nish Krishnan b7b28b807a fix: default permissions for gh-team-allowlist. (#1974)
* Fix default permissions for gh-team-allowlist.

* Fix broken links.
2022-01-04 11:20:29 -08:00

44 lines
1.5 KiB
Go

package events_test
import (
"testing"
"github.com/runatlantis/atlantis/server/events"
. "github.com/runatlantis/atlantis/testing"
)
func TestNewTeamAllowListChecker(t *testing.T) {
allowlist := `bob:plan, dave:apply`
_, err := events.NewTeamAllowlistChecker(allowlist)
Ok(t, err)
}
func TestNewTeamAllowListCheckerEmpty(t *testing.T) {
allowlist := ``
checker, err := events.NewTeamAllowlistChecker(allowlist)
Ok(t, err)
Equals(t, false, checker.HasRules())
}
func TestIsCommandAllowedForTeam(t *testing.T) {
allowlist := `bob:plan, dave:apply, connie:plan, connie:apply`
checker, err := events.NewTeamAllowlistChecker(allowlist)
Ok(t, err)
Equals(t, true, checker.IsCommandAllowedForTeam("connie", "plan"))
Equals(t, true, checker.IsCommandAllowedForTeam("connie", "apply"))
Equals(t, true, checker.IsCommandAllowedForTeam("dave", "apply"))
Equals(t, true, checker.IsCommandAllowedForTeam("bob", "plan"))
Equals(t, false, checker.IsCommandAllowedForTeam("bob", "apply"))
}
func TestIsCommandAllowedForAnyTeam(t *testing.T) {
allowlist := `alpha:plan,beta:release,*:unlock,nobody:*`
teams := []string{`alpha`, `beta`}
checker, err := events.NewTeamAllowlistChecker(allowlist)
Ok(t, err)
Equals(t, true, checker.IsCommandAllowedForAnyTeam(teams, `plan`))
Equals(t, true, checker.IsCommandAllowedForAnyTeam(teams, `release`))
Equals(t, true, checker.IsCommandAllowedForAnyTeam(teams, `unlock`))
Equals(t, false, checker.IsCommandAllowedForAnyTeam(teams, `noop`))
}