From 31f28e25abba80c9923868e80dd273627da34bd7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:18:52 +0000 Subject: [PATCH 1/3] Initial plan From b1748c194fb4f8935920451dca9e0964e4bf343e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:24:12 +0000 Subject: [PATCH 2/3] Add unit tests for PreviewFeature with bug fixes Co-authored-by: romoh <12943947+romoh@users.noreply.github.com> --- .../imagecustomizerapi/previewfeaturetype.go | 6 +-- .../previewfeaturetype_test.go | 54 +++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go diff --git a/toolkit/tools/imagecustomizerapi/previewfeaturetype.go b/toolkit/tools/imagecustomizerapi/previewfeaturetype.go index 90a466649..64bb07cc0 100644 --- a/toolkit/tools/imagecustomizerapi/previewfeaturetype.go +++ b/toolkit/tools/imagecustomizerapi/previewfeaturetype.go @@ -18,7 +18,7 @@ const ( PreviewFeatureInjectFiles PreviewFeature = "inject-files" // PreviewFeatureReinitializeVerity will reinitialize verity on verity partitions in the base image. - PreviewFeatureReinitializeVerity = "reinitialize-verity" + PreviewFeatureReinitializeVerity PreviewFeature = "reinitialize-verity" // PreviewFeatureSnapshotTime enables support for snapshot-based package filtering. PreviewFeaturePackageSnapshotTime PreviewFeature = "package-snapshot-time" @@ -29,8 +29,8 @@ const ( func (pf PreviewFeature) IsValid() error { switch pf { - case PreviewFeatureUki, PreviewFeatureOutputArtifacts, PreviewFeatureInjectFiles, PreviewFeaturePackageSnapshotTime, - PreviewFeatureKdumpBootFiles: + case PreviewFeatureUki, PreviewFeatureOutputArtifacts, PreviewFeatureInjectFiles, PreviewFeatureReinitializeVerity, + PreviewFeaturePackageSnapshotTime, PreviewFeatureKdumpBootFiles: return nil default: return fmt.Errorf("invalid preview feature: %s", pf) diff --git a/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go b/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go new file mode 100644 index 000000000..8fd49be8f --- /dev/null +++ b/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +package imagecustomizerapi + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestPreviewFeatureUki_IsValid(t *testing.T) { + err := PreviewFeatureUki.IsValid() + assert.NoError(t, err) +} + +func TestPreviewFeatureOutputArtifacts_IsValid(t *testing.T) { + err := PreviewFeatureOutputArtifacts.IsValid() + assert.NoError(t, err) +} + +func TestPreviewFeatureInjectFiles_IsValid(t *testing.T) { + err := PreviewFeatureInjectFiles.IsValid() + assert.NoError(t, err) +} + +func TestPreviewFeatureReinitializeVerity_IsValid(t *testing.T) { + err := PreviewFeatureReinitializeVerity.IsValid() + assert.NoError(t, err) +} + +func TestPreviewFeaturePackageSnapshotTime_IsValid(t *testing.T) { + err := PreviewFeaturePackageSnapshotTime.IsValid() + assert.NoError(t, err) +} + +func TestPreviewFeatureKdumpBootFiles_IsValid(t *testing.T) { + err := PreviewFeatureKdumpBootFiles.IsValid() + assert.NoError(t, err) +} + +func TestPreviewFeature_IsValid_InvalidValue(t *testing.T) { + invalidFeature := PreviewFeature("invalid-feature") + err := invalidFeature.IsValid() + assert.Error(t, err) + assert.ErrorContains(t, err, "invalid preview feature: invalid-feature") +} + +func TestPreviewFeature_IsValid_EmptyValue(t *testing.T) { + emptyFeature := PreviewFeature("") + err := emptyFeature.IsValid() + assert.Error(t, err) + assert.ErrorContains(t, err, "invalid preview feature:") +} \ No newline at end of file From 123c4fe75b83bbb416d20b4967a79498fa0ee8b7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:25:08 +0000 Subject: [PATCH 3/3] Format previewfeaturetype_test.go --- toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go b/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go index 8fd49be8f..e3681fcd7 100644 --- a/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go +++ b/toolkit/tools/imagecustomizerapi/previewfeaturetype_test.go @@ -51,4 +51,4 @@ func TestPreviewFeature_IsValid_EmptyValue(t *testing.T) { err := emptyFeature.IsValid() assert.Error(t, err) assert.ErrorContains(t, err, "invalid preview feature:") -} \ No newline at end of file +}