packer-cn/fix/fixer_clean_image_name_test.go

53 lines
1.0 KiB
Go

package fix
import (
"testing"
"github.com/google/go-cmp/cmp"
)
func TestFixerCleanImageName_Impl(t *testing.T) {
var raw interface{}
raw = new(FixerCleanImageName)
if _, ok := raw.(Fixer); !ok {
t.Fatalf("must be a Fixer")
}
}
func TestFixerCleanImageName_Fix(t *testing.T) {
var f FixerCleanImageName
input := map[string]interface{}{
"builders": []interface{}{
map[string]interface{}{
"type": "foo",
"ami_name": "heyo clean_image_name",
"image_labels": map[string]interface{}{
"name": "test-packer-{{packer_version | clean_image_name}}",
},
},
},
}
expected := map[string]interface{}{
"builders": []map[string]interface{}{
{
"type": "foo",
"ami_name": "heyo clean_resource_name",
"image_labels": map[string]interface{}{
"name": "test-packer-{{packer_version | clean_resource_name}}",
},
},
},
}
output, err := f.Fix(input)
if err != nil {
t.Fatalf("err: %s", err)
}
if diff := cmp.Diff(expected, output); diff != "" {
t.Fatalf("unexpected output: %s", diff)
}
}