@@ -3,14 +3,14 @@ package login
33import (
44 "bytes"
55 "net/http"
6- "os"
76 "regexp"
87 "testing"
98
109 "github.com/MakeNowJust/heredoc"
1110 "github.com/cli/cli/internal/config"
1211 "github.com/cli/cli/internal/run"
1312 "github.com/cli/cli/pkg/cmdutil"
13+ "github.com/cli/cli/pkg/env"
1414 "github.com/cli/cli/pkg/httpmock"
1515 "github.com/cli/cli/pkg/iostreams"
1616 "github.com/cli/cli/pkg/prompt"
@@ -204,6 +204,12 @@ func Test_loginRun_nontty(t *testing.T) {
204204 Hostname : "github.com" ,
205205 Token : "abc123" ,
206206 },
207+ env : map [string ]string {
208+ "GH_TOKEN" : "" ,
209+ "GITHUB_TOKEN" : "" ,
210+ "GH_ENTERPRISE_TOKEN" : "" ,
211+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
212+ },
207213 httpStubs : func (reg * httpmock.Registry ) {
208214 reg .Register (httpmock .REST ("GET" , "" ), httpmock .ScopesResponder ("repo,read:org" ))
209215 },
@@ -215,6 +221,12 @@ func Test_loginRun_nontty(t *testing.T) {
215221 Hostname : "albert.wesker" ,
216222 Token : "abc123" ,
217223 },
224+ env : map [string ]string {
225+ "GH_TOKEN" : "" ,
226+ "GITHUB_TOKEN" : "" ,
227+ "GH_ENTERPRISE_TOKEN" : "" ,
228+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
229+ },
218230 httpStubs : func (reg * httpmock.Registry ) {
219231 reg .Register (httpmock .REST ("GET" , "api/v3/" ), httpmock .ScopesResponder ("repo,read:org" ))
220232 },
@@ -226,6 +238,12 @@ func Test_loginRun_nontty(t *testing.T) {
226238 Hostname : "github.com" ,
227239 Token : "abc456" ,
228240 },
241+ env : map [string ]string {
242+ "GH_TOKEN" : "" ,
243+ "GITHUB_TOKEN" : "" ,
244+ "GH_ENTERPRISE_TOKEN" : "" ,
245+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
246+ },
229247 httpStubs : func (reg * httpmock.Registry ) {
230248 reg .Register (httpmock .REST ("GET" , "" ), httpmock .ScopesResponder ("read:org" ))
231249 },
@@ -237,6 +255,12 @@ func Test_loginRun_nontty(t *testing.T) {
237255 Hostname : "github.com" ,
238256 Token : "abc456" ,
239257 },
258+ env : map [string ]string {
259+ "GH_TOKEN" : "" ,
260+ "GITHUB_TOKEN" : "" ,
261+ "GH_ENTERPRISE_TOKEN" : "" ,
262+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
263+ },
240264 httpStubs : func (reg * httpmock.Registry ) {
241265 reg .Register (httpmock .REST ("GET" , "" ), httpmock .ScopesResponder ("repo" ))
242266 },
@@ -248,6 +272,12 @@ func Test_loginRun_nontty(t *testing.T) {
248272 Hostname : "github.com" ,
249273 Token : "abc456" ,
250274 },
275+ env : map [string ]string {
276+ "GH_TOKEN" : "" ,
277+ "GITHUB_TOKEN" : "" ,
278+ "GH_ENTERPRISE_TOKEN" : "" ,
279+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
280+ },
251281 httpStubs : func (reg * httpmock.Registry ) {
252282 reg .Register (httpmock .REST ("GET" , "" ), httpmock .ScopesResponder ("repo,admin:org" ))
253283 },
@@ -260,7 +290,10 @@ func Test_loginRun_nontty(t *testing.T) {
260290 Token : "abc456" ,
261291 },
262292 env : map [string ]string {
263- "GH_TOKEN" : "value_from_env" ,
293+ "GH_TOKEN" : "ENVTOKEN" ,
294+ "GITHUB_TOKEN" : "" ,
295+ "GH_ENTERPRISE_TOKEN" : "" ,
296+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
264297 },
265298 wantErr : "SilentError" ,
266299 wantStderr : heredoc .Doc (`
@@ -275,7 +308,10 @@ func Test_loginRun_nontty(t *testing.T) {
275308 Token : "abc456" ,
276309 },
277310 env : map [string ]string {
278- "GH_ENTERPRISE_TOKEN" : "value_from_env" ,
311+ "GH_TOKEN" : "" ,
312+ "GITHUB_TOKEN" : "" ,
313+ "GH_ENTERPRISE_TOKEN" : "ENVTOKEN" ,
314+ "GITHUB_ENTERPRISE_TOKEN" : "" ,
279315 },
280316 wantErr : "SilentError" ,
281317 wantStderr : heredoc .Doc (`
@@ -303,20 +339,7 @@ func Test_loginRun_nontty(t *testing.T) {
303339 return & http.Client {Transport : reg }, nil
304340 }
305341
306- old_GH_TOKEN := os .Getenv ("GH_TOKEN" )
307- os .Setenv ("GH_TOKEN" , tt .env ["GH_TOKEN" ])
308- old_GITHUB_TOKEN := os .Getenv ("GITHUB_TOKEN" )
309- os .Setenv ("GITHUB_TOKEN" , tt .env ["GITHUB_TOKEN" ])
310- old_GH_ENTERPRISE_TOKEN := os .Getenv ("GH_ENTERPRISE_TOKEN" )
311- os .Setenv ("GH_ENTERPRISE_TOKEN" , tt .env ["GH_ENTERPRISE_TOKEN" ])
312- old_GITHUB_ENTERPRISE_TOKEN := os .Getenv ("GITHUB_ENTERPRISE_TOKEN" )
313- os .Setenv ("GITHUB_ENTERPRISE_TOKEN" , tt .env ["GITHUB_ENTERPRISE_TOKEN" ])
314- defer func () {
315- os .Setenv ("GH_TOKEN" , old_GH_TOKEN )
316- os .Setenv ("GITHUB_TOKEN" , old_GITHUB_TOKEN )
317- os .Setenv ("GH_ENTERPRISE_TOKEN" , old_GH_ENTERPRISE_TOKEN )
318- os .Setenv ("GITHUB_ENTERPRISE_TOKEN" , old_GITHUB_ENTERPRISE_TOKEN )
319- }()
342+ t .Cleanup (env .WithEnv (tt .env ))
320343
321344 if tt .httpStubs != nil {
322345 tt .httpStubs (reg )
0 commit comments