Closes #8012.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
| ... | ... |
@@ -178,3 +178,20 @@ func TestGetFullName(t *testing.T) {
|
| 178 | 178 |
t.Fatal("Error should not be nil")
|
| 179 | 179 |
} |
| 180 | 180 |
} |
| 181 |
+ |
|
| 182 |
+func TestValidContainerNames(t *testing.T) {
|
|
| 183 |
+ invalidNames := []string{"-rm", "&sdfsfd", "safd%sd"}
|
|
| 184 |
+ validNames := []string{"word-word", "word_word", "1weoid"}
|
|
| 185 |
+ |
|
| 186 |
+ for _, name := range invalidNames {
|
|
| 187 |
+ if validContainerNamePattern.MatchString(name) {
|
|
| 188 |
+ t.Fatalf("%q is not a valid container name and was returned as valid.", name)
|
|
| 189 |
+ } |
|
| 190 |
+ } |
|
| 191 |
+ |
|
| 192 |
+ for _, name := range validNames {
|
|
| 193 |
+ if !validContainerNamePattern.MatchString(name) {
|
|
| 194 |
+ t.Fatalf("%q is a valid container name and was returned as invalid.", name)
|
|
| 195 |
+ } |
|
| 196 |
+ } |
|
| 197 |
+} |
| ... | ... |
@@ -42,7 +42,7 @@ import ( |
| 42 | 42 |
|
| 43 | 43 |
var ( |
| 44 | 44 |
DefaultDns = []string{"8.8.8.8", "8.8.4.4"}
|
| 45 |
- validContainerNameChars = `[a-zA-Z0-9_.-]` |
|
| 45 |
+ validContainerNameChars = `[a-zA-Z0-9][a-zA-Z0-9_.-]` |
|
| 46 | 46 |
validContainerNamePattern = regexp.MustCompile(`^/?` + validContainerNameChars + `+$`) |
| 47 | 47 |
) |
| 48 | 48 |
|