Skip to content

Commit dd173ee

Browse files
committed
default properly
1 parent e0c670d commit dd173ee

File tree

3 files changed

+18
-20
lines changed

3 files changed

+18
-20
lines changed

internal/provider/cached_image_resource.go

+9-5
Original file line numberDiff line numberDiff line change
@@ -341,9 +341,11 @@ func (r *CachedImageResource) Read(ctx context.Context, req resource.ReadRequest
341341
if !data.GitPassword.IsNull() {
342342
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_GIT_PASSWORD", data.GitPassword)
343343
}
344-
if !data.RemoteRepoBuildMode.IsNull() {
345-
// Default to remote build mode.
344+
// Default to remote build mode.
345+
if data.RemoteRepoBuildMode.IsNull() {
346346
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", types.BoolValue(true))
347+
} else {
348+
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", data.RemoteRepoBuildMode)
347349
}
348350

349351
resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
@@ -394,9 +396,11 @@ func (r *CachedImageResource) Create(ctx context.Context, req resource.CreateReq
394396
if !data.GitPassword.IsNull() {
395397
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_GIT_PASSWORD", data.GitPassword)
396398
}
397-
if !data.RemoteRepoBuildMode.IsNull() {
398-
// Default to remote build mode.
399+
// Default to remote build mode.
400+
if data.RemoteRepoBuildMode.IsNull() {
399401
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", types.BoolValue(true))
402+
} else {
403+
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", data.RemoteRepoBuildMode)
400404
}
401405

402406
// Save data into Terraform state
@@ -498,7 +502,7 @@ func (r *CachedImageResource) runCacheProbe(ctx context.Context, data CachedImag
498502
GitPassword: data.GitPassword.ValueString(),
499503
GitSSHPrivateKeyPath: data.GitSSHPrivateKeyPath.ValueString(),
500504
GitHTTPProxyURL: data.GitHTTPProxyURL.ValueString(),
501-
RemoteRepoBuildMode: true, // Cache probes are always done based on the remote state.
505+
RemoteRepoBuildMode: data.RemoteRepoBuildMode.ValueBool(),
502506
RemoteRepoDir: filepath.Join(tmpDir, "repo"),
503507
SSLCertBase64: data.SSLCertBase64.ValueString(),
504508

internal/provider/cached_image_resource_test.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ func TestAccCachedImageDataSource(t *testing.T) {
4141
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "id", uuid.Nil.String()),
4242
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "exists", "false"),
4343
resource.TestCheckResourceAttrSet("envbuilder_cached_image.test", "env.0"),
44-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "remote_repo_build_mode", "true"),
4544
// Cached image should be set to the builder image.
4645
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "image", deps.BuilderImage),
4746
// Inputs should still be present.
@@ -63,7 +62,6 @@ func TestAccCachedImageDataSource(t *testing.T) {
6362
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "id", uuid.Nil.String()),
6463
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "exists", "false"),
6564
resource.TestCheckResourceAttrSet("envbuilder_cached_image.test", "env.0"),
66-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "remote_repo_build_mode", "true"),
6765
// Cached image should be set to the builder image.
6866
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "image", deps.BuilderImage),
6967
// Inputs should still be present.
@@ -88,7 +86,6 @@ func TestAccCachedImageDataSource(t *testing.T) {
8886
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "cache_repo", deps.CacheRepo),
8987
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "extra_env.FOO", "bar"),
9088
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "git_url", deps.Repo.URL),
91-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "remote_repo_build_mode", "true"),
9289
// Should be empty
9390
resource.TestCheckNoResourceAttr("envbuilder_cached_image.test", "git_username"),
9491
resource.TestCheckNoResourceAttr("envbuilder_cached_image.test", "git_password"),
@@ -101,7 +98,7 @@ func TestAccCachedImageDataSource(t *testing.T) {
10198
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.0", "FOO=\"bar\""),
10299
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.1", fmt.Sprintf("ENVBUILDER_CACHE_REPO=%q", deps.CacheRepo)),
103100
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.2", fmt.Sprintf("ENVBUILDER_GIT_URL=%q", deps.Repo.URL)),
104-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.3", fmt.Sprintf("ENVBUILDER_REMOTE_REPO_BUILD_MODE=%t", deps.RemoteRepoBuildMode)),
101+
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.3", fmt.Sprintf("ENVBUILDER_REMOTE_REPO_BUILD_MODE=%t", true)),
105102
resource.TestCheckNoResourceAttr("envbuilder_cached_image.test", "env.4"),
106103
),
107104
},

internal/provider/provider_test.go

+8-11
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,10 @@ var testAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServe
3838

3939
// testDependencies contain information about stuff the test depends on.
4040
type testDependencies struct {
41-
BuilderImage string
42-
CacheRepo string
43-
ExtraEnv map[string]string
44-
Repo testGitRepoSSH
45-
RemoteRepoBuildMode bool
41+
BuilderImage string
42+
CacheRepo string
43+
ExtraEnv map[string]string
44+
Repo testGitRepoSSH
4645
}
4746

4847
// Config generates a valid Terraform config file from the dependencies.
@@ -60,7 +59,6 @@ resource "envbuilder_cached_image" "test" {
6059
}
6160
git_url = {{ quote .Repo.URL }}
6261
git_ssh_private_key_path = {{ quote .Repo.Key }}
63-
remote_repo_build_mode = {{ .RemoteRepoBuildMode }}
6462
verbose = true
6563
}`
6664

@@ -92,11 +90,10 @@ func setup(ctx context.Context, t testing.TB, files map[string]string) testDepen
9290
gitRepo := serveGitRepoSSH(ctx, t, repoDir)
9391

9492
return testDependencies{
95-
BuilderImage: envbuilderImageRef,
96-
CacheRepo: reg + "/test",
97-
ExtraEnv: make(map[string]string),
98-
Repo: gitRepo,
99-
RemoteRepoBuildMode: true,
93+
BuilderImage: envbuilderImageRef,
94+
CacheRepo: reg + "/test",
95+
ExtraEnv: make(map[string]string),
96+
Repo: gitRepo,
10097
}
10198
}
10299

0 commit comments

Comments
 (0)