def create(name: str, session=None, player_id=None, private_key=None) -> 'Tag': """ Creates a new instance of Tag, add one to the db if it does not exist. :param name: Tag name :param session: Database session :param player_id :param private_key :return: """ # Check if tag exists try: dbtag = TagWrapper.get_tag_by_name( session, get_current_user_id(player_id=player_id), name) tag = Tag.create_from_dbtag(dbtag) return tag except DBTagNotFound: pass dbtag = TagWrapper.create_tag(session, get_current_user_id(player_id=player_id), name, private_key=private_key) tag = Tag.create_from_dbtag(dbtag) return tag
def create(name: str, session=None) -> 'Tag': # Check if tag exists try: dbtag = TagWrapper.get_tag(session, g.user.platformid, name) tag = Tag.create_from_dbtag(dbtag) return tag except DBTagNotFound: pass dbtag = TagWrapper.create_tag(session, g.user.platformid, name) tag = Tag.create_from_dbtag(dbtag) return tag
def test_create_tag_tag_already_exists(self): TagWrapper.create_tag(self.session, self.test_user_id, self.tag_name) with self.assertRaises(IntegrityError): TagWrapper.create_tag(self.session, self.test_user_id, self.tag_name)
def test_create_tag_success(self): TagWrapper.create_tag(self.session, self.test_user_id, self.tag_name) tag = self.session.query(Tag).filter(Tag.owner == self.test_user_id, Tag.name == self.tag_name).first() self.assertIsNotNone(tag)