Skip to content

Commit 323f1bc

Browse files
jotruonvsin12
authored andcommitted
Added - Using session token for integration test
1 parent bd6888d commit 323f1bc

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

internal/acctest/test_helpers.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,8 @@ func PreCheck(t *testing.T) {
641641
copy(envVarChecklist, requiredTestEnvVars)
642642
if getEnvSettingWithDefaultVar("use_obo_token", "false") != "false" {
643643
envVarChecklist = append(envVarChecklist, requiredOboTokenAuthEnvVars...)
644+
} else if getEnvSettingWithBlankDefaultVar("auth") == "SecurityToken" {
645+
envVarChecklist = append(envVarChecklist, requiredSecurityTokenAuthEnvVars...)
644646
} else {
645647
envVarChecklist = append(envVarChecklist, requiredKeyAuthEnvVars...)
646648
}
@@ -656,6 +658,9 @@ func PreCheck(t *testing.T) {
656658
var requiredTestEnvVars = []string{"compartment_ocid", "compartment_id_for_create", "compartment_id_for_update", "tags_import_if_exists"}
657659
var requiredKeyAuthEnvVars = []string{"tenancy_ocid", "user_ocid", "fingerprint"}
658660
var requiredOboTokenAuthEnvVars = []string{"tenancy_ocid", "obo_token"}
661+
662+
var requiredSecurityTokenAuthEnvVars = []string{"config_file_profile"}
663+
659664
var TestAccProvider *schema.Provider
660665
var TestAccProviders map[string]*schema.Provider
661666

@@ -719,6 +724,9 @@ func GetTestClients(data *schema.ResourceData) *tf_client.OracleClients {
719724
d.Set("private_key_path", getEnvSettingWithBlankDefaultVar("private_key_path"))
720725
d.Set("private_key_password", getEnvSettingWithBlankDefaultVar("private_key_password"))
721726
d.Set("private_key", getEnvSettingWithBlankDefaultVar("private_key"))
727+
} else if auth = getEnvSettingWithBlankDefaultVar("auth"); auth == globalvar.AuthSecurityToken {
728+
d.Set("auth", globalvar.AuthSecurityToken)
729+
d.Set("config_file_profile", getEnvSettingWithDefaultVar("config_file_profile", globalvar.SecurityTokenProfileForTest))
722730
} else {
723731
d.Set("auth", getEnvSettingWithDefaultVar("auth", auth))
724732
}

internal/acctest/test_helpers_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -820,6 +820,45 @@ func TestUnitGetTestClients(t *testing.T) {
820820
}
821821
}
822822

823+
func TestUnitGetTestClientsSecurityToken(t *testing.T) {
824+
r := &schema.Resource{
825+
Schema: provider.SchemaMap(),
826+
}
827+
d := r.Data(nil)
828+
os.Setenv("auth", globalvar.AuthSecurityToken)
829+
getEnvSettingWithDefaultVar = func(key string, value string) string {
830+
return value
831+
}
832+
getEnvSettingWithBlankDefaultVar = func(key string) string {
833+
return "dummy_value"
834+
}
835+
tfProviderConfigVar = func(d *schema.ResourceData) (interface{}, error) {
836+
return &tf_client.OracleClients{
837+
Configuration: map[string]string{"auth": "SecurityToken"},
838+
}, nil
839+
}
840+
type args struct {
841+
data *schema.ResourceData
842+
}
843+
tests := []struct {
844+
name string
845+
args args
846+
}{
847+
{
848+
name: "Test positive case",
849+
args: args{
850+
data: d,
851+
},
852+
},
853+
}
854+
for _, tt := range tests {
855+
t.Run(tt.name, func(t *testing.T) {
856+
client := GetTestClients(tt.args.data)
857+
assert.NotEmpty(t, client)
858+
})
859+
}
860+
}
861+
823862
func TestUnitGetUpdatedRepresentationCopy(t *testing.T) {
824863
auditEventResourceRepresentation := map[string]interface{}{
825864
"end_time": Representation{RepType: Required, Create: `create`},

internal/globalvar/constants.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,6 @@ const (
8181
const (
8282
DebugTestSteps = "DEBUG_TEST_STEPS"
8383
DebugTestStepsShowConfigOnly = "DEBUG_TEST_STEPS_SHOW_CONFIG_ONLY"
84+
SecurityTokenProfileForTest = "terraform-federation-test"
8485
)
8586
const TerraformDocumentLink = "https://registry.terraform.io/providers/oracle/oci/latest/docs/"

0 commit comments

Comments
 (0)