Text file src/cmd/go/testdata/script/goauth_netrc.txt

     1  # This test exercises the GOAUTH mechanism for specifying
     2  # credentials passed in HTTPS requests to VCS servers.
     3  # See golang.org/issue/26232
     4  
     5  env GOPROXY=direct
     6  env GOSUMDB=off
     7  
     8  # GOAUTH should default to netrc behavior.
     9  # Without credentials, downloading a module from a path that requires HTTPS
    10  # basic auth should fail.
    11  # Override default location of $HOME/.netrc
    12  env NETRC=$WORK/empty
    13  ! go get vcs-test.golang.org/auth/or401
    14  stderr '^\tserver response: ACCESS DENIED, buddy$'
    15  
    16  # With credentials from a netrc file, it should succeed.
    17  env NETRC=$WORK/netrc
    18  go get vcs-test.golang.org/auth/or401
    19  
    20  # GOAUTH=off should result in failures.
    21  env GOAUTH='off'
    22  # Without credentials, downloading a module from a path that requires HTTPS
    23  # basic auth should fail.
    24  env NETRC=$WORK/empty
    25  ! go get vcs-test.golang.org/auth/or401
    26  stderr '^\tserver response: ACCESS DENIED, buddy$'
    27  
    28  # GOAUTH='off' should ignore credentials from a valid netrc file.
    29  env GOAUTH='off'
    30  env NETRC=$WORK/netrc
    31  ! go get vcs-test.golang.org/auth/or401
    32  stderr '^\tserver response: ACCESS DENIED, buddy$'
    33  
    34  # GOAUTH=off cannot be combined with other authentication commands
    35  env GOAUTH='off; netrc'
    36  env NETRC=$WORK/netrc
    37  ! go get vcs-test.golang.org/auth/or401
    38  stderr 'GOAUTH=off cannot be combined with other authentication commands \(GOAUTH=off; netrc\)'
    39  
    40  # An unset GOAUTH should default to netrc.
    41  env GOAUTH=
    42  # Without credentials, downloading a module from a path that requires HTTPS
    43  # basic auth should fail.
    44  env NETRC=$WORK/empty
    45  ! go get vcs-test.golang.org/auth/or401
    46  stderr '^\tserver response: ACCESS DENIED, buddy$'
    47  
    48  # With credentials from a netrc file, it should succeed.
    49  env NETRC=$WORK/netrc
    50  go get vcs-test.golang.org/auth/or401
    51  
    52  # A missing file should be fail as well.
    53  env NETRC=$WORK/missing
    54  ! go get vcs-test.golang.org/auth/or401
    55  stderr '^\tserver response: ACCESS DENIED, buddy$'
    56  
    57  [short] skip 'requires a remote vcs lookup'
    58  [!git] skip
    59  # An unset home directory should warn the user but not cause a failure.
    60  env NETRC=
    61  env HOME=
    62  env USERPROFILE=
    63  env home=
    64  go get -x vcs-test.golang.org/git/emptytest.git
    65  [!GOOS:windows] [!GOOS:plan9] stderr 'GOAUTH=netrc: \$HOME is not defined'
    66  [GOOS:windows] stderr 'GOAUTH=netrc: \%userprofile\% is not defined'
    67  [GOOS:plan9] stderr 'GOAUTH=netrc: \$home is not defined'
    68  
    69  -- go.mod --
    70  module private.example.com
    71  -- $WORK/empty --
    72  -- $WORK/netrc --
    73  machine vcs-test.golang.org
    74  	login aladdin
    75  	password opensesame
    76  # first one should override this one
    77  machine vcs-test.golang.org
    78  	login aladdin
    79  	password ignored
    80  

View as plain text