fix a display bug in notification bodies with unicode characters

see: https://github.com/ansible/awx/issues/7400
This commit is contained in:
Ryan Petrello 2020-10-02 14:21:17 -04:00
parent 1792b1350c
commit 30b6fd27b3
No known key found for this signature in database
GPG Key ID: F2AA5F2122351777
2 changed files with 14 additions and 1 deletions

View File

@ -393,7 +393,11 @@ class JobNotificationMixin(object):
'job': job_context,
'job_friendly_name': self.get_notification_friendly_name(),
'url': self.get_ui_url(),
'job_metadata': json.dumps(self.notification_data(), indent=4)
'job_metadata': json.dumps(
self.notification_data(),
ensure_ascii=False,
indent=4
)
}
def build_context(node, fields, allowed_fields):

View File

@ -123,6 +123,15 @@ class TestJobNotificationMixin(object):
context = job.context(job_serialization)
check_structure(TestJobNotificationMixin.CONTEXT_STRUCTURE, context)
@pytest.mark.django_db
def test_context_job_metadata_with_unicode(self):
job = Job.objects.create(name='批量安装项目')
job_serialization = UnifiedJobSerializer(job).to_representation(job)
context = job.context(job_serialization)
assert '批量安装项目' in context['job_metadata']
def test_context_stub(self):
"""The context stub is a fake context used to validate custom notification messages. Ensure that
this also has the expected structure. Furthermore, ensure that the stub context contains