def test_remove_tag_error(self): text = "whatever" t = Tag(text=text) m_session = MagicMock() m_session.query(Tag).filter().one.return_value = t with self.assertRaises(IrmaDatabaseError): self.file.remove_tag("id", m_session) self.assertEqual(len(self.file.tags), 0)
def test_remove_tag(self): text = "whatever" t = Tag(text=text) m_session = MagicMock() m_session.query(Tag).filter().one.return_value = t self.assertEqual(len(self.file.tags), 0) self.file.add_tag("id", m_session) self.file.remove_tag("id", m_session) self.assertEqual(len(self.file.tags), 0)
def test_add_tag_error(self): text = "whatever" t = Tag(text=text) m_session = MagicMock() m_session.query(Tag).filter().one.return_value = t self.file.add_tag("id", m_session) with self.assertRaises(IrmaDatabaseError): self.file.add_tag("id", m_session) self.assertCountEqual(self.file.tags, [t])
def new(text: hug.types.text = None): """ Add a new tag, text is passed as query parameter. :return: on success new tag object is returned on error 'msg' gives reason message """ session = db.session if text is None or text == "": raise HTTPInvalidParam("text", "Text should not be empty") # Check if a tag with same tag already exists available_tags = Tag.query_find_all(session) if text in [t.text for t in available_tags]: raise HTTPInvalidParam("text", "Tag already exists") # create tag if not already present tag = Tag(text) session.add(tag) session.commit() # returns new tag return tag_schema.dump(tag).data
def test___init__(self): text = "whatever" t = Tag(text=text) self.assertEqual(t.text, text)
def test_to_json(self): text = "whatever" t = Tag(text=text) expected = {'text': text} self.assertEqual(t.to_json(), expected)