Merge pull request #8049 from unclejack/fix_tag_validation

graph: validate tags properly & add unit tests
This commit is contained in:
Jessie Frazelle 2014-09-15 14:32:02 -07:00
commit 09982d0f97
2 changed files with 19 additions and 1 deletions

View File

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

View File

@ -114,3 +114,21 @@ func TestLookupImage(t *testing.T) {
t.Errorf("Expected 1 image, none found") 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)
}
}
}