def test_software_unique(self): for agent_foobar in self.models(limit=1): softwareA = Software() softwareA.agent = [agent_foobar] softwareA.software = "foo" softwareA.version = "1.0.0" softwareB = Software() softwareB.agent = [agent_foobar] softwareB.software = "foo" softwareB.version = "1.0.0" db.session.add_all([softwareA, softwareB]) with self.assertRaises(DatabaseError): db.session.commit() db.session.rollback()
def test_software(self): for agent_foobar in self.models(limit=1): db.session.add(agent_foobar) # create some software tags software_objects = [] for software_name in ("foo", "bar", "baz"): software = Software() software.agents = [agent_foobar] software.software = software_name software.version = uuid.uuid4().hex software_objects.append((software.software, software.version)) agent_foobar.software.append(software) 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 = list( (str(i.software), str(i.version)) for i in agent.software) software_objects.sort() agent_software.sort() self.assertListEqual(agent_software, software_objects)