mirror of
https://github.com/ansible/awx.git
synced 2026-01-28 23:04:41 -03:30
allow encrypted fields in custom credentials to be empty
This commit is contained in:
parent
28733800c4
commit
7252883094
@ -383,6 +383,8 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin):
|
||||
super(Credential, self).save(*args, **kwargs)
|
||||
|
||||
def encrypt_field(self, field, ask):
|
||||
if not hasattr(self, field):
|
||||
return None
|
||||
encrypted = encrypt_field(self, field, ask=ask)
|
||||
if encrypted:
|
||||
self.inputs[field] = encrypted
|
||||
|
||||
@ -15,3 +15,24 @@ def test_unique_hash_with_unicode():
|
||||
credential_type_id=42
|
||||
)
|
||||
assert cred.unique_hash(display=True) == u'Väult (id=🐉🐉🐉)'
|
||||
|
||||
|
||||
def test_custom_cred_with_empty_encrypted_field():
|
||||
ct = CredentialType(
|
||||
name='My Custom Cred',
|
||||
kind='custom',
|
||||
inputs={
|
||||
'fields': [{
|
||||
'id': 'some_field',
|
||||
'label': 'My Field',
|
||||
'secret': True
|
||||
}]
|
||||
}
|
||||
)
|
||||
cred = Credential(
|
||||
id=4,
|
||||
name='Testing 1 2 3',
|
||||
credential_type=ct,
|
||||
inputs={}
|
||||
)
|
||||
assert cred.encrypt_field('some_field', None) is None
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user