瀏覽代碼

graph: validate tags properly & add unit tests

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
unclejack 10 年之前
父節點
當前提交
ada883b198
共有 2 個文件被更改,包括 19 次插入1 次删除
  1. 1 1
      graph/tags.go
  2. 18 0
      graph/tags_unit_test.go

+ 1 - 1
graph/tags.go

@@ -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 {

+ 18 - 0
graph/tags_unit_test.go

@@ -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)
+		}
+	}
+}