2 回答

TA貢獻1818條經驗 獲得超11個贊
將此變量TERRATEST_IAM_ROLE作為文檔中提到的os環境變量傳遞的唯一方法您也可以將其定義為您的后端文件,但如果您有讀取值的斷言測試用例,則不會被拾取,因為它使用aws cli
所以我做了這件事,它奏效了。
import (
"os"
)
os.Setenv("TERRATEST_IAM_ROLE", "arn:aws:iam::xxxx/xxxx")

TA貢獻1796條經驗 獲得超4個贊
**
這段代碼是不可測試的,所以你不能測試它。
** https://github.com/gruntwork-io/terratest/blob/f3916f7a5f58e3fedf603388d3e3e8052d6a47a3/modules/aws/auth.go#L18
我希望他們可以像這樣重構它:
var AuthAssumeRoleEnvVar string
func SetAuthAssumeRoleEnvVar(role string){
AuthAssumeRoleEnvVar = role
}
func NewAuthenticatedSession(region string) (*session.Session, error) {
if assumeRoleArn, ok := os.LookupEnv(AuthAssumeRoleEnvVar); ok {
return NewAuthenticatedSessionFromRole(region, assumeRoleArn)
} else {
return NewAuthenticatedSessionFromDefaultCredentials(region)
}
}
所以我們可以這樣稱呼它:
aws.SetAuthAssumeRoleEnvVar("testrole")
aws.NewAuthenticatedSession(region)
- 2 回答
- 0 關注
- 131 瀏覽
添加回答
舉報