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  }