move job view test to serializer unit test

This commit is contained in:
AlanCoding 2016-06-08 14:56:00 -04:00
parent 04b8eb4eaf
commit 2cf0694adf
2 changed files with 17 additions and 6 deletions

View File

@ -1,5 +1,4 @@
import pytest
import json
from awx.main.models import UnifiedJob
from django.core.urlresolvers import reverse
@ -16,8 +15,3 @@ def test_options_fields_choices(instance, options, user):
assert 'choice' == response.data['actions']['GET']['status']['type']
assert UnifiedJob.STATUS_CHOICES == response.data['actions']['GET']['status']['choices']
@pytest.mark.django_db
@pytest.mark.survey
def test_job_redacted_survey_passwords(job_with_secret_key, get, admin_user):
response = get(reverse('api:job_detail', args=(job_with_secret_key.pk,)), admin_user)
assert json.loads(response.data['extra_vars'])['secret_key'] == '$encrypted$'

View File

@ -1,6 +1,7 @@
# Python
import pytest
import mock
import json
# AWX
from awx.api.serializers import JobTemplateSerializer, JobSerializer, JobOptionsSerializer
@ -145,6 +146,22 @@ class TestJobSerializerGetRelated(GetRelatedMixin):
assert 'job_template' in related
assert related['job_template'] == '/api/v1/%s/%d/' % ('job_templates', job.job_template.pk)
@mock.patch('awx.api.serializers.BaseSerializer.to_representation', lambda self,obj: {
'extra_vars': obj.extra_vars
})
class TestJobSerializerSubstitution():
def test_survey_password_hide(self, mocker):
job = mocker.MagicMock(**{
'display_extra_vars.return_value': '{\"secret_key\": \"$encrypted$\"}',
'extra_vars.return_value': '{\"secret_key\": \"my_password\"}'})
serializer = JobSerializer(job)
rep = serializer.to_representation(job)
extra_vars = json.loads(rep['extra_vars'])
assert extra_vars['secret_key'] == '$encrypted$'
job.display_extra_vars.assert_called_once_with()
assert 'my_password' not in extra_vars
@mock.patch('awx.api.serializers.BaseSerializer.get_summary_fields', lambda x,y: {})
class TestJobOptionsSerializerGetSummaryFields(GetSummaryFieldsMixin):
def test__summary_field_labels_10_max(self, mocker, job_template, labels):