17
17
package cli
18
18
19
19
import (
20
+ "fmt"
20
21
"os"
21
22
"path/filepath"
22
23
"testing"
@@ -33,6 +34,54 @@ func TestProjectName(t *testing.T) {
33
34
assert .Equal (t , p .Name , "my_project" )
34
35
})
35
36
37
+ t .Run ("by name start with number" , func (t * testing.T ) {
38
+ opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithName ("42my_project_num" ))
39
+ assert .NilError (t , err )
40
+ p , err := ProjectFromOptions (opts )
41
+ assert .NilError (t , err )
42
+ assert .Equal (t , p .Name , "42my_project_num" )
43
+
44
+ opts , err = NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithEnv ([]string {
45
+ fmt .Sprintf ("%s=%s" , ComposeProjectName , "42my_project_env" ),
46
+ }))
47
+ assert .NilError (t , err )
48
+ p , err = ProjectFromOptions (opts )
49
+ assert .NilError (t , err )
50
+ assert .Equal (t , p .Name , "42my_project_env" )
51
+ })
52
+
53
+ t .Run ("by name start with invalid char '-'" , func (t * testing.T ) {
54
+ opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithName ("-my_project" ))
55
+ assert .NilError (t , err )
56
+ p , err := ProjectFromOptions (opts )
57
+ assert .NilError (t , err )
58
+ assert .Equal (t , p .Name , "my_project" )
59
+
60
+ opts , err = NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithEnv ([]string {
61
+ fmt .Sprintf ("%s=%s" , ComposeProjectName , "-my_project" ),
62
+ }))
63
+ assert .NilError (t , err )
64
+ p , err = ProjectFromOptions (opts )
65
+ assert .NilError (t , err )
66
+ assert .Equal (t , p .Name , "my_project" )
67
+ })
68
+
69
+ t .Run ("by name start with invalid char '_'" , func (t * testing.T ) {
70
+ opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithName ("_my_project" ))
71
+ assert .NilError (t , err )
72
+ p , err := ProjectFromOptions (opts )
73
+ assert .NilError (t , err )
74
+ assert .Equal (t , p .Name , "my_project" )
75
+
76
+ opts , err = NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithEnv ([]string {
77
+ fmt .Sprintf ("%s=%s" , ComposeProjectName , "_my_project" ),
78
+ }))
79
+ assert .NilError (t , err )
80
+ p , err = ProjectFromOptions (opts )
81
+ assert .NilError (t , err )
82
+ assert .Equal (t , p .Name , "my_project" )
83
+ })
84
+
36
85
t .Run ("by working dir" , func (t * testing.T ) {
37
86
opts , err := NewProjectOptions ([]string {"testdata/simple/compose.yaml" }, WithWorkingDirectory ("." ))
38
87
assert .NilError (t , err )
0 commit comments