chore(terraform): refactor region overrides in mapping funcs (#872)

This commit is contained in:
Ruben Hönle 2025-06-06 16:17:02 +02:00 committed by GitHub
parent 0272a86292
commit 5e5404b459
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 185 additions and 194 deletions

View file

@ -6,6 +6,8 @@ import (
"net/http"
"strings"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-log/tflog"
)
@ -61,6 +63,13 @@ func (pd *ProviderData) GetRegion() string {
return "eu01"
}
func (pd *ProviderData) GetRegionWithOverride(overrideRegion types.String) string {
if overrideRegion.IsUnknown() || overrideRegion.IsNull() {
return pd.GetRegion()
}
return overrideRegion.ValueString()
}
// DiagsToError Converts TF diagnostics' errors into an error with a human-readable description.
// If there are no errors, the output is nil
func DiagsToError(diags diag.Diagnostics) error {

View file

@ -0,0 +1,100 @@
package core
import (
"testing"
"github.com/hashicorp/terraform-plugin-framework/types"
)
func TestProviderData_GetRegionWithOverride(t *testing.T) {
type args struct {
overrideRegion types.String
}
tests := []struct {
name string
providerData *ProviderData
args args
want string
}{
{
name: "override region is null string",
providerData: &ProviderData{
DefaultRegion: "eu02",
},
args: args{
types.StringNull(),
},
want: "eu02",
},
{
name: "override region is unknown string",
providerData: &ProviderData{
DefaultRegion: "eu02",
},
args: args{
types.StringUnknown(),
},
want: "eu02",
},
{
name: "override region is set",
providerData: &ProviderData{
DefaultRegion: "eu02",
},
args: args{
types.StringValue("eu01"),
},
want: "eu01",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := tt.providerData.GetRegionWithOverride(tt.args.overrideRegion); got != tt.want {
t.Errorf("GetRegionWithOverride() = %v, want %v", got, tt.want)
}
})
}
}
func TestProviderData_GetRegion(t *testing.T) {
tests := []struct {
name string
providerData *ProviderData
want string
}{
{
name: "default region is set",
providerData: &ProviderData{
DefaultRegion: "eu02",
},
want: "eu02",
},
{
name: "(legacy) region is set",
providerData: &ProviderData{
Region: "eu02",
},
want: "eu02",
},
{
name: "default region wins over (legacy) region",
providerData: &ProviderData{
DefaultRegion: "eu02",
Region: "eu01",
},
want: "eu02",
},
{
name: "final fallback - neither region (legacy) nor default region is set",
providerData: &ProviderData{},
want: "eu01",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := tt.providerData.GetRegion(); got != tt.want {
t.Errorf("GetRegion() = %v, want %v", got, tt.want)
}
})
}
}

View file

@ -346,12 +346,7 @@ func (r *loadBalancerDataSource) Read(ctx context.Context, req datasource.ReadRe
}
projectId := model.ProjectId.ValueString()
name := model.Name.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "name", name)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -723,10 +723,7 @@ func (r *loadBalancerResource) Read(ctx context.Context, req resource.ReadReques
}
projectId := model.ProjectId.ValueString()
name := model.Name.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "name", name)

View file

@ -235,10 +235,7 @@ func (r *observabilityCredentialResource) Read(ctx context.Context, req resource
}
projectId := model.ProjectId.ValueString()
credentialsRef := model.CredentialsRef.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "credentials_ref", credentialsRef)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -240,12 +240,7 @@ func (r *tokenResource) Create(ctx context.Context, req resource.CreateRequest,
projectId := model.ProjectId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "region", region)
@ -339,13 +334,7 @@ func (r *tokenResource) Read(ctx context.Context, req resource.ReadRequest, resp
projectId := model.ProjectId.ValueString()
tokenId := model.TokenId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "token_id", tokenId)
@ -412,12 +401,7 @@ func (r *tokenResource) Update(ctx context.Context, req resource.UpdateRequest,
projectId := state.ProjectId.ValueString()
tokenId := state.TokenId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "token_id", tokenId)
@ -500,12 +484,7 @@ func (r *tokenResource) Delete(ctx context.Context, req resource.DeleteRequest,
projectId := model.ProjectId.ValueString()
tokenId := model.TokenId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "token_id", tokenId)

View file

@ -115,12 +115,7 @@ func (r *bucketDataSource) Read(ctx context.Context, req datasource.ReadRequest,
}
projectId := model.ProjectId.ValueString()
bucketName := model.Name.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "name", bucketName)

View file

@ -230,10 +230,7 @@ func (r *bucketResource) Read(ctx context.Context, req resource.ReadRequest, res
}
projectId := model.ProjectId.ValueString()
bucketName := model.Name.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "name", bucketName)

View file

@ -124,12 +124,7 @@ func (r *credentialDataSource) Read(ctx context.Context, req datasource.ReadRequ
projectId := model.ProjectId.ValueString()
credentialsGroupId := model.CredentialsGroupId.ValueString()
credentialId := model.CredentialId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "credentials_group_id", credentialsGroupId)

View file

@ -328,10 +328,7 @@ func (r *credentialResource) Read(ctx context.Context, req resource.ReadRequest,
projectId := model.ProjectId.ValueString()
credentialsGroupId := model.CredentialsGroupId.ValueString()
credentialId := model.CredentialId.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "credentials_group_id", credentialsGroupId)

View file

@ -12,7 +12,6 @@ import (
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/utils"
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate"
"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
@ -114,12 +113,7 @@ func (r *credentialsGroupDataSource) Read(ctx context.Context, req datasource.Re
}
projectId := model.ProjectId.ValueString()
credentialsGroupId := model.CredentialsGroupId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "credentials_group_id", credentialsGroupId)

View file

@ -226,14 +226,11 @@ func (r *credentialsGroupResource) Read(ctx context.Context, req resource.ReadRe
}
projectId := model.ProjectId.ValueString()
credentialsGroupId := model.CredentialsGroupId.ValueString()
region := model.Region.ValueString()
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "credentials_group_id", credentialsGroupId)
ctx = tflog.SetField(ctx, "region", region)
if region == "" {
region = r.providerData.GetRegion()
}
found, err := readCredentialsGroups(ctx, &model, region, r.client)
if err != nil {

View file

@ -127,12 +127,7 @@ func (r *databaseDataSource) Read(ctx context.Context, req datasource.ReadReques
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
databaseId := model.DatabaseId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "database_id", databaseId)

View file

@ -256,10 +256,7 @@ func (r *databaseResource) Read(ctx context.Context, req resource.ReadRequest, r
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
databaseId := model.DatabaseId.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "database_id", databaseId)

View file

@ -160,12 +160,7 @@ func (r *instanceDataSource) Read(ctx context.Context, req datasource.ReadReques
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -353,10 +353,7 @@ func (r *instanceResource) Read(ctx context.Context, req resource.ReadRequest, r
}
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -145,12 +145,7 @@ func (r *userDataSource) Read(ctx context.Context, req datasource.ReadRequest, r
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
userId := model.UserId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "user_id", userId)

View file

@ -283,10 +283,7 @@ func (r *userResource) Read(ctx context.Context, req resource.ReadRequest, resp
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
userId := model.UserId.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "user_id", userId)

View file

@ -241,12 +241,7 @@ func (r *scheduleResource) Create(ctx context.Context, req resource.CreateReques
}
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
@ -297,12 +292,7 @@ func (r *scheduleResource) Read(ctx context.Context, req resource.ReadRequest, r
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
backupScheduleId := model.BackupScheduleId.ValueInt64()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
@ -347,12 +337,7 @@ func (r *scheduleResource) Update(ctx context.Context, req resource.UpdateReques
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
backupScheduleId := model.BackupScheduleId.ValueInt64()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
@ -397,12 +382,7 @@ func (r *scheduleResource) Delete(ctx context.Context, req resource.DeleteReques
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
backupScheduleId := model.BackupScheduleId.ValueInt64()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
@ -497,12 +477,7 @@ func mapFields(ctx context.Context, schedule *serverbackup.BackupSchedule, model
func (r *scheduleResource) enableBackupsService(ctx context.Context, model *Model) error {
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
tflog.Debug(ctx, "Enabling server backup service")
request := r.client.EnableServiceResource(ctx, projectId, serverId, region).
@ -525,12 +500,7 @@ func (r *scheduleResource) disableBackupsService(ctx context.Context, model *Mod
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
tflog.Debug(ctx, "Checking for existing backups")
backups, err := r.client.ListBackups(ctx, projectId, serverId, region).Execute()

View file

@ -151,12 +151,7 @@ func (r *scheduleDataSource) Read(ctx context.Context, req datasource.ReadReques
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
backupScheduleId := model.BackupScheduleId.ValueInt64()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)

View file

@ -174,12 +174,7 @@ func (r *schedulesDataSource) Read(ctx context.Context, req datasource.ReadReque
}
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -273,10 +273,7 @@ func (r *scheduleResource) Read(ctx context.Context, req resource.ReadRequest, r
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
updateScheduleId := model.UpdateScheduleId.ValueInt64()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -138,12 +138,7 @@ func (r *scheduleDataSource) Read(ctx context.Context, req datasource.ReadReques
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
updateScheduleId := model.UpdateScheduleId.ValueInt64()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)
ctx = tflog.SetField(ctx, "update_schedule_id", updateScheduleId)

View file

@ -161,12 +161,7 @@ func (r *schedulesDataSource) Read(ctx context.Context, req datasource.ReadReque
}
projectId := model.ProjectId.ValueString()
serverId := model.ServerId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "server_id", serverId)

View file

@ -322,12 +322,7 @@ func (r *clusterDataSource) Read(ctx context.Context, req datasource.ReadRequest
projectId := state.ProjectId.ValueString()
name := state.Name.ValueString()
var region string
if utils.IsUndefined(state.Region) {
region = r.providerData.GetRegion()
} else {
region = state.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(state.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "name", name)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -2055,10 +2055,7 @@ func (r *clusterResource) Read(ctx context.Context, req resource.ReadRequest, re
}
projectId := state.ProjectId.ValueString()
name := state.Name.ValueString()
region := state.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(state.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "name", name)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -174,12 +174,7 @@ func (r *instanceDataSource) Read(ctx context.Context, req datasource.ReadReques
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "region", region)

View file

@ -441,10 +441,7 @@ func (r *instanceResource) Read(ctx context.Context, req resource.ReadRequest, r
}
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
region := model.Region.ValueString()
if region == "" {
region = r.providerData.GetRegion()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)

View file

@ -150,12 +150,7 @@ func (r *userDataSource) Read(ctx context.Context, req datasource.ReadRequest, r
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
userId := model.UserId.ValueString()
var region string
if utils.IsUndefined(model.Region) {
region = r.providerData.GetRegion()
} else {
region = model.Region.ValueString()
}
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "user_id", userId)

View file

@ -277,14 +277,11 @@ func (r *userResource) Read(ctx context.Context, req resource.ReadRequest, resp
projectId := model.ProjectId.ValueString()
instanceId := model.InstanceId.ValueString()
userId := model.UserId.ValueString()
region := model.Region.ValueString()
region := r.providerData.GetRegionWithOverride(model.Region)
ctx = tflog.SetField(ctx, "project_id", projectId)
ctx = tflog.SetField(ctx, "instance_id", instanceId)
ctx = tflog.SetField(ctx, "user_id", userId)
ctx = tflog.SetField(ctx, "region", region)
if region == "" {
region = r.providerData.GetRegion()
}
recordSetResp, err := r.client.GetUser(ctx, projectId, instanceId, userId, region).Execute()
if err != nil {

View file

@ -304,3 +304,43 @@ func TestFormatPossibleValues(t *testing.T) {
})
}
}
func TestIsUndefined(t *testing.T) {
type args struct {
val value
}
tests := []struct {
name string
args args
want bool
}{
{
name: "undefined value",
args: args{
val: types.StringNull(),
},
want: true,
},
{
name: "unknown value",
args: args{
val: types.StringUnknown(),
},
want: true,
},
{
name: "string value",
args: args{
val: types.StringValue(""),
},
want: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := IsUndefined(tt.args.val); got != tt.want {
t.Errorf("IsUndefined() = %v, want %v", got, tt.want)
}
})
}
}