Model changes based on jobs API discussion, code and test fixes to work with those changes.

This commit is contained in:
Chris Church
2013-05-08 17:41:10 -04:00
parent 6238f0ab9a
commit f7cd605415
11 changed files with 638 additions and 110 deletions

View File

@@ -124,7 +124,7 @@ class AcomInventoryTest(BaseCommandTest):
hosts = []
for x in xrange(10):
if n > 0:
variable_data = VariableData.objects.create(data=json.dumps({'ho': 'hum-%d' % x}))
variable_data = VariableData.objects.create(data={'ho': 'hum-%d' % x})
else:
variable_data = None
host = inventory.hosts.create(name='host-%02d-%02d.example.com' % (n, x),
@@ -135,7 +135,7 @@ class AcomInventoryTest(BaseCommandTest):
groups = []
for x in xrange(5):
if n > 0:
variable_data = VariableData.objects.create(data=json.dumps({'gee': 'whiz-%d' % x}))
variable_data = VariableData.objects.create(data={'gee': 'whiz-%d' % x})
else:
variable_data = None
group = inventory.groups.create(name='group-%d' % x,
@@ -199,7 +199,7 @@ class AcomInventoryTest(BaseCommandTest):
set(group.hosts.values_list('name', flat=True)))
if group.variable_data:
self.assertEqual(v.get('vars', {}),
json.loads(group.variable_data.data))
group.variable_data.data)
if k == 'group-3':
self.assertEqual(set(v.get('children', [])),
set(group.children.values_list('name', flat=True)))
@@ -224,7 +224,7 @@ class AcomInventoryTest(BaseCommandTest):
host=host.name)
self.assertEqual(result, None)
data = json.loads(stdout)
self.assertEqual(data, json.loads(host.variable_data.data))
self.assertEqual(data, host.variable_data.data)
def test_invalid_host(self):
# Valid host, but not part of the specified inventory.

View File

@@ -86,7 +86,7 @@ class OrganizationsTest(BaseTest):
self.check_pagination_and_size(response, 10, previous=None, next=None)
self.assertEqual(len(response['results']),
Organization.objects.count())
for field in ['id', 'url', 'name', 'description', 'creation_date']:
for field in ['id', 'url', 'name', 'description', 'created']:
self.assertTrue(field in response['results'][0],
'field %s not in result' % field)

View File

@@ -213,7 +213,6 @@ class RunJobTest(BaseCeleryTest):
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
#print 'stdout:', job.result_stdout
#print 'stderr:', job.result_stderr
#print job.status
#print settings.DATABASES
#print self.run_job_args
@@ -352,9 +351,8 @@ class RunJobTest(BaseCeleryTest):
def test_extra_job_options(self):
self.create_test_project(TEST_PLAYBOOK)
job_template = self.create_test_job_template(use_sudo=True, forks=3,
verbosity=2,
extra_vars={'foo': 1})
job_template = self.create_test_job_template(forks=3, verbosity=2,
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())
@@ -365,10 +363,9 @@ class RunJobTest(BaseCeleryTest):
# privileges, but we're mainly checking the command line arguments.
self.assertTrue(job.status in ('successful', 'failed'))
self.assertTrue(job.result_stdout)
self.assertTrue('--sudo' in self.run_job_args)
self.assertTrue('--forks=3' in self.run_job_args)
self.assertTrue('-vv' in self.run_job_args)
self.assertTrue('--extra-vars=foo=1' in self.run_job_args)
self.assertTrue('-e' in self.run_job_args)
def test_limit_option(self):
self.create_test_project(TEST_PLAYBOOK)
@@ -380,7 +377,7 @@ class RunJobTest(BaseCeleryTest):
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
self.assertEqual(job.status, 'failed')
self.assertTrue('--limit=bad.example.com' in self.run_job_args)
self.assertTrue('-l' in self.run_job_args)
def test_ssh_username_and_password(self):
self.create_test_credential(ssh_username='sshuser',
@@ -394,7 +391,7 @@ class RunJobTest(BaseCeleryTest):
self.assertEqual(job.status, 'pending')
job = Job.objects.get(pk=job.pk)
self.assertEqual(job.status, 'successful')
self.assertTrue('--user=sshuser' in self.run_job_args)
self.assertTrue('-u' in self.run_job_args)
self.assertTrue('--ask-pass' in self.run_job_args)
def test_ssh_ask_password(self):
@@ -427,7 +424,7 @@ class RunJobTest(BaseCeleryTest):
# Job may fail if current user doesn't have password-less sudo
# privileges, but we're mainly checking the command line arguments.
self.assertTrue(job.status in ('successful', 'failed'))
self.assertTrue('--sudo-user=sudouser' in self.run_job_args)
self.assertTrue('-U' in self.run_job_args)
self.assertTrue('--ask-sudo-pass' in self.run_job_args)
def test_sudo_ask_password(self):