validate that tasks don't contain slashes

This commit is contained in:
Alex Dadgar
2016-05-27 17:17:10 -07:00
parent 954c10d311
commit e416624cb2
2 changed files with 10 additions and 0 deletions

View File

@@ -1741,6 +1741,9 @@ func (t *Task) Validate() error {
if t.Name == "" {
mErr.Errors = append(mErr.Errors, errors.New("Missing task name"))
}
if strings.ContainsAny(t.Name, `/\`) {
mErr.Errors = append(mErr.Errors, errors.New("Task name can not include slashes"))
}
if t.Driver == "" {
mErr.Errors = append(mErr.Errors, errors.New("Missing task driver"))
}

View File

@@ -258,6 +258,13 @@ func TestTask_Validate(t *testing.T) {
t.Fatalf("err: %s", err)
}
task = &Task{Name: "web/foo"}
err = task.Validate()
mErr = err.(*multierror.Error)
if !strings.Contains(mErr.Errors[0].Error(), "slashes") {
t.Fatalf("err: %s", err)
}
task = &Task{
Name: "web",
Driver: "docker",