def test_rename_tag_name_taken(self):
        tag = Tag(owner=self.test_user_id, name=self.tag_name)
        self.session.add(tag)
        tag2 = Tag(owner=self.test_user_id, name=self.tag_name_new)
        self.session.add(tag2)
        self.session.commit()

        with self.assertRaises(IntegrityError):
            TagWrapper.rename_tag(self.session, self.test_user_id, self.tag_name, self.tag_name_new)
    def test_rename_tag_success(self):
        tag = Tag(owner=self.test_user_id, name=self.tag_name)
        self.session.add(tag)
        self.session.commit()

        TagWrapper.rename_tag(self.session, self.test_user_id, self.tag_name, self.tag_name_new)
        tag = self.session.query(Tag).filter(Tag.owner == self.test_user_id, Tag.name == self.tag_name_new).first()

        self.assertIsNotNone(tag)
        self.assertEqual(tag.name, self.tag_name_new)
    def test_rename_tag_tag_not_found(self):
        # assert that tag isn't present
        tag = self.session.query(Tag).filter(Tag.owner == self.test_user_id, Tag.name == self.tag_name).first()

        if tag is not None:
            self.session.delete(tag)
            self.session.commit()

        with self.assertRaises(DBTagNotFound):
            TagWrapper.rename_tag(self.session, self.test_user_id, self.tag_name, self.tag_name_new)

        tag = self.session.query(Tag).filter(Tag.owner == self.test_user_id, Tag.name == self.tag_name).first()
        self.assertIsNone(tag)
Ejemplo n.º 4
0
    def rename(current_name: str, new_name: str, session=None) -> 'Tag':
        # Check if name already exists
        try:
            TagWrapper.get_tag(session, g.user.platformid, new_name)
            raise CalculatedError(409,
                                  f"Tag with name {new_name} already exists.")
        except DBTagNotFound:
            pass

        try:
            dbtag = TagWrapper.rename_tag(session, g.user.platformid,
                                          current_name, new_name)
        except DBTagNotFound:
            raise TagNotFound()
        tag = Tag.create_from_dbtag(dbtag)
        return tag