@@ -359,13 +359,7 @@ describe("EnvVarService", async () => {
359359 await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
360360
361361 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 ] ) ;
369363 } ) ;
370364
371365 it ( "should resolve env variables prebuild" , async ( ) => {
@@ -377,10 +371,7 @@ describe("EnvVarService", async () => {
377371 await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
378372
379373 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 , [ ] ) ;
384375 } ) ;
385376
386377 it ( "should resolve env variables regular project" , async ( ) => {
@@ -406,26 +397,8 @@ describe("EnvVarService", async () => {
406397 commitContext ,
407398 workspaceConfig ,
408399 ) ;
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 , [
429402 fooAnyUserEnvVar ,
430403 barUserCommitEnvVar ,
431404 bazProjectEnvVar ,
@@ -459,15 +432,7 @@ describe("EnvVarService", async () => {
459432 workspaceConfig ,
460433 ) ;
461434
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 , [
471436 gitpodImageAuthOrgEnvVar ,
472437 fooAnyUserEnvVar ,
473438 barUserCommitEnvVar ,
@@ -477,17 +442,6 @@ describe("EnvVarService", async () => {
477442 } ) ;
478443
479444 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-
491445 await es . addOrgEnvVar ( owner . id , org . id , gitpodImageAuthOrgEnvVar ) ;
492446 let envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "regular" , commitContext ) ;
493447 expectEnvVars ( envVars , [ gitpodImageAuthOrgEnvVar ] ) ;
@@ -528,15 +482,7 @@ describe("EnvVarService", async () => {
528482 await es . addProjectEnvVar ( owner . id , project . id , bazProjectEnvVar ) ;
529483
530484 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 ] ) ;
540486 } ) ;
541487
542488 it ( "should not match single segment " , async ( ) => {
@@ -551,10 +497,7 @@ describe("EnvVarService", async () => {
551497 await es . addUserEnvVar ( member . id , member . id , userEnvVars [ 0 ] ) ;
552498
553499 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 , [ ] ) ;
558501 } ) ;
559502
560503 it ( "should resolve env variables from context " , async ( ) => {
@@ -569,9 +512,8 @@ describe("EnvVarService", async () => {
569512 ...commitContext ,
570513 ...contextEnvVars ,
571514 } ) ;
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 ] ) ;
575517 } ) ;
576518
577519 it ( "should resolve env variables from context with project " , async ( ) => {
@@ -586,15 +528,8 @@ describe("EnvVarService", async () => {
586528 ...commitContext ,
587529 ...contextEnvVars ,
588530 } ) ;
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 ] ) ;
598533 } ) ;
599534
600535 it ( "should resolve env variables with precedence" , async ( ) => {
@@ -634,11 +569,8 @@ describe("EnvVarService", async () => {
634569 const envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "regular" , {
635570 ...commitContext ,
636571 } ) ;
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 } ` ) ;
642574
643575 for ( let j = 0 ; j < inputVars . length ; j ++ ) {
644576 await es . deleteUserEnvVar ( member . id , member . id , inputVars [ j ] ) ;
@@ -701,24 +633,22 @@ describe("EnvVarService", async () => {
701633 const envVars = await es . resolveEnvVariables ( member . id , project . teamId , project . id , "regular" , {
702634 ...gitlabSubgroupCommitContext ,
703635 } ) ;
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+ ) ;
707640 } ) ;
708641} ) ;
709642
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+ } ;
723649 } ) ;
724650}
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