@@ -73,54 +73,48 @@ func TestCompile(t *testing.T) {
73
73
t .Run ("UnknownOption" , func (t * testing.T ) {
74
74
t .Parallel ()
75
75
spec := & features.Spec {}
76
- _ , _ , err := spec .Compile ("test" , "containerUser" , "remoteUser" , false , map [string ]any {
76
+ _ , _ , err := spec .Compile ("coder/ test:latest" , "test" , " " , "containerUser" , "remoteUser" , false , map [string ]any {
77
77
"unknown" : "value" ,
78
78
})
79
79
require .ErrorContains (t , err , "unknown option" )
80
80
})
81
81
t .Run ("Basic" , func (t * testing.T ) {
82
82
t .Parallel ()
83
- spec := & features.Spec {
84
- Directory : "/" ,
85
- }
86
- _ , directive , err := spec .Compile ("test" , "containerUser" , "remoteUser" , false , nil )
83
+ spec := & features.Spec {}
84
+ _ , directive , err := spec .Compile ("coder/test:latest" , "test" , "/" , "containerUser" , "remoteUser" , false , nil )
87
85
require .NoError (t , err )
88
86
require .Equal (t , "WORKDIR /\n RUN _CONTAINER_USER=\" containerUser\" _REMOTE_USER=\" remoteUser\" ./install.sh" , strings .TrimSpace (directive ))
89
87
})
90
88
t .Run ("ContainerEnv" , func (t * testing.T ) {
91
89
t .Parallel ()
92
90
spec := & features.Spec {
93
- Directory : "/" ,
94
91
ContainerEnv : map [string ]string {
95
92
"FOO" : "bar" ,
96
93
},
97
94
}
98
- _ , directive , err := spec .Compile ("test" , "containerUser" , "remoteUser" , false , nil )
95
+ _ , directive , err := spec .Compile ("coder/ test:latest" , "test" , "/ " , "containerUser" , "remoteUser" , false , nil )
99
96
require .NoError (t , err )
100
97
require .Equal (t , "WORKDIR /\n ENV FOO=bar\n RUN _CONTAINER_USER=\" containerUser\" _REMOTE_USER=\" remoteUser\" ./install.sh" , strings .TrimSpace (directive ))
101
98
})
102
99
t .Run ("OptionsEnv" , func (t * testing.T ) {
103
100
t .Parallel ()
104
101
spec := & features.Spec {
105
- Directory : "/" ,
106
102
Options : map [string ]features.Option {
107
103
"foo" : {
108
104
Default : "bar" ,
109
105
},
110
106
},
111
107
}
112
- _ , directive , err := spec .Compile ("test" , "containerUser" , "remoteUser" , false , nil )
108
+ _ , directive , err := spec .Compile ("coder/ test:latest" , "test" , "/ " , "containerUser" , "remoteUser" , false , nil )
113
109
require .NoError (t , err )
114
110
require .Equal (t , "WORKDIR /\n RUN FOO=\" bar\" _CONTAINER_USER=\" containerUser\" _REMOTE_USER=\" remoteUser\" ./install.sh" , strings .TrimSpace (directive ))
115
111
})
116
112
t .Run ("BuildContext" , func (t * testing.T ) {
117
113
t .Parallel ()
118
- spec := & features.Spec {
119
- Directory : "/" ,
120
- }
121
- fromDirective , runDirective , err := spec .Compile ("test" , "containerUser" , "remoteUser" , true , nil )
114
+ spec := & features.Spec {}
115
+ fromDirective , runDirective , err := spec .Compile ("coder/test:latest" , "test" , "/.envbuilder/feature/test-d8e8fc" , "containerUser" , "remoteUser" , true , nil )
122
116
require .NoError (t , err )
123
- require .Equal (t , "FROM scratch AS envbuilder_feature_test\n COPY --from=test / /" , strings .TrimSpace (fromDirective ))
124
- require .Equal (t , "WORKDIR /envbuilder-features/ test\n RUN --mount=type=bind,from=envbuilder_feature_test,target=/envbuilder-features/ test,rw _CONTAINER_USER=\" containerUser\" _REMOTE_USER=\" remoteUser\" ./install.sh" , strings .TrimSpace (runDirective ))
117
+ require .Equal (t , "FROM scratch AS envbuilder_feature_test\n COPY --from=coder/ test:latest / /" , strings .TrimSpace (fromDirective ))
118
+ require .Equal (t , "WORKDIR /. envbuilder/feature/ test-d8e8fc \n RUN --mount=type=bind,from=envbuilder_feature_test,target=/. envbuilder/feature/ test-d8e8fc ,rw _CONTAINER_USER=\" containerUser\" _REMOTE_USER=\" remoteUser\" ./install.sh" , strings .TrimSpace (runDirective ))
125
119
})
126
120
}
0 commit comments