@@ -359,13 +359,7 @@ describe("EnvVarService", async () => {
359
359
await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
360
360
361
361
const envVars = await es . resolveEnvVariables ( member . id , project . teamId , undefined , "regular" , commitContext ) ;
362
- envVars . workspace . forEach ( ( e ) => {
363
- delete ( e as any ) . id ;
364
- delete ( e as any ) . userId ;
365
- delete ( e as any ) . deleted ;
366
- } ) ;
367
- expect ( envVars . project . length ) . to . be . equal ( 0 ) ;
368
- expect ( envVars . workspace ) . to . have . deep . members ( [ fooAnyUserEnvVar , barUserCommitEnvVar ] ) ;
362
+ expectEnvVars ( envVars , [ fooAnyUserEnvVar , barUserCommitEnvVar ] ) ;
369
363
} ) ;
370
364
371
365
it ( "should resolve env variables prebuild" , async ( ) => {
@@ -377,10 +371,7 @@ describe("EnvVarService", async () => {
377
371
await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
378
372
379
373
const envVars = await es . resolveEnvVariables ( member . id , project . teamId , undefined , "prebuild" , commitContext ) ;
380
- expect ( envVars ) . to . deep . equal ( {
381
- project : [ ] ,
382
- workspace : [ ] ,
383
- } ) ;
374
+ expectEnvVars ( envVars , [ ] ) ;
384
375
} ) ;
385
376
386
377
it ( "should resolve env variables regular project" , async ( ) => {
@@ -406,26 +397,8 @@ describe("EnvVarService", async () => {
406
397
commitContext ,
407
398
workspaceConfig ,
408
399
) ;
409
- envVars . project . forEach ( ( e ) => {
410
- delete ( e as any ) . id ;
411
- delete ( e as any ) . projectId ;
412
- delete ( e as any ) . creationTime ;
413
- delete ( e as any ) . deleted ;
414
- } ) ;
415
- envVars . workspace . forEach ( ( e ) => {
416
- delete ( e as any ) . id ;
417
- delete ( e as any ) . projectId ;
418
- delete ( e as any ) . userId ;
419
- delete ( e as any ) . creationTime ;
420
- delete ( e as any ) . deleted ;
421
- } ) ;
422
- expect ( envVars . project ) . to . have . deep . members (
423
- [ barProjectCensoredEnvVar , bazProjectEnvVar ] . map ( ( e ) => ( {
424
- name : e . name ,
425
- censored : e . censored ,
426
- } ) ) ,
427
- ) ;
428
- expect ( envVars . workspace ) . to . have . deep . members ( [
400
+
401
+ expectEnvVars ( envVars , [
429
402
fooAnyUserEnvVar ,
430
403
barUserCommitEnvVar ,
431
404
bazProjectEnvVar ,
@@ -459,15 +432,7 @@ describe("EnvVarService", async () => {
459
432
workspaceConfig ,
460
433
) ;
461
434
462
- envVars . project = cleanEnvVarShapes ( envVars . project ) ;
463
- envVars . workspace = cleanEnvVarShapes ( envVars . workspace ) ;
464
- expect ( envVars . project ) . to . have . deep . members (
465
- [ barProjectCensoredEnvVar , bazProjectEnvVar ] . map ( ( e ) => ( {
466
- name : e . name ,
467
- censored : e . censored ,
468
- } ) ) ,
469
- ) ;
470
- expect ( envVars . workspace ) . to . have . deep . members ( [
435
+ expectEnvVars ( envVars , [
471
436
gitpodImageAuthOrgEnvVar ,
472
437
fooAnyUserEnvVar ,
473
438
barUserCommitEnvVar ,
@@ -477,17 +442,6 @@ describe("EnvVarService", async () => {
477
442
} ) ;
478
443
479
444
it ( "user should have precedence over org, project over user" , async ( ) => {
480
- function expectEnvVars ( resolved : ResolvedEnvVars , expected : EnvVarWithValue [ ] ) {
481
- resolved . project = cleanEnvVarShapes ( resolved . project , true ) ;
482
- resolved . workspace = cleanEnvVarShapes ( resolved . workspace , true ) ;
483
- expect ( resolved . workspace ) . to . have . deep . members (
484
- expected . map ( ( e ) => ( {
485
- name : e . name ,
486
- value : e . value ,
487
- } ) ) ,
488
- ) ;
489
- }
490
-
491
445
await es . addOrgEnvVar ( owner . id , org . id , gitpodImageAuthOrgEnvVar ) ;
492
446
let envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "regular" , commitContext ) ;
493
447
expectEnvVars ( envVars , [ gitpodImageAuthOrgEnvVar ] ) ;
@@ -528,15 +482,7 @@ describe("EnvVarService", async () => {
528
482
await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
529
483
530
484
const envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "prebuild" , commitContext ) ;
531
- envVars . project = cleanEnvVarShapes ( envVars . project ) ;
532
- envVars . workspace = cleanEnvVarShapes ( envVars . workspace ) ;
533
- expect ( envVars . project ) . to . have . deep . members (
534
- [ barProjectCensoredEnvVar , bazProjectEnvVar ] . map ( ( e ) => ( {
535
- name : e . name ,
536
- censored : e . censored ,
537
- } ) ) ,
538
- ) ;
539
- expect ( envVars . workspace ) . to . have . deep . members ( [ barProjectCensoredEnvVar , bazProjectEnvVar ] ) ;
485
+ expectEnvVars ( envVars , [ barProjectCensoredEnvVar , bazProjectEnvVar ] ) ;
540
486
} ) ;
541
487
542
488
it ( "should not match single segment " , async ( ) => {
@@ -551,10 +497,7 @@ describe("EnvVarService", async () => {
551
497
await es . addUserEnvVar ( member . id , member . id , userEnvVars [ 0 ] ) ;
552
498
553
499
const envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "prebuild" , commitContext ) ;
554
- expect ( envVars ) . to . deep . equal ( {
555
- project : [ ] ,
556
- workspace : [ ] ,
557
- } ) ;
500
+ expectEnvVars ( envVars , [ ] ) ;
558
501
} ) ;
559
502
560
503
it ( "should resolve env variables from context " , async ( ) => {
@@ -569,9 +512,8 @@ describe("EnvVarService", async () => {
569
512
...commitContext ,
570
513
...contextEnvVars ,
571
514
} ) ;
572
- envVars . workspace = cleanEnvVarShapes ( envVars . workspace ) ;
573
- expect ( envVars . project . length ) . to . be . equal ( 0 ) ;
574
- expect ( envVars . workspace ) . to . have . deep . members ( [ fooAnyUserEnvVar , barContextEnvVar ] ) ;
515
+
516
+ expectEnvVars ( envVars , [ fooAnyUserEnvVar , barContextEnvVar ] ) ;
575
517
} ) ;
576
518
577
519
it ( "should resolve env variables from context with project " , async ( ) => {
@@ -586,15 +528,8 @@ describe("EnvVarService", async () => {
586
528
...commitContext ,
587
529
...contextEnvVars ,
588
530
} ) ;
589
- envVars . project = cleanEnvVarShapes ( envVars . project ) ;
590
- envVars . workspace = cleanEnvVarShapes ( envVars . workspace ) ;
591
- expect ( envVars . project ) . to . have . deep . members (
592
- [ barProjectCensoredEnvVar , bazProjectEnvVar ] . map ( ( e ) => ( {
593
- name : e . name ,
594
- censored : e . censored ,
595
- } ) ) ,
596
- ) ;
597
- expect ( envVars . workspace ) . to . have . deep . members ( [ fooAnyUserEnvVar , barContextEnvVar , bazProjectEnvVar ] ) ;
531
+
532
+ expectEnvVars ( envVars , [ fooAnyUserEnvVar , barContextEnvVar , bazProjectEnvVar ] ) ;
598
533
} ) ;
599
534
600
535
it ( "should resolve env variables with precedence" , async ( ) => {
@@ -634,11 +569,8 @@ describe("EnvVarService", async () => {
634
569
const envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "regular" , {
635
570
...commitContext ,
636
571
} ) ;
637
- envVars . workspace = cleanEnvVarShapes ( envVars . workspace ) ;
638
- expect ( envVars , `test case: ${ i } ` ) . to . deep . equal ( {
639
- project : [ ] ,
640
- workspace : expectedVars ,
641
- } ) ;
572
+
573
+ expectEnvVars ( envVars , expectedVars , `test case: ${ i } ` ) ;
642
574
643
575
for ( let j = 0 ; j < inputVars . length ; j ++ ) {
644
576
await es . deleteUserEnvVar ( member . id , member . id , inputVars [ j ] ) ;
@@ -701,24 +633,22 @@ describe("EnvVarService", async () => {
701
633
const envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "regular" , {
702
634
...gitlabSubgroupCommitContext ,
703
635
} ) ;
704
- envVars . workspace = cleanEnvVarShapes ( envVars . workspace ) ;
705
- expect ( envVars . project . length ) . to . be . equal ( 0 ) ;
706
- expect ( envVars . workspace ) . to . have . deep . members ( userEnvVars . filter ( ( ev ) => ev . value === "true" ) ) ;
636
+ expectEnvVars (
637
+ envVars ,
638
+ userEnvVars . filter ( ( ev ) => ev . value === "true" ) ,
639
+ ) ;
707
640
} ) ;
708
641
} ) ;
709
642
710
- function cleanEnvVarShapes < T extends object > ( envVars : T [ ] , dropAllProperties : boolean = false ) : T [ ] {
711
- return envVars . map ( ( ev ) => {
712
- delete ( ev as any ) . id ;
713
- delete ( ev as any ) . orgId ;
714
- delete ( ev as any ) . projectId ;
715
- delete ( ev as any ) . userId ;
716
- delete ( ev as any ) . creationTime ;
717
- delete ( ev as any ) . deleted ;
718
- if ( dropAllProperties ) {
719
- delete ( ev as any ) . repositoryPattern ;
720
- delete ( ev as any ) . censored ;
721
- }
722
- return ev ;
643
+ function envVars ( evs : EnvVarWithValue [ ] ) : Pick < EnvVarWithValue , "name" | "value" > [ ] {
644
+ return evs . map ( ( ev ) => {
645
+ return {
646
+ name : ev . name ,
647
+ value : ev . value ,
648
+ } ;
723
649
} ) ;
724
650
}
651
+
652
+ function expectEnvVars ( resolved : ResolvedEnvVars , expected : EnvVarWithValue [ ] , message ?: string ) {
653
+ expect ( envVars ( resolved . workspace ) , message ) . to . have . deep . members ( envVars ( expected ) ) ;
654
+ }
0 commit comments