@@ -205,6 +205,64 @@ describe("inputs2Parameters", () => {
205
205
expect ( shaEnv ) . to . haveOwnProperty ( "type" ) . and . to . equal ( "PLAINTEXT" ) ;
206
206
} ) ;
207
207
208
+ it ( "build override parameters for codeBuild.startBuild" , ( ) => {
209
+ // This is how GITHUB injects its input values.
210
+ // It would be nice if there was an easy way to test this...
211
+ process . env [ `INPUT_PROJECT-NAME` ] = projectName ;
212
+ process . env [ `GITHUB_REPOSITORY` ] = repoInfo ;
213
+ process . env [ `GITHUB_SHA` ] = sha ;
214
+ const test = inputs2Parameters ( {
215
+ projectName,
216
+ sourceVersion : sha ,
217
+ owner : "owner" ,
218
+ repo : "repo" ,
219
+ computeTypeOverride : "BUILD_GENERAL1_LARGE" ,
220
+ environmentTypeOverride : "LINUX_CONTAINER" ,
221
+ imageOverride : "111122223333.dkr.ecr.us-west-2.amazonaws.com/codebuild-docker-repo"
222
+ } ) ;
223
+ expect ( test ) . to . haveOwnProperty ( "projectName" ) . and . to . equal ( projectName ) ;
224
+ expect ( test ) . to . haveOwnProperty ( "sourceVersion" ) . and . to . equal ( sha ) ;
225
+ expect ( test )
226
+ . to . haveOwnProperty ( "sourceTypeOverride" )
227
+ . and . to . equal ( "GITHUB" ) ;
228
+ expect ( test )
229
+ . to . haveOwnProperty ( "sourceLocationOverride" )
230
+ . and . to . equal ( `https://github.com/owner/repo.git` ) ;
231
+ expect ( test )
232
+ . to . haveOwnProperty ( "buildspecOverride" )
233
+ . and . to . equal ( undefined ) ;
234
+ expect ( test )
235
+ . to . haveOwnProperty ( "computeTypeOverride" )
236
+ . and . to . equal ( `BUILD_GENERAL1_LARGE` ) ;
237
+ expect ( test )
238
+ . to . haveOwnProperty ( "environmentTypeOverride" )
239
+ . and . to . equal ( `LINUX_CONTAINER` ) ;
240
+ expect ( test )
241
+ . to . haveOwnProperty ( "imageOverride" )
242
+ . and . to . equal ( `111122223333.dkr.ecr.us-west-2.amazonaws.com/codebuild-docker-repo` ) ;
243
+
244
+ // I send everything that starts 'GITHUB_'
245
+ expect ( test )
246
+ . to . haveOwnProperty ( "environmentVariablesOverride" )
247
+ . and . to . have . lengthOf . greaterThan ( 1 ) ;
248
+
249
+ const [ repoEnv ] = test . environmentVariablesOverride . filter (
250
+ ( { name } ) => name === "GITHUB_REPOSITORY"
251
+ ) ;
252
+ expect ( repoEnv )
253
+ . to . haveOwnProperty ( "name" )
254
+ . and . to . equal ( "GITHUB_REPOSITORY" ) ;
255
+ expect ( repoEnv ) . to . haveOwnProperty ( "value" ) . and . to . equal ( repoInfo ) ;
256
+ expect ( repoEnv ) . to . haveOwnProperty ( "type" ) . and . to . equal ( "PLAINTEXT" ) ;
257
+
258
+ const [ shaEnv ] = test . environmentVariablesOverride . filter (
259
+ ( { name } ) => name === "GITHUB_SHA"
260
+ ) ;
261
+ expect ( shaEnv ) . to . haveOwnProperty ( "name" ) . and . to . equal ( "GITHUB_SHA" ) ;
262
+ expect ( shaEnv ) . to . haveOwnProperty ( "value" ) . and . to . equal ( sha ) ;
263
+ expect ( shaEnv ) . to . haveOwnProperty ( "type" ) . and . to . equal ( "PLAINTEXT" ) ;
264
+ } ) ;
265
+
208
266
it ( "can process env-vars-for-codebuild" , ( ) => {
209
267
// This is how GITHUB injects its input values.
210
268
// It would be nice if there was an easy way to test this...
0 commit comments