diff options
| author | Eng Zer Jun <engzerjun@gmail.com> | 2023-12-19 10:08:45 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-19 02:08:45 +0000 |
| commit | 483af656e6ec51ff1263743eb4957d7d70e6c51f (patch) | |
| tree | b85def06f7fbb7e08720a021f0d2a97a7c065907 /data/datasource_git_test.go | |
| parent | e6835bcb487cf5795a53561c3a50bf2090847714 (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.go | 45 |
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) { |
