package orchestrator import ( "os" "testing" "github.com/stretchr/testify/assert" ) func TestJenkins(t *testing.T) { t.Run("BranchBuild", func(t *testing.T) { defer resetEnv(os.Environ()) os.Clearenv() os.Setenv("JENKINS_URL", "FOO BAR BAZ") os.Setenv("BUILD_URL", "jaas.com/foo/bar/main/42") os.Setenv("BRANCH_NAME", "main") os.Setenv("GIT_COMMIT", "abcdef42713") os.Setenv("GIT_URL", "github.com/foo/bar") p, _ := NewOrchestratorSpecificConfigProvider() assert.False(t, p.IsPullRequest()) assert.Equal(t, "jaas.com/foo/bar/main/42", p.GetBuildUrl()) assert.Equal(t, "main", p.GetBranch()) assert.Equal(t, "abcdef42713", p.GetCommit()) assert.Equal(t, "github.com/foo/bar", p.GetRepoUrl()) assert.Equal(t, "Jenkins", p.OrchestratorType()) }) t.Run("PR", func(t *testing.T) { defer resetEnv(os.Environ()) os.Clearenv() os.Setenv("BRANCH_NAME", "PR-42") os.Setenv("CHANGE_BRANCH", "feat/test-jenkins") os.Setenv("CHANGE_TARGET", "main") os.Setenv("CHANGE_ID", "42") p := JenkinsConfigProvider{} c := p.GetPullRequestConfig() assert.True(t, p.IsPullRequest()) assert.Equal(t, "feat/test-jenkins", c.Branch) assert.Equal(t, "main", c.Base) assert.Equal(t, "42", c.Key) }) }