@@ -638,6 +638,81 @@ func TestAwsCredential_BasicRequestWithEnv(t *testing.T) {
638638 }
639639}
640640
641+ func TestAwsCredential_BasicRequestWithDefaultEnv (t * testing.T ) {
642+ server := createDefaultAwsTestServer ()
643+ ts := httptest .NewServer (server )
644+
645+ tfc := testFileConfig
646+ tfc .CredentialSource = server .getCredentialSource (ts .URL )
647+
648+ oldGetenv := getenv
649+ defer func () { getenv = oldGetenv }()
650+ getenv = setEnvironment (map [string ]string {
651+ "AWS_ACCESS_KEY_ID" : "AKIDEXAMPLE" ,
652+ "AWS_SECRET_ACCESS_KEY" : "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" ,
653+ "AWS_DEFAULT_REGION" : "us-west-1" ,
654+ })
655+
656+ base , err := tfc .parse (context .Background ())
657+ if err != nil {
658+ t .Fatalf ("parse() failed %v" , err )
659+ }
660+
661+ out , err := base .subjectToken ()
662+ if err != nil {
663+ t .Fatalf ("retrieveSubjectToken() failed: %v" , err )
664+ }
665+ expected := getExpectedSubjectToken (
666+ "https://sts.us-west-1.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15" ,
667+ "us-west-1" ,
668+ "AKIDEXAMPLE" ,
669+ "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" ,
670+ "" ,
671+ )
672+
673+ if got , want := out , expected ; ! reflect .DeepEqual (got , want ) {
674+ t .Errorf ("subjectToken = %q, want %q" , got , want )
675+ }
676+ }
677+
678+ func TestAwsCredential_BasicRequestWithTwoRegions (t * testing.T ) {
679+ server := createDefaultAwsTestServer ()
680+ ts := httptest .NewServer (server )
681+
682+ tfc := testFileConfig
683+ tfc .CredentialSource = server .getCredentialSource (ts .URL )
684+
685+ oldGetenv := getenv
686+ defer func () { getenv = oldGetenv }()
687+ getenv = setEnvironment (map [string ]string {
688+ "AWS_ACCESS_KEY_ID" : "AKIDEXAMPLE" ,
689+ "AWS_SECRET_ACCESS_KEY" : "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" ,
690+ "AWS_REGION" : "us-west-1" ,
691+ "AWS_DEFAULT_REGION" : "us-east-1" ,
692+ })
693+
694+ base , err := tfc .parse (context .Background ())
695+ if err != nil {
696+ t .Fatalf ("parse() failed %v" , err )
697+ }
698+
699+ out , err := base .subjectToken ()
700+ if err != nil {
701+ t .Fatalf ("retrieveSubjectToken() failed: %v" , err )
702+ }
703+ expected := getExpectedSubjectToken (
704+ "https://sts.us-west-1.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15" ,
705+ "us-west-1" ,
706+ "AKIDEXAMPLE" ,
707+ "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" ,
708+ "" ,
709+ )
710+
711+ if got , want := out , expected ; ! reflect .DeepEqual (got , want ) {
712+ t .Errorf ("subjectToken = %q, want %q" , got , want )
713+ }
714+ }
715+
641716func TestAwsCredential_RequestWithBadVersion (t * testing.T ) {
642717 server := createDefaultAwsTestServer ()
643718 ts := httptest .NewServer (server )
0 commit comments