summaryrefslogtreecommitdiff
path: root/data/datasource_git_test.go
diff options
context:
space:
mode:
authorEng Zer Jun <engzerjun@gmail.com>2023-12-19 10:08:45 +0800
committerGitHub <noreply@github.com>2023-12-19 02:08:45 +0000
commit483af656e6ec51ff1263743eb4957d7d70e6c51f (patch)
treeb85def06f7fbb7e08720a021f0d2a97a7c065907 /data/datasource_git_test.go
parente6835bcb487cf5795a53561c3a50bf2090847714 (diff)
test: use `t.Setenv` to set env vars in tests (#1940)
* test: use `t.Setenv` to set env vars in tests This commit replaces `os.Setenv` with `t.Setenv` in tests. The environment variable is automatically restored to its original value when the test and all its subtests complete. Reference: https://pkg.go.dev/testing#T.Setenv Signed-off-by: Eng Zer Jun <engzerjun@gmail.com> * minor adjustments Signed-off-by: Dave Henderson <dhenderson@gmail.com> --------- Signed-off-by: Eng Zer Jun <engzerjun@gmail.com> Signed-off-by: Dave Henderson <dhenderson@gmail.com> Co-authored-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data/datasource_git_test.go')
-rw-r--r--data/datasource_git_test.go45
1 files changed, 22 insertions, 23 deletions
diff --git a/data/datasource_git_test.go b/data/datasource_git_test.go
index 3f74a620..3b187ecc 100644
--- a/data/datasource_git_test.go
+++ b/data/datasource_git_test.go
@@ -484,15 +484,13 @@ func TestGitAuth(t *testing.T) {
assert.NilError(t, err)
assert.DeepEqual(t, &http.BasicAuth{Username: "user", Password: "swordfish"}, a)
- os.Setenv("GIT_HTTP_PASSWORD", "swordfish")
- defer os.Unsetenv("GIT_HTTP_PASSWORD")
+ t.Setenv("GIT_HTTP_PASSWORD", "swordfish")
a, err = g.auth(mustParseURL("git+https://user@example.com/foo"))
assert.NilError(t, err)
assert.DeepEqual(t, &http.BasicAuth{Username: "user", Password: "swordfish"}, a)
os.Unsetenv("GIT_HTTP_PASSWORD")
- os.Setenv("GIT_HTTP_TOKEN", "mytoken")
- defer os.Unsetenv("GIT_HTTP_TOKEN")
+ t.Setenv("GIT_HTTP_TOKEN", "mytoken")
a, err = g.auth(mustParseURL("git+https://user@example.com/foo"))
assert.NilError(t, err)
assert.DeepEqual(t, &http.TokenAuth{Token: "mytoken"}, a)
@@ -508,25 +506,26 @@ func TestGitAuth(t *testing.T) {
assert.Equal(t, "git", sa.User)
}
- key := string(testdata.PEMBytes["ed25519"])
- os.Setenv("GIT_SSH_KEY", key)
- defer os.Unsetenv("GIT_SSH_KEY")
- a, err = g.auth(mustParseURL("git+ssh://git@example.com/foo"))
- assert.NilError(t, err)
- ka, ok := a.(*ssh.PublicKeys)
- assert.Equal(t, true, ok)
- assert.Equal(t, "git", ka.User)
- os.Unsetenv("GIT_SSH_KEY")
-
- key = base64.StdEncoding.EncodeToString(testdata.PEMBytes["ed25519"])
- os.Setenv("GIT_SSH_KEY", key)
- defer os.Unsetenv("GIT_SSH_KEY")
- a, err = g.auth(mustParseURL("git+ssh://git@example.com/foo"))
- assert.NilError(t, err)
- ka, ok = a.(*ssh.PublicKeys)
- assert.Equal(t, true, ok)
- assert.Equal(t, "git", ka.User)
- os.Unsetenv("GIT_SSH_KEY")
+ t.Run("plain string ed25519", func(t *testing.T) {
+ key := string(testdata.PEMBytes["ed25519"])
+ t.Setenv("GIT_SSH_KEY", key)
+ a, err = g.auth(mustParseURL("git+ssh://git@example.com/foo"))
+ assert.NilError(t, err)
+ ka, ok := a.(*ssh.PublicKeys)
+ assert.Equal(t, true, ok)
+ assert.Equal(t, "git", ka.User)
+ })
+
+ t.Run("base64 ed25519", func(t *testing.T) {
+ key := base64.StdEncoding.EncodeToString(testdata.PEMBytes["ed25519"])
+ t.Setenv("GIT_SSH_KEY", key)
+ a, err = g.auth(mustParseURL("git+ssh://git@example.com/foo"))
+ assert.NilError(t, err)
+ ka, ok := a.(*ssh.PublicKeys)
+ assert.Equal(t, true, ok)
+ assert.Equal(t, "git", ka.User)
+ os.Unsetenv("GIT_SSH_KEY")
+ })
}
func TestRefFromURL(t *testing.T) {