def jobs_configure(request): discovered = get_undiscovered_jobs() available_commands = [] if request.method == "POST" and u'auto-discovery' in request.POST: for job in get_undiscovered_jobs(): Job.objects.get_or_create(slug=job) return HttpResponseRedirect(reverse('cthulhubot-jobs')) return direct_to_template(request, 'cthulhubot/jobs_configure.html', { 'discovered_jobs' : discovered, 'available_commands' : available_commands, })
def test_get_command_for_configuration(self): job = get_undiscovered_jobs().get('cthulhubot-debian-package-creation')() params = job.get_configuration_parameters() # We shoudl receive one dict per job command self.assert_equals(len(job.commands), len(params)) # and 4 unconfigured commands in ftp self.assert_equals(4, len(params[-1:][0]['parameters']))
def job_add(request, job): job_class = get_undiscovered_jobs().get(job) if not job_class: raise Http404() job = job_class() form = get_job_configuration_form(job) return direct_to_template(request, 'cthulhubot/job_add.html', { 'job' : job, 'form' : form, })
def test_command_not_discovered_as_job(self): assert 'cthulhubot-debian-build-debian-package' not in get_undiscovered_jobs()
def test_undiscovered_jobs_retrieval(self): assert 'cthulhubot-debian-package-creation' in get_undiscovered_jobs()