github.com/hashicorp/packer@v1.14.3/fix/fixer_clean_image_name_test.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package fix 5 6 import ( 7 "testing" 8 9 "github.com/google/go-cmp/cmp" 10 ) 11 12 func TestFixerCleanImageName_Impl(t *testing.T) { 13 var raw interface{} 14 raw = new(FixerCleanImageName) 15 if _, ok := raw.(Fixer); !ok { 16 t.Fatalf("must be a Fixer") 17 } 18 } 19 20 func TestFixerCleanImageName_Fix(t *testing.T) { 21 var f FixerCleanImageName 22 23 input := map[string]interface{}{ 24 "builders": []interface{}{ 25 map[string]interface{}{ 26 "type": "foo", 27 "ami_name": "heyo clean_image_name", 28 "image_labels": map[string]interface{}{ 29 "name": "test-packer-{{packer_version | clean_image_name}}", 30 }, 31 }, 32 }, 33 } 34 35 expected := map[string]interface{}{ 36 "builders": []map[string]interface{}{ 37 { 38 "type": "foo", 39 "ami_name": "heyo clean_resource_name", 40 "image_labels": map[string]interface{}{ 41 "name": "test-packer-{{packer_version | clean_resource_name}}", 42 }, 43 }, 44 }, 45 } 46 47 output, err := f.Fix(input) 48 if err != nil { 49 t.Fatalf("err: %s", err) 50 } 51 52 if diff := cmp.Diff(expected, output); diff != "" { 53 t.Fatalf("unexpected output: %s", diff) 54 } 55 }