Skip to content

Commit 8351aac

Browse files
committed
default properly
1 parent 79b4947 commit 8351aac

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
@@ -338,9 +338,11 @@ func (r *CachedImageResource) Read(ctx context.Context, req resource.ReadRequest
338338
if !data.GitPassword.IsNull() {
339339
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_GIT_PASSWORD", data.GitPassword)
340340
}
341-
if !data.RemoteRepoBuildMode.IsNull() {
342-
// Default to remote build mode.
341+
// Default to remote build mode.
342+
if data.RemoteRepoBuildMode.IsNull() {
343343
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", types.BoolValue(true))
344+
} else {
345+
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", data.RemoteRepoBuildMode)
344346
}
345347

346348
resp.Diagnostics.Append(resp.State.Set(ctx, &data)...)
@@ -391,9 +393,11 @@ func (r *CachedImageResource) Create(ctx context.Context, req resource.CreateReq
391393
if !data.GitPassword.IsNull() {
392394
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_GIT_PASSWORD", data.GitPassword)
393395
}
394-
if !data.RemoteRepoBuildMode.IsNull() {
395-
// Default to remote build mode.
396+
// Default to remote build mode.
397+
if data.RemoteRepoBuildMode.IsNull() {
396398
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", types.BoolValue(true))
399+
} else {
400+
data.Env = appendKnownEnvToList(data.Env, "ENVBUILDER_REMOTE_REPO_BUILD_MODE", data.RemoteRepoBuildMode)
397401
}
398402

399403
// Save data into Terraform state
@@ -495,7 +499,7 @@ func (r *CachedImageResource) runCacheProbe(ctx context.Context, data CachedImag
495499
GitPassword: data.GitPassword.ValueString(),
496500
GitSSHPrivateKeyPath: data.GitSSHPrivateKeyPath.ValueString(),
497501
GitHTTPProxyURL: data.GitHTTPProxyURL.ValueString(),
498-
RemoteRepoBuildMode: true, // Cache probes are always done based on the remote state.
502+
RemoteRepoBuildMode: data.RemoteRepoBuildMode.ValueBool(),
499503
RemoteRepoDir: filepath.Join(tmpDir, "repo"),
500504
SSLCertBase64: data.SSLCertBase64.ValueString(),
501505

internal/provider/cached_image_resource_test.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ func TestAccCachedImageDataSource(t *testing.T) {
3838
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "id", uuid.Nil.String()),
3939
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "exists", "false"),
4040
resource.TestCheckResourceAttrSet("envbuilder_cached_image.test", "env.0"),
41-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "remote_repo_build_mode", "true"),
4241
// Cached image should be set to the builder image.
4342
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "image", deps.BuilderImage),
4443
// Inputs should still be present.
@@ -60,7 +59,6 @@ func TestAccCachedImageDataSource(t *testing.T) {
6059
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "id", uuid.Nil.String()),
6160
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "exists", "false"),
6261
resource.TestCheckResourceAttrSet("envbuilder_cached_image.test", "env.0"),
63-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "remote_repo_build_mode", "true"),
6462
// Cached image should be set to the builder image.
6563
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "image", deps.BuilderImage),
6664
// Inputs should still be present.
@@ -85,7 +83,6 @@ func TestAccCachedImageDataSource(t *testing.T) {
8583
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "cache_repo", deps.CacheRepo),
8684
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "extra_env.FOO", "bar"),
8785
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "git_url", deps.Repo.URL),
88-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "remote_repo_build_mode", "true"),
8986
// Should be empty
9087
resource.TestCheckNoResourceAttr("envbuilder_cached_image.test", "git_username"),
9188
resource.TestCheckNoResourceAttr("envbuilder_cached_image.test", "git_password"),
@@ -98,7 +95,7 @@ func TestAccCachedImageDataSource(t *testing.T) {
9895
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.0", "FOO=bar"),
9996
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.1", fmt.Sprintf("ENVBUILDER_CACHE_REPO=%s", deps.CacheRepo)),
10097
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.2", fmt.Sprintf("ENVBUILDER_GIT_URL=%s", deps.Repo.URL)),
101-
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.3", fmt.Sprintf("ENVBUILDER_REMOTE_REPO_BUILD_MODE=%t", deps.RemoteRepoBuildMode)),
98+
resource.TestCheckResourceAttr("envbuilder_cached_image.test", "env.3", "ENVBUILDER_REMOTE_REPO_BUILD_MODE=true"),
10299
resource.TestCheckNoResourceAttr("envbuilder_cached_image.test", "env.4"),
103100
),
104101
},

internal/provider/provider_test.go

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

3636
// testDependencies contain information about stuff the test depends on.
3737
type testDependencies struct {
38-
BuilderImage string
39-
CacheRepo string
40-
ExtraEnv map[string]string
41-
Repo testGitRepoSSH
42-
RemoteRepoBuildMode bool
38+
BuilderImage string
39+
CacheRepo string
40+
ExtraEnv map[string]string
41+
Repo testGitRepoSSH
4342
}
4443

4544
// Config generates a valid Terraform config file from the dependencies.
@@ -57,7 +56,6 @@ resource "envbuilder_cached_image" "test" {
5756
}
5857
git_url = {{ quote .Repo.URL }}
5958
git_ssh_private_key_path = {{ quote .Repo.Key }}
60-
remote_repo_build_mode = {{ .RemoteRepoBuildMode }}
6159
verbose = true
6260
}`
6361

@@ -89,11 +87,10 @@ func setup(ctx context.Context, t testing.TB, files map[string]string) testDepen
8987
gitRepo := serveGitRepoSSH(ctx, t, repoDir)
9088

9189
return testDependencies{
92-
BuilderImage: envbuilderImageRef,
93-
CacheRepo: reg + "/test",
94-
ExtraEnv: make(map[string]string),
95-
Repo: gitRepo,
96-
RemoteRepoBuildMode: true,
90+
BuilderImage: envbuilderImageRef,
91+
CacheRepo: reg + "/test",
92+
ExtraEnv: make(map[string]string),
93+
Repo: gitRepo,
9794
}
9895
}
9996

0 commit comments

Comments
 (0)