job template labels init implementation

This commit is contained in:
Chris Meyers
2016-03-22 10:34:58 -04:00
parent dd977c608b
commit d2de21ee50
12 changed files with 230 additions and 9 deletions

View File

@@ -0,0 +1,34 @@
import pytest
class TestCreateUnifiedJob:
'''
Ensure that copying a job template to a job handles many to many field copy
'''
@pytest.mark.django_db
def test_many_to_many(self, mocker, job_template_labels):
jt = job_template_labels
_get_unified_job_field_names = mocker.patch('awx.main.models.jobs.JobTemplate._get_unified_job_field_names', return_value=['labels'])
j = jt.create_unified_job()
_get_unified_job_field_names.assert_called_with()
assert j.labels.all().count() == 2
assert j.labels.all()[0] == jt.labels.all()[0]
assert j.labels.all()[1] == jt.labels.all()[1]
'''
Ensure that data is looked for in parameter list before looking at the object
'''
@pytest.mark.django_db
def test_many_to_many_kwargs(self, mocker, job_template_labels):
jt = job_template_labels
mocked = mocker.MagicMock()
mocked.__class__.__name__ = 'ManyRelatedManager'
kwargs = {
'labels': mocked
}
_get_unified_job_field_names = mocker.patch('awx.main.models.jobs.JobTemplate._get_unified_job_field_names', return_value=['labels'])
jt.create_unified_job(**kwargs)
_get_unified_job_field_names.assert_called_with()
mocked.all.assert_called_with()