From 4a28065dbb4df058c5af8a6e192d27da28264529 Mon Sep 17 00:00:00 2001 From: Wayne Witzel III Date: Wed, 17 Jan 2018 21:46:49 +0000 Subject: [PATCH 1/2] Fix notification_data attempting to access name property of an int --- awx/main/models/jobs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/models/jobs.py b/awx/main/models/jobs.py index 8d6ead2888..b0f13b9710 100644 --- a/awx/main/models/jobs.py +++ b/awx/main/models/jobs.py @@ -675,7 +675,7 @@ class Job(UnifiedJob, JobOptions, SurveyJobMixin, JobNotificationMixin, TaskMana data.update(dict(inventory=self.inventory.name if self.inventory else None, project=self.project.name if self.project else None, playbook=self.playbook, - credential=self.credential.name if self.credential else None, + credential=getattr(self.get_deprecated_credential('ssh'), 'name', None), limit=self.limit, extra_vars=self.display_extra_vars(), hosts=all_hosts)) From 95bead2bb2863f05e8534313462b9698ad3ab49a Mon Sep 17 00:00:00 2001 From: Wayne Witzel III Date: Thu, 18 Jan 2018 13:30:12 +0000 Subject: [PATCH 2/2] Extend notification_data test --- awx/main/tests/functional/test_jobs.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/awx/main/tests/functional/test_jobs.py b/awx/main/tests/functional/test_jobs.py index b873e53139..6500963fc1 100644 --- a/awx/main/tests/functional/test_jobs.py +++ b/awx/main/tests/functional/test_jobs.py @@ -30,13 +30,15 @@ def test_job_capacity_and_with_inactive_node(): @pytest.mark.django_db -def test_job_notification_data(inventory): +def test_job_notification_data(inventory, machine_credential, project): encrypted_str = "$encrypted$" job = Job.objects.create( job_template=None, inventory=inventory, name='hi world', extra_vars=json.dumps({"SSN": "123-45-6789"}), - survey_passwords={"SSN": encrypted_str} + survey_passwords={"SSN": encrypted_str}, + project=project, ) + job.credentials = [machine_credential] notification_data = job.notification_data(block=0) assert json.loads(notification_data['extra_vars'])['SSN'] == encrypted_str