Merge "pass-to-parent: Fix passing multiple secrets to parent"
This commit is contained in:
@@ -43,16 +43,19 @@
|
||||
name: pass
|
||||
parent: parent-job
|
||||
secrets:
|
||||
name: secret
|
||||
secret: secret1
|
||||
pass-to-parent: true
|
||||
- name: secret1
|
||||
secret: secret1
|
||||
pass-to-parent: true
|
||||
- name: secret2
|
||||
secret: secret2
|
||||
pass-to-parent: true
|
||||
files: pass.txt
|
||||
|
||||
- job:
|
||||
name: override
|
||||
parent: pass
|
||||
secrets:
|
||||
name: secret
|
||||
name: secret1
|
||||
secret: secret2
|
||||
pass-to-parent: true
|
||||
files: override.txt
|
||||
|
||||
+12
-6
@@ -4284,15 +4284,18 @@ class TestSecretPassToParent(ZuulTestCase):
|
||||
self.assertEqual(
|
||||
self._getSecrets('pass', 'playbooks'),
|
||||
[{'parent_secret': {'password': 'password3'},
|
||||
'secret': {'password': 'password1'}}])
|
||||
'secret1': {'password': 'password1'},
|
||||
'secret2': {'password': 'password2'}}])
|
||||
self.assertEqual(
|
||||
self._getSecrets('pass', 'pre_playbooks'),
|
||||
[{'parent_secret': {'password': 'password3'},
|
||||
'secret': {'password': 'password1'}}])
|
||||
'secret1': {'password': 'password1'},
|
||||
'secret2': {'password': 'password2'}}])
|
||||
self.assertEqual(
|
||||
self._getSecrets('pass', 'post_playbooks'),
|
||||
[{'parent_secret': {'password': 'password3'},
|
||||
'secret': {'password': 'password1'}}])
|
||||
'secret1': {'password': 'password1'},
|
||||
'secret2': {'password': 'password2'}}])
|
||||
|
||||
B = self.fake_gerrit.addFakeChange('org/project', 'master', 'B',
|
||||
files=file_dict)
|
||||
@@ -4320,15 +4323,18 @@ class TestSecretPassToParent(ZuulTestCase):
|
||||
self.assertEqual(
|
||||
self._getSecrets('override', 'playbooks'),
|
||||
[{'parent_secret': {'password': 'password3'},
|
||||
'secret': {'password': 'password1'}}])
|
||||
'secret1': {'password': 'password1'},
|
||||
'secret2': {'password': 'password2'}}])
|
||||
self.assertEqual(
|
||||
self._getSecrets('override', 'pre_playbooks'),
|
||||
[{'parent_secret': {'password': 'password3'},
|
||||
'secret': {'password': 'password1'}}])
|
||||
'secret1': {'password': 'password1'},
|
||||
'secret2': {'password': 'password2'}}])
|
||||
self.assertEqual(
|
||||
self._getSecrets('override', 'post_playbooks'),
|
||||
[{'parent_secret': {'password': 'password3'},
|
||||
'secret': {'password': 'password1'}}])
|
||||
'secret1': {'password': 'password1'},
|
||||
'secret2': {'password': 'password2'}}])
|
||||
|
||||
def test_secret_ptp_trusted_untrusted(self):
|
||||
# Test if we pass a secret to a parent and one of the parents
|
||||
|
||||
+2
-2
@@ -1572,8 +1572,8 @@ class Job(ConfigObject):
|
||||
secret = layout.secrets.get(secret_use.name)
|
||||
decrypted_secret = secret.decrypt(
|
||||
other.source_context.project.private_secrets_key)
|
||||
decrypted_secret.name = secret_use.alias
|
||||
decrypted_secrets.append(decrypted_secret)
|
||||
decrypted_secret.name = secret_use.alias
|
||||
decrypted_secrets.append(decrypted_secret)
|
||||
# Add the secrets to any existing playbooks. If any of
|
||||
# them are in an untrusted project, then we've just given
|
||||
# a secret to a playbook which can run in dynamic config,
|
||||
|
||||
Reference in New Issue
Block a user