66 "fmt"
77 "strings"
88 "testing"
9+ "time"
910
1011 "github.com/hashicorp/terraform-plugin-testing/config"
1112 "github.com/hashicorp/terraform-plugin-testing/helper/acctest"
@@ -27,7 +28,7 @@ var testConfigVarsMin = config.Variables{
2728 "project_id" : config .StringVariable (testutil .ProjectId ),
2829 "objectstorage_bucket_name" : config .StringVariable (fmt .Sprintf ("tf-acc-test-%s" , acctest .RandStringFromCharSet (20 , acctest .CharSetAlpha ))),
2930 "objectstorage_credentials_group_name" : config .StringVariable (fmt .Sprintf ("tf-acc-test-%s" , acctest .RandStringFromCharSet (20 , acctest .CharSetAlpha ))),
30- "expiration_timestamp" : config .StringVariable ("2027 -01-02T03:04:05Z" ),
31+ "expiration_timestamp" : config .StringVariable (fmt . Sprintf ( "%d -01-02T03:04:05Z", time . Now (). Year () + 1 ) ),
3132}
3233
3334func TestAccObjectStorageResourceMin (t * testing.T ) {
@@ -62,33 +63,53 @@ func TestAccObjectStorageResourceMin(t *testing.T) {
6263 "stackit_objectstorage_credentials_group.credentials_group" , "credentials_group_id" ,
6364 ),
6465 resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential" , "credential_id" ),
65- resource .TestCheckResourceAttr ("stackit_objectstorage_credential.credential" , "expiration_timestamp" , testutil .ConvertConfigVariable (testConfigVarsMin ["expiration_timestamp" ])),
6666 resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential" , "name" ),
6767 resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential" , "access_key" ),
6868 resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential" , "secret_access_key" ),
69+
70+ // credential_time data
71+ resource .TestCheckResourceAttrPair (
72+ "stackit_objectstorage_credential.credential_time" , "project_id" ,
73+ "stackit_objectstorage_credentials_group.credentials_group" , "project_id" ,
74+ ),
75+ resource .TestCheckResourceAttrPair (
76+ "stackit_objectstorage_credential.credential_time" , "credentials_group_id" ,
77+ "stackit_objectstorage_credentials_group.credentials_group" , "credentials_group_id" ,
78+ ),
79+ resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential_time" , "credential_id" ),
80+ resource .TestCheckResourceAttr ("stackit_objectstorage_credential.credential_time" , "expiration_timestamp" , testutil .ConvertConfigVariable (testConfigVarsMin ["expiration_timestamp" ])),
81+ resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential_time" , "name" ),
82+ resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential_time" , "access_key" ),
83+ resource .TestCheckResourceAttrSet ("stackit_objectstorage_credential.credential_time" , "secret_access_key" ),
6984 ),
7085 },
7186 // Data source
7287 {
7388 ConfigVariables : testConfigVarsMin ,
7489 Config : fmt .Sprintf (`
75- %s
90+ %s
7691
77- data "stackit_objectstorage_bucket" "bucket" {
78- project_id = stackit_objectstorage_bucket.bucket.project_id
79- name = stackit_objectstorage_bucket.bucket.name
80- }
92+ data "stackit_objectstorage_bucket" "bucket" {
93+ project_id = stackit_objectstorage_bucket.bucket.project_id
94+ name = stackit_objectstorage_bucket.bucket.name
95+ }
8196
82- data "stackit_objectstorage_credentials_group" "credentials_group" {
83- project_id = stackit_objectstorage_credentials_group.credentials_group.project_id
84- credentials_group_id = stackit_objectstorage_credentials_group.credentials_group.credentials_group_id
85- }
97+ data "stackit_objectstorage_credentials_group" "credentials_group" {
98+ project_id = stackit_objectstorage_credentials_group.credentials_group.project_id
99+ credentials_group_id = stackit_objectstorage_credentials_group.credentials_group.credentials_group_id
100+ }
101+
102+ data "stackit_objectstorage_credential" "credential" {
103+ project_id = stackit_objectstorage_credential.credential.project_id
104+ credentials_group_id = stackit_objectstorage_credential.credential.credentials_group_id
105+ credential_id = stackit_objectstorage_credential.credential.credential_id
106+ }
86107
87- data "stackit_objectstorage_credential" "credential " {
88- project_id = stackit_objectstorage_credential.credential .project_id
89- credentials_group_id = stackit_objectstorage_credential.credential .credentials_group_id
90- credential_id = stackit_objectstorage_credential.credential .credential_id
91- }` ,
108+ data "stackit_objectstorage_credential" "credential_time " {
109+ project_id = stackit_objectstorage_credential.credential_time .project_id
110+ credentials_group_id = stackit_objectstorage_credential.credential_time .credentials_group_id
111+ credential_id = stackit_objectstorage_credential.credential_time .credential_id
112+ }` ,
92113 testutil .ObjectStorageProviderConfig ()+ resourceMinConfig ,
93114 ),
94115 Check : resource .ComposeAggregateTestCheckFunc (
@@ -143,6 +164,28 @@ func TestAccObjectStorageResourceMin(t *testing.T) {
143164 "stackit_objectstorage_credential.credential" , "expiration_timestamp" ,
144165 "data.stackit_objectstorage_credential.credential" , "expiration_timestamp" ,
145166 ),
167+
168+ // Credential_time data
169+ resource .TestCheckResourceAttrPair (
170+ "stackit_objectstorage_credential.credential_time" , "project_id" ,
171+ "data.stackit_objectstorage_credential.credential_time" , "project_id" ,
172+ ),
173+ resource .TestCheckResourceAttrPair (
174+ "stackit_objectstorage_credential.credential_time" , "credentials_group_id" ,
175+ "data.stackit_objectstorage_credential.credential_time" , "credentials_group_id" ,
176+ ),
177+ resource .TestCheckResourceAttrPair (
178+ "stackit_objectstorage_credential.credential_time" , "credential_id" ,
179+ "data.stackit_objectstorage_credential.credential_time" , "credential_id" ,
180+ ),
181+ resource .TestCheckResourceAttrPair (
182+ "stackit_objectstorage_credential.credential_time" , "name" ,
183+ "data.stackit_objectstorage_credential.credential_time" , "name" ,
184+ ),
185+ resource .TestCheckResourceAttrPair (
186+ "stackit_objectstorage_credential.credential_time" , "expiration_timestamp" ,
187+ "data.stackit_objectstorage_credential.credential_time" , "expiration_timestamp" ,
188+ ),
146189 ),
147190 },
148191 // Import
@@ -159,11 +202,10 @@ func TestAccObjectStorageResourceMin(t *testing.T) {
159202 return "" , fmt .Errorf ("couldn't find attribute credentials_group_id" )
160203 }
161204
162- return fmt .Sprintf ("%s,%s" , testutil .ProjectId , credentialsGroupId ), nil
205+ return fmt .Sprintf ("%s,%s,%s " , testutil .ProjectId , testutil . Region , credentialsGroupId ), nil
163206 },
164- ImportState : true ,
165- ImportStateVerify : true ,
166- ImportStateVerifyIgnore : []string {"region" },
207+ ImportState : true ,
208+ ImportStateVerify : true ,
167209 },
168210 {
169211 ConfigVariables : testConfigVarsMin ,
@@ -181,11 +223,11 @@ func TestAccObjectStorageResourceMin(t *testing.T) {
181223 if ! ok {
182224 return "" , fmt .Errorf ("couldn't find attribute credential_id" )
183225 }
184- return fmt .Sprintf ("%s,%s,%s" , testutil .ProjectId , credentialsGroupId , credentialId ), nil
226+ return fmt .Sprintf ("%s,%s,%s,%s " , testutil .ProjectId , testutil . Region , credentialsGroupId , credentialId ), nil
185227 },
186228 ImportState : true ,
187229 ImportStateVerify : true ,
188- ImportStateVerifyIgnore : []string {"access_key" , "secret_access_key" , "region" },
230+ ImportStateVerifyIgnore : []string {"access_key" , "secret_access_key" },
189231 },
190232 // Deletion is done by the framework implicitly
191233 },
0 commit comments