Пример #1
0
 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)
Пример #2
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)
Пример #3
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])
Пример #4
0
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
Пример #5
0
 def test___init__(self):
     text = "whatever"
     t = Tag(text=text)
     self.assertEqual(t.text, text)
Пример #6
0
 def test_to_json(self):
     text = "whatever"
     t = Tag(text=text)
     expected = {'text': text}
     self.assertEqual(t.to_json(), expected)