@@ -13,6 +13,7 @@ import {
13
13
User ,
14
14
UserEnvVarValue ,
15
15
WithEnvvarsContext ,
16
+ WorkspaceConfig ,
16
17
} from "@gitpod/gitpod-protocol" ;
17
18
import { Experiments } from "@gitpod/gitpod-protocol/lib/experiments/configcat-server" ;
18
19
import * as chai from "chai" ;
@@ -43,36 +44,36 @@ const fooAnyUserEnvVar = {
43
44
name : "foo" ,
44
45
value : "any" ,
45
46
repositoryPattern : "gitpod/*" ,
46
- } ;
47
+ } as const ;
47
48
48
49
const barUserCommitEnvVar = {
49
50
name : "bar" ,
50
51
value : "commit" ,
51
52
repositoryPattern : "gitpod/gitpod-io" ,
52
- } ;
53
+ } as const ;
53
54
54
55
const barUserAnotherCommitEnvVar = {
55
56
name : "bar" ,
56
57
value : "commit" ,
57
58
repositoryPattern : "gitpod/openvscode-server" ,
58
- } ;
59
+ } as const ;
59
60
60
61
const barProjectCensoredEnvVar = {
61
62
name : "bar" ,
62
63
censored : true ,
63
64
value : "project1" ,
64
- } ;
65
+ } as const ;
65
66
66
67
const bazProjectEnvVar = {
67
68
name : "baz" ,
68
69
censored : false ,
69
70
value : "project2" ,
70
- } ;
71
+ } as const ;
71
72
72
73
const barContextEnvVar = {
73
74
name : "bar" ,
74
75
value : "context" ,
75
- } ;
76
+ } as const ;
76
77
77
78
const contextEnvVars = {
78
79
envvars : [ barContextEnvVar ] ,
@@ -299,15 +300,22 @@ describe("EnvVarService", async () => {
299
300
} ) ;
300
301
} ) ;
301
302
302
- it ( "should resolve env variables regular projext " , async ( ) => {
303
+ it ( "should resolve env variables regular project " , async ( ) => {
303
304
await es . addUserEnvVar ( member . id , member . id , fooAnyUserEnvVar ) ;
304
305
await es . addUserEnvVar ( member . id , member . id , barUserCommitEnvVar ) ;
305
306
await es . addUserEnvVar ( member . id , member . id , barUserAnotherCommitEnvVar ) ;
306
307
307
308
await es . addProjectEnvVar ( owner . id , project . id , barProjectCensoredEnvVar ) ;
308
309
await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
309
310
310
- const envVars = await es . resolveEnvVariables ( member . id , project . id , "regular" , commitContext ) ;
311
+ const workspaceConfig : WorkspaceConfig = {
312
+ env : {
313
+ foobar : "yes please" ,
314
+ [ fooAnyUserEnvVar . name ] : "overridden_by_user_var" ,
315
+ } ,
316
+ } ;
317
+
318
+ const envVars = await es . resolveEnvVariables ( member . id , project . id , "regular" , commitContext , workspaceConfig ) ;
311
319
envVars . project . forEach ( ( e ) => {
312
320
delete ( e as any ) . id ;
313
321
delete ( e as any ) . projectId ;
@@ -327,10 +335,15 @@ describe("EnvVarService", async () => {
327
335
censored : e . censored ,
328
336
} ) ) ,
329
337
) ;
330
- expect ( envVars . workspace ) . to . have . deep . members ( [ fooAnyUserEnvVar , barUserCommitEnvVar , bazProjectEnvVar ] ) ;
338
+ expect ( envVars . workspace ) . to . have . deep . members ( [
339
+ fooAnyUserEnvVar ,
340
+ barUserCommitEnvVar ,
341
+ bazProjectEnvVar ,
342
+ { name : "foobar" , value : "yes please" } ,
343
+ ] ) ;
331
344
} ) ;
332
345
333
- it ( "should resolve env variables prebuild with projext " , async ( ) => {
346
+ it ( "should resolve env variables prebuild with project " , async ( ) => {
334
347
await es . addUserEnvVar ( member . id , member . id , fooAnyUserEnvVar ) ;
335
348
await es . addUserEnvVar ( member . id , member . id , barUserCommitEnvVar ) ;
336
349
await es . addUserEnvVar ( member . id , member . id , barUserAnotherCommitEnvVar ) ;
0 commit comments