graph: validate tags properly & add unit tests

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: ada883b198aa5e7a42d344174dcec04933c6fb2a
Component: engine
This commit is contained in:
unclejack
2014-09-16 00:13:54 +03:00
parent e94b553155
commit fc234a85d7
2 changed files with 19 additions and 1 deletions

View File

@ -19,7 +19,7 @@ import (
const DEFAULTTAG = "latest"
var (
validTagName = regexp.MustCompile(`^[\w][\w.-]{1,29}$`)
validTagName = regexp.MustCompile(`^[\w][\w.-]{0,29}$`)
)
type TagStore struct {

View File

@ -114,3 +114,21 @@ func TestLookupImage(t *testing.T) {
t.Errorf("Expected 1 image, none found")
}
}
func TestValidTagName(t *testing.T) {
validTags := []string{"9", "foo", "foo-test", "bar.baz.boo"}
for _, tag := range validTags {
if err := validateTagName(tag); err != nil {
t.Errorf("'%s' should've been a valid tag", tag)
}
}
}
func TestInvalidTagName(t *testing.T) {
validTags := []string{"-9", ".foo", "-test", ".", "-"}
for _, tag := range validTags {
if err := validateTagName(tag); err == nil {
t.Errorf("'%s' shouldn't have been a valid tag", tag)
}
}
}