@@ -180,6 +180,32 @@ func TestTimeoutsValueCreate(t *testing.T) {
180180 },
181181 expectedTimeout : 20 * time .Minute ,
182182 },
183+ "create-null" : {
184+ timeoutsValue : timeouts.Value {
185+ Object : types .ObjectValueMust (
186+ map [string ]attr.Type {
187+ "create" : types .StringType ,
188+ },
189+ map [string ]attr.Value {
190+ "create" : types .StringNull (),
191+ },
192+ ),
193+ },
194+ expectedTimeout : 20 * time .Minute ,
195+ },
196+ "create-unknown" : {
197+ timeoutsValue : timeouts.Value {
198+ Object : types .ObjectValueMust (
199+ map [string ]attr.Type {
200+ "create" : types .StringType ,
201+ },
202+ map [string ]attr.Value {
203+ "create" : types .StringUnknown (),
204+ },
205+ ),
206+ },
207+ expectedTimeout : 20 * time .Minute ,
208+ },
183209 "create-not-parseable-as-time-duration" : {
184210 timeoutsValue : timeouts.Value {
185211 Object : types .ObjectValueMust (
@@ -248,6 +274,32 @@ func TestTimeoutsValueRead(t *testing.T) {
248274 },
249275 expectedTimeout : 20 * time .Minute ,
250276 },
277+ "read-null" : {
278+ timeoutsValue : timeouts.Value {
279+ Object : types .ObjectValueMust (
280+ map [string ]attr.Type {
281+ "read" : types .StringType ,
282+ },
283+ map [string ]attr.Value {
284+ "read" : types .StringNull (),
285+ },
286+ ),
287+ },
288+ expectedTimeout : 20 * time .Minute ,
289+ },
290+ "read-unknown" : {
291+ timeoutsValue : timeouts.Value {
292+ Object : types .ObjectValueMust (
293+ map [string ]attr.Type {
294+ "read" : types .StringType ,
295+ },
296+ map [string ]attr.Value {
297+ "read" : types .StringUnknown (),
298+ },
299+ ),
300+ },
301+ expectedTimeout : 20 * time .Minute ,
302+ },
251303 "read-not-parseable-as-time-duration" : {
252304 timeoutsValue : timeouts.Value {
253305 Object : types .ObjectValueMust (
@@ -316,6 +368,32 @@ func TestTimeoutsValueUpdate(t *testing.T) {
316368 },
317369 expectedTimeout : 20 * time .Minute ,
318370 },
371+ "update-null" : {
372+ timeoutsValue : timeouts.Value {
373+ Object : types .ObjectValueMust (
374+ map [string ]attr.Type {
375+ "update" : types .StringType ,
376+ },
377+ map [string ]attr.Value {
378+ "update" : types .StringNull (),
379+ },
380+ ),
381+ },
382+ expectedTimeout : 20 * time .Minute ,
383+ },
384+ "update-unknown" : {
385+ timeoutsValue : timeouts.Value {
386+ Object : types .ObjectValueMust (
387+ map [string ]attr.Type {
388+ "update" : types .StringType ,
389+ },
390+ map [string ]attr.Value {
391+ "update" : types .StringUnknown (),
392+ },
393+ ),
394+ },
395+ expectedTimeout : 20 * time .Minute ,
396+ },
319397 "update-not-parseable-as-time-duration" : {
320398 timeoutsValue : timeouts.Value {
321399 Object : types .ObjectValueMust (
@@ -384,6 +462,32 @@ func TestTimeoutsValueDelete(t *testing.T) {
384462 },
385463 expectedTimeout : 20 * time .Minute ,
386464 },
465+ "delete-null" : {
466+ timeoutsValue : timeouts.Value {
467+ Object : types .ObjectValueMust (
468+ map [string ]attr.Type {
469+ "delete" : types .StringType ,
470+ },
471+ map [string ]attr.Value {
472+ "delete" : types .StringNull (),
473+ },
474+ ),
475+ },
476+ expectedTimeout : 20 * time .Minute ,
477+ },
478+ "delete-unknown" : {
479+ timeoutsValue : timeouts.Value {
480+ Object : types .ObjectValueMust (
481+ map [string ]attr.Type {
482+ "delete" : types .StringType ,
483+ },
484+ map [string ]attr.Value {
485+ "delete" : types .StringUnknown (),
486+ },
487+ ),
488+ },
489+ expectedTimeout : 20 * time .Minute ,
490+ },
387491 "delete-not-parseable-as-time-duration" : {
388492 timeoutsValue : timeouts.Value {
389493 Object : types .ObjectValueMust (
0 commit comments