def test_get_tag_tag_not_found(self): 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.get_tag_by_name(self.session, self.test_user_id, self.tag_name)
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 rename(current_name: str, new_name: str, session=None) -> 'Tag': # Check if name already exists try: TagWrapper.get_tag_by_name(session, get_current_user_id(), new_name) raise TagError(409, f"Tag with name {new_name} already exists.") except DBTagNotFound: pass try: dbtag = TagWrapper.rename_tag(session, get_current_user_id(), current_name, new_name) except DBTagNotFound: raise TagNotFound() tag = Tag.create_from_dbtag(dbtag) return tag
def test_get_tag_success(self): tag = Tag(owner=self.test_user_id, name=self.tag_name) self.session.add(tag) self.session.commit() tag = TagWrapper.get_tag_by_name(self.session, self.test_user_id, self.tag_name) self.assertIsNotNone(tag)
def test_get_all_replays_with_tags_invalid_private_id(self, initialize_database_tags, test_client, mock_user): session = initialize_database_tags.get_session() tags = initialize_database_tags.get_tags() tag_id = TagWrapper.get_tag_by_name(session, mock_user.get_user().platformid, tags[0][0]).id invalid_private_id = JsonTag.encode_tag(tag_id, 'invalid_key') r = Request('GET', LOCAL_URL + '/api/replay', params={'limit': 200, 'page': 0, 'private_tag_keys': [invalid_private_id]}) response = test_client.send(r) assert(response.status_code == 400)
def get_tag(name: str, session=None) -> 'Tag': dbtag = TagWrapper.get_tag_by_name(session, get_current_user_id(), name) return Tag.create_from_dbtag(dbtag)