Exemplo n.º 1
0
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)
Exemplo n.º 3
0
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

        # 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)