Merge pull request #1219 from AlanCoding/dragon_vault_id

Prevent unicode errors in cred unique_hash
This commit is contained in:
Alan Rominger 2018-04-03 14:01:51 -04:00 committed by GitHub
commit 59c30af19f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 2 deletions

View File

@ -9,6 +9,7 @@ import os
import re
import stat
import tempfile
import six
# Jinja2
from jinja2 import Template
@ -415,9 +416,9 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin):
type_alias = self.credential_type_id
if self.kind == 'vault' and self.inputs.get('vault_id', None):
if display:
fmt_str = '{} (id={})'
fmt_str = six.text_type('{} (id={})')
else:
fmt_str = '{}_{}'
fmt_str = six.text_type('{}_{}')
return fmt_str.format(type_alias, self.inputs.get('vault_id'))
return str(type_alias)

View File

@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
from awx.main.models import Credential, CredentialType
def test_unique_hash_with_unicode():
ct = CredentialType(name=u'Väult', kind='vault')
cred = Credential(
id=4,
name=u'Iñtërnâtiônàlizætiøn',
credential_type=ct,
inputs={
u'vault_id': u'🐉🐉🐉'
},
credential_type_id=42
)
assert cred.unique_hash(display=True) == u'Väult (id=🐉🐉🐉)'