def jobqueue_create(): if request.method == 'POST': jobqueue = JobQueue() jobqueue.name = request.form["name"] if request.form["parent"] != "": jobqueue.parent_jobqueue_id = request.form["parent"] if request.form["minimum_agents"] != "": jobqueue.minimum_agents = request.form["minimum_agents"] if request.form["maximum_agents"] != "": jobqueue.maximum_agents = request.form["maximum_agents"] if request.form["priority"] != "": jobqueue.priority = request.form["priority"] if request.form["weight"] != "": jobqueue.weight = request.form["weight"] db.session.add(jobqueue) db.session.flush() jobqueue.fullpath = jobqueue.path() db.session.add(jobqueue) db.session.commit() flash("Created new jobqueue \"%s\"." % jobqueue.name) return redirect(url_for("jobqueues_index_ui"), SEE_OTHER) else: jobqueues = JobQueue.query parent = request.args.get("parent", None) if parent: parent = int(parent) return render_template("pyfarm/user_interface/jobqueue_create.html", parent=parent, jobqueues=jobqueues)
def test_insert(self): # A job can not be created without a jobtype, create one first jobtype = JobType() jobtype.name = "foo" jobtype.description = "this is a job type" jobtype_version = JobTypeVersion() jobtype_version.jobtype = jobtype jobtype_version.version = 1 jobtype_version.classname = "Foobar" jobtype_version.code = (""" class Foobar(JobType): pass""").encode("utf-8") db.session.add(jobtype_version) queue = JobQueue() queue.name = "FooQueue" job = Job() job.title = "Test Job" job.jobtype_version = jobtype_version job.queue = queue tag = Tag() tag.jobs = [job] tag.tag = "foo456" db.session.add_all([tag, job]) db.session.commit() model_id = tag.id job_id = job.id db.session.remove() result = Tag.query.filter_by(id=model_id).first() self.assertEqual(result.tag, "foo456") self.assertEqual(result.jobs[0].id, job_id)
def test_insert(self): # A job can not be created without a jobtype, create one first jobtype = JobType() jobtype.name = "foo" jobtype.description = "this is a job type" jobtype_version = JobTypeVersion() jobtype_version.jobtype = jobtype jobtype_version.version = 1 jobtype_version.classname = "Foobar" jobtype_version.code = (""" class Foobar(JobType): pass""").encode("utf-8") db.session.add(jobtype_version) queue = JobQueue() queue.name = "FooQueue" job = Job() job.title = "Test Job" job.jobtype_version = jobtype_version job.queue = queue # Software requirement needs a software first software = Software() software.software = "foo" requirement = JobSoftwareRequirement() requirement.job = job requirement.software = software db.session.add(job) db.session.commit() job_id = job.id requirement_id = requirement.id requirement2 = JobSoftwareRequirement.query.\ filter_by(id=requirement_id).first() self.assertEqual(requirement.job.id, job_id) self.assertEqual(requirement2.software.software, "foo") self.assertEqual(requirement2.min_version, None) self.assertEqual(requirement2.max_version, None)