def test_software(self): for agent_foobar in self.models(limit=1): db.session.add(agent_foobar) # create some software version tags software_version_objects = [] for software_name in ("foo", "bar", "baz"): software = Software() software.agents = [agent_foobar] software.software = software_name software_version = SoftwareVersion() software_version.software = software software_version.version = "1" software_version.rank = 1 software_version_objects.append( (software.software, software_version.version)) agent_foobar.software_versions.append(software_version) db.session.commit() agent_id = agent_foobar.id db.session.remove() agent = Agent.query.filter_by(id=agent_id).first() self.assertIsNotNone(agent) agent_software_versions = list( (str(i.software.software), str(i.version)) for i in agent.software_versions) software_version_objects.sort() agent_software_versions.sort() self.assertListEqual(agent_software_versions, software_version_objects)
def add_software_version(software_id): software = Software.query.filter_by(id=software_id).first() if not software: return (render_template("pyfarm/error.html", error="Software %s not found" % software_id), NOT_FOUND) version = SoftwareVersion(software=software, version=request.form["version"], rank=int(request.form["rank"])) db.session.add(version) db.session.commit() flash("Version %s has been added." % version.version) return redirect(url_for("single_software_ui", software_id=software.id), SEE_OTHER)