Skip to content

Commit

Permalink
Merge pull request #5665 from hashicorp/b-empty-datacenters
Browse files Browse the repository at this point in the history
add non-empty string validation for datacenters
  • Loading branch information
jazzyfresh committed May 13, 2019
2 parents 1211435 + b40c69b commit 2d23f90
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
6 changes: 6 additions & 0 deletions nomad/structs/structs.go
Original file line number Diff line number Diff line change
Expand Up @@ -3381,6 +3381,12 @@ func (j *Job) Validate() error {
}
if len(j.Datacenters) == 0 {
mErr.Errors = append(mErr.Errors, errors.New("Missing job datacenters"))
} else {
for _, v := range j.Datacenters {
if v == "" {
mErr.Errors = append(mErr.Errors, errors.New("Job datacenter must be non-empty string"))
}
}
}
if len(j.TaskGroups) == 0 {
mErr.Errors = append(mErr.Errors, errors.New("Missing job task groups"))
Expand Down
10 changes: 10 additions & 0 deletions nomad/structs/structs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,16 @@ func TestJob_Validate(t *testing.T) {
if !strings.Contains(mErr.Errors[2].Error(), "Task group web validation failed") {
t.Fatalf("err: %s", err)
}

// test for empty datacenters
j = &Job{
Datacenters: []string{""},
}
err = j.Validate()
mErr = err.(*multierror.Error)
if !strings.Contains(mErr.Error(), "datacenter must be non-empty string") {
t.Fatalf("err: %s", err)
}
}

func TestJob_Warnings(t *testing.T) {
Expand Down

0 comments on commit 2d23f90

Please sign in to comment.