Fixes AC-402. Fix issues arising from unit tests.

This commit is contained in:
Chris Church 2013-09-05 07:57:44 -04:00
parent 567aef5d1e
commit 2e03a646a5
7 changed files with 32 additions and 34 deletions

View File

@ -692,7 +692,8 @@ class Project(CommonModel):
@property
def can_update(self):
return bool(self.scm_type and not self.current_update)
# FIXME: Prevent update when another one is active!
return bool(self.scm_type)# and not self.current_update)
def update(self, **kwargs):
if self.can_update:

View File

@ -227,7 +227,6 @@ class ProjectSerializer(BaseSerializer):
def validate_local_path(self, attrs, source):
# Don't allow assigning a local_path used by another project.
# Don't allow assigning a local_path when scm_type is set.
print attrs, source, self.object
valid_local_paths = Project.get_local_path_choices()
if self.object:
scm_type = attrs.get('scm_type', self.object.scm_type)
@ -542,7 +541,7 @@ class JobTemplateSerializer(BaseSerializer):
class JobSerializer(BaseSerializer):
passwords_needed_to_start = serializers.Field(source='get_passwords_needed_to_start')
passwords_needed_to_start = serializers.Field(source='passwords_needed_to_start')
class Meta:
model = Job

View File

@ -324,8 +324,6 @@ class RunJob(BaseTask):
if not super(RunJob, self).pre_run_check(job, **kwargs):
return False
# FIXME: Check if job is waiting on any projects that are being updated.
if job.project.has_active_updates:
pass
return True
def post_run_hook(self, job):

View File

@ -352,7 +352,7 @@ class CleanupJobsTest(BaseCommandMixin, BaseLiveServerTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)

View File

@ -430,10 +430,10 @@ class BaseJobTestMixin(BaseTestMixin):
class JobTemplateTest(BaseJobTestMixin, django.test.TestCase):
JOB_TEMPLATE_FIELDS = ('id', 'url', 'related', 'summary_fields', 'created',
'name', 'description', 'job_type', 'inventory',
'project', 'playbook', 'credential', 'forks',
'limit', 'verbosity', 'extra_vars', 'job_tags',
'host_config_key',)
'modified', 'name', 'description', 'job_type',
'inventory', 'project', 'playbook', 'credential',
'forks', 'limit', 'verbosity', 'extra_vars',
'job_tags', 'host_config_key',)
def test_get_job_template_list(self):
url = reverse('main:job_template_list')

View File

@ -381,7 +381,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -410,7 +410,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template, job_type='check')
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -438,7 +438,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -466,7 +466,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -590,7 +590,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template, job_type='check')
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -630,7 +630,7 @@ class RunJobTest(BaseCeleryTest):
# Calling cancel before start has no effect.
self.assertFalse(job.cancel())
self.assertEqual(job.cancel_flag, False)
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.build_args_callback = self._cancel_job_callback
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
@ -653,7 +653,7 @@ class RunJobTest(BaseCeleryTest):
extra_vars='foo=1')
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -669,7 +669,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template(limit='bad.example.com')
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -683,7 +683,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -697,8 +697,8 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertTrue(job.get_passwords_needed_to_start())
self.assertTrue('ssh_password' in job.get_passwords_needed_to_start())
self.assertTrue(job.passwords_needed_to_start)
self.assertTrue('ssh_password' in job.passwords_needed_to_start)
self.assertFalse(job.start())
self.assertEqual(job.status, 'new')
self.assertTrue(job.start(ssh_password='sshpass'))
@ -714,7 +714,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -730,8 +730,8 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertTrue(job.get_passwords_needed_to_start())
self.assertTrue('sudo_password' in job.get_passwords_needed_to_start())
self.assertTrue(job.passwords_needed_to_start)
self.assertTrue('sudo_password' in job.passwords_needed_to_start)
self.assertFalse(job.start())
self.assertEqual(job.status, 'new')
self.assertTrue(job.start(sudo_password='sudopass'))
@ -748,7 +748,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -762,7 +762,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -777,7 +777,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -792,8 +792,8 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertTrue(job.get_passwords_needed_to_start())
self.assertTrue('ssh_key_unlock' in job.get_passwords_needed_to_start())
self.assertTrue(job.passwords_needed_to_start)
self.assertTrue('ssh_key_unlock' in job.passwords_needed_to_start)
self.assertFalse(job.start())
self.assertEqual(job.status, 'new')
self.assertTrue(job.start(ssh_key_unlock=TEST_SSH_KEY_DATA_UNLOCK))
@ -808,7 +808,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -836,7 +836,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -864,7 +864,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
@ -893,7 +893,7 @@ class RunJobTest(BaseCeleryTest):
job_template = self.create_test_job_template()
job = self.create_test_job(job_template=job_template)
self.assertEqual(job.status, 'new')
self.assertFalse(job.get_passwords_needed_to_start())
self.assertFalse(job.passwords_needed_to_start)
self.assertTrue(job.start())
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)

View File

@ -797,7 +797,7 @@ class JobStart(GenericAPIView):
can_start=obj.can_start,
)
if obj.can_start:
data['passwords_needed_to_start'] = obj.asswords_needed_to_start
data['passwords_needed_to_start'] = obj.passwords_needed_to_start
return Response(data)
def post(self, request, *args, **kwargs):