@@ -559,17 +559,35 @@ def test_run_managed_failure(app, fake_project, fake_build_plan):
559
559
560
560
561
561
@pytest .mark .enable_features ("build_secrets" )
562
- def test_run_managed_secrets (app , fake_project , fake_build_plan ):
562
+ @pytest .mark .parametrize (
563
+ "fake_encoded_environment" ,
564
+ [
565
+ pytest .param ({}, id = "empty" ),
566
+ pytest .param (
567
+ {
568
+ "CRAFT_TEST" : "banana" ,
569
+ },
570
+ id = "fake-env" ,
571
+ ),
572
+ pytest .param (
573
+ {
574
+ "CRAFT_TEST_FRUIT" : "banana" ,
575
+ "CRAFT_TEST_VEGETABLE" : "cucumber" ,
576
+ },
577
+ id = "multiple-entries-env" ,
578
+ ),
579
+ ],
580
+ )
581
+ def test_run_managed_secrets (
582
+ app , fake_project , fake_build_plan , fake_encoded_environment : dict [str , str ], check
583
+ ):
563
584
mock_provider = mock .MagicMock (spec_set = services .ProviderService )
564
585
instance = mock_provider .instance .return_value .__enter__ .return_value
565
586
mock_execute = instance .execute_run
566
587
app .services .provider = mock_provider
567
588
app .project = fake_project
568
589
app ._build_plan = fake_build_plan
569
590
570
- fake_encoded_environment = {
571
- "CRAFT_TEST" : "banana" ,
572
- }
573
591
app ._secrets = secrets .BuildSecrets (
574
592
environment = fake_encoded_environment ,
575
593
secret_strings = set (),
@@ -581,7 +599,11 @@ def test_run_managed_secrets(app, fake_project, fake_build_plan):
581
599
assert len (mock_execute .mock_calls ) == 1
582
600
call = mock_execute .mock_calls [0 ]
583
601
execute_env = call .kwargs ["env" ]
584
- assert execute_env ["CRAFT_TEST" ] == "banana"
602
+ for key , val in fake_encoded_environment .items ():
603
+ with check :
604
+ assert execute_env [key ] == val
605
+ assert key in craft_cli .emit ._log_filepath .read_text ()
606
+ assert val not in craft_cli .emit ._log_filepath .read_text ()
585
607
586
608
587
609
def test_run_managed_multiple (app , fake_project ):
0 commit comments