From 5beca186d74a1d74cf7c1beca7e13bc1aac91311 Mon Sep 17 00:00:00 2001 From: Ben Root Date: Fri, 19 May 2017 16:22:16 -0400 Subject: [PATCH] Unit test to verify that parsing fails on a certain kind of malformed JSON --- template/parse_test.go | 1 + template/test-fixtures/malformed.json | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 template/test-fixtures/malformed.json diff --git a/template/parse_test.go b/template/parse_test.go index d20b01849..e73529d36 100644 --- a/template/parse_test.go +++ b/template/parse_test.go @@ -359,6 +359,7 @@ func TestParse_bad(t *testing.T) { {"error-beginning.json", "line 1, column 1 (offset 1)"}, {"error-middle.json", "line 5, column 6 (offset 50)"}, {"error-end.json", "line 1, column 30 (offset 30)"}, + {"malformed.json", "line 16, column 3 (offset 433)"}, } for _, tc := range cases { _, err := ParseFile(fixtureDir(tc.File)) diff --git a/template/test-fixtures/malformed.json b/template/test-fixtures/malformed.json new file mode 100644 index 000000000..0c397593b --- /dev/null +++ b/template/test-fixtures/malformed.json @@ -0,0 +1,25 @@ +{ + "variables": { + "access_key": "{{env `AWS_ACCESS_KEY_ID`}}", + "secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}" + }, + "builders": [{ + "type": "amazon-ebs", + "access_key": "{{user `access_key`}}", + "secret_key": "{{user `secret_key`}}", + "region": "us-east-1", + "source_ami": "ami-fce3c696,", + "instance_type": "t2.micro", + "ssh_username": "ubuntu", + "ami_name": "packer-example {{timestamp}}" + }] +}] + + "provisioners": [{ + "type": "shell", + "inline": [ + "sleep 15", + "sudo yum update -y" + ] + }] +}