Skip to content

Commit 7340104

Browse files
committed
Add changes to support OBO/delegation testing in tests
Setting `use_obo_token` env-var will cause tests to look for an `obo_token` env-var and use that instead of the usual API keys for auth. Also remove unused values from test provider configs. This was causing confusion on what values were being used in tests.
1 parent 66aec1c commit 7340104

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

provider/provider_test.go

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ import (
1818

1919
var testAccProvider *schema.Provider
2020
var testAccProviders map[string]terraform.ResourceProvider
21-
var requiredEnvVars = []string{"tenancy_ocid", "user_ocid", "compartment_ocid", "fingerprint", "private_key_path",
22-
"compartment_id_for_create", "compartment_id_for_update", "tags_import_if_exists"}
21+
var requiredTestEnvVars = []string{"compartment_ocid", "compartment_id_for_create", "compartment_id_for_update", "tags_import_if_exists"}
22+
var requiredKeyAuthEnvVars = []string{"tenancy_ocid", "user_ocid", "fingerprint", "private_key_path"}
23+
var requiredOboTokenAuthEnvVars = []string{"tenancy_ocid", "obo_token"}
2324

2425
func init() {
2526
testAccProvider = Provider(func(d *schema.ResourceData) (interface{}, error) {
@@ -33,23 +34,14 @@ func init() {
3334

3435
func testProviderConfig() string {
3536
return `
37+
# Need to have this block even though it's empty; for import testing
3638
provider "oci" {
37-
tenancy_ocid = "ocid.tenancy.aaaa"
38-
user_ocid = "ocid.user.bbbbb"
39-
fingerprint = "xxxxxxxxxx"
40-
private_key_path = "/home/foo/private_key.pem"
41-
private_key_password = "password"
42-
region = "us-phoenix-1"
4339
}
4440
4541
variable "tenancy_ocid" {
4642
default = "` + getEnvSettingWithBlankDefault("tenancy_ocid") + `"
4743
}
4844
49-
variable "namespace" {
50-
default = "` + getEnvSettingWithDefault("namespace", "mustwin") + `"
51-
}
52-
5345
variable "ssh_public_key" {
5446
default = "ssh-rsa KKKLK3NzaC1yc2EAAAADAQABAAABAQC+UC9MFNA55NIVtKPIBCNw7++ACXhD0hx+Zyj25JfHykjz/QU3Q5FAU3DxDbVXyubgXfb/GJnrKRY8O4QDdvnZZRvQFFEOaApThAmCAM5MuFUIHdFvlqP+0W+ZQnmtDhwVe2NCfcmOrMuaPEgOKO3DOW6I/qOOdO691Xe2S9NgT9HhN0ZfFtEODVgvYulgXuCCXsJs+NUqcHAOxxFUmwkbPvYi0P0e2DT8JKeiOOC8VKUEgvVx+GKmqasm+Y6zHFW7vv3g2GstE1aRs3mttHRoC/JPM86PRyIxeWXEMzyG5wHqUu4XZpDbnWNxi6ugxnAGiL3CrIFdCgRNgHz5qS1l MustWin"
5547
}
@@ -62,7 +54,15 @@ func testProviderConfig() string {
6254
}
6355

6456
func testAccPreCheck(t *testing.T) {
65-
for _, envVar := range requiredEnvVars {
57+
envVarChecklist := []string{}
58+
copy(envVarChecklist, requiredTestEnvVars)
59+
if getEnvSettingWithDefault("use_obo_token", "false") != "false" {
60+
envVarChecklist = append(envVarChecklist, requiredOboTokenAuthEnvVars...)
61+
} else {
62+
envVarChecklist = append(envVarChecklist, requiredKeyAuthEnvVars...)
63+
}
64+
65+
for _, envVar := range envVarChecklist {
6666
assertEnvAvailable(envVar, t)
6767
}
6868

@@ -222,16 +222,20 @@ func GetTestProvider() *OracleClients {
222222
}
223223
d := r.Data(nil)
224224
d.SetId(getEnvSettingWithBlankDefault("tenancy_ocid"))
225-
226-
d.Set("auth", getEnvSettingWithDefault("auth", authAPIKeySetting))
227225
d.Set("tenancy_ocid", getEnvSettingWithBlankDefault("tenancy_ocid"))
228-
d.Set("user_ocid", getEnvSettingWithBlankDefault("user_ocid"))
229-
d.Set("fingerprint", getEnvSettingWithBlankDefault("fingerprint"))
230-
d.Set("private_key_path", getEnvSettingWithBlankDefault("private_key_path"))
231-
d.Set("private_key_password", getEnvSettingWithBlankDefault("private_key_password"))
232-
d.Set("private_key", getEnvSettingWithBlankDefault("private_key"))
233226
d.Set("region", getEnvSettingWithDefault("region", "us-phoenix-1"))
234227

228+
if getEnvSettingWithDefault("use_obo_token", "false") == "false" {
229+
d.Set("auth", getEnvSettingWithDefault("auth", authAPIKeySetting))
230+
d.Set("user_ocid", getEnvSettingWithBlankDefault("user_ocid"))
231+
d.Set("fingerprint", getEnvSettingWithBlankDefault("fingerprint"))
232+
d.Set("private_key_path", getEnvSettingWithBlankDefault("private_key_path"))
233+
d.Set("private_key_password", getEnvSettingWithBlankDefault("private_key_password"))
234+
d.Set("private_key", getEnvSettingWithBlankDefault("private_key"))
235+
} else {
236+
d.Set("auth", getEnvSettingWithDefault("auth", authInstancePrincipalSetting))
237+
}
238+
235239
client, err := ProviderConfig(d)
236240
if err != nil {
237241
panic(err)

0 commit comments

Comments
 (0)