forked from mattn/goveralls
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgitinfo_test.go
More file actions
80 lines (77 loc) · 1.77 KB
/
Copy pathgitinfo_test.go
File metadata and controls
80 lines (77 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package main
import (
"os"
"testing"
)
func TestLoadBranchFromEnv(t *testing.T) {
var tests = []struct {
testCase string
envs map[string]string
expectedBranch string
}{
{
"all vars defined",
map[string]string{
"GIT_BRANCH": "master",
"CIRCLE_BRANCH": "circle-master",
"TRAVIS_BRANCH": "travis-master",
"CI_BRANCH": "ci-master",
"APPVEYOR_REPO_BRANCH": "appveyor-master",
},
"master",
},
{
"all except GIT_BRANCH",
map[string]string{
"CIRCLE_BRANCH": "circle-master",
"TRAVIS_BRANCH": "travis-master",
"CI_BRANCH": "ci-master",
"APPVEYOR_REPO_BRANCH": "appveyor-master",
},
"circle-master",
},
{
"all except GIT_BRANCH and CIRCLE_BRANCH",
map[string]string{
"TRAVIS_BRANCH": "travis-master",
"CI_BRANCH": "ci-master",
"APPVEYOR_REPO_BRANCH": "appveyor-master",
},
"travis-master",
},
{
"only CI_BRANCH defined",
map[string]string{
"CI_BRANCH": "ci-master",
},
"ci-master",
},
{
"only APPVEYOR_REPO_BRANCH defined",
map[string]string{
"APPVEYOR_REPO_BRANCH": "appveyor-master",
},
"appveyor-master",
},
{
"no branch var defined",
map[string]string{},
"",
},
}
for _, test := range tests {
resetBranchEnvs(test.envs)
envBranch := loadBranchFromEnv()
if envBranch != test.expectedBranch {
t.Errorf("%s: wrong branch returned. Expected %q, but got %q", test.testCase, test.expectedBranch, envBranch)
}
}
}
func resetBranchEnvs(values map[string]string) {
for _, envVar := range []string{"CI_BRANCH", "CIRCLE_BRANCH", "GIT_BRANCH", "TRAVIS_BRANCH", "APPVEYOR_REPO_BRANCH"} {
os.Unsetenv(envVar)
}
for k, v := range values {
os.Setenv(k, v)
}
}