From 4fa099ff392d872eb8a5b39851bcaa19517ea9a5 Mon Sep 17 00:00:00 2001 From: Nick Spain Date: Thu, 25 Mar 2021 12:48:11 +1100 Subject: [PATCH] Test parsing of body field in jobspec2 --- jobspec2/parse_test.go | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/jobspec2/parse_test.go b/jobspec2/parse_test.go index 409001b34..17492d6ab 100644 --- a/jobspec2/parse_test.go +++ b/jobspec2/parse_test.go @@ -874,3 +874,52 @@ func TestParse_UndefinedVariables(t *testing.T) { }) } } + +func TestParseServiceCheck(t *testing.T) { + hcl := ` job "group_service_check_script" { + group "group" { + service { + name = "foo-service" + port = "http" + check { + name = "check-name" + type = "http" + method = "POST" + body = "{\"check\":\"mem\"}" + } + } + } +} +` + parsedJob, err := ParseWithConfig(&ParseConfig{ + Path: "input.hcl", + Body: []byte(hcl), + }) + require.NoError(t, err) + + expectedJob := &api.Job{ + ID: stringToPtr("group_service_check_script"), + Name: stringToPtr("group_service_check_script"), + TaskGroups: []*api.TaskGroup{ + { + Name: stringToPtr("group"), + Services: []*api.Service{ + { + Name: "foo-service", + PortLabel: "http", + Checks: []api.ServiceCheck{ + { + Name: "check-name", + Type: "http", + Method: "POST", + Body: "{\"check\":\"mem\"}", + }, + }, + }, + }, + }, + }, + } + + require.Equal(t, expectedJob, parsedJob) +}