def test_get_streams_metadata_raises_attribute_exception_for_invalid_params(param, value): responses.add(responses.GET, '{}streams/metadata'.format(BASE_HELIX_URL), body=json.dumps(example_get_streams_metadata_response), status=200, content_type='application/json') client = TwitchHelix('client id') kwargs = {param: value} with pytest.raises(TwitchAttributeException): client.get_streams_metadata(**kwargs) assert len(responses.calls) == 0
def test_get_streams_metadata_next_returns_stream_metadata_object(): responses.add( responses.GET, "{}streams/metadata".format(BASE_HELIX_URL), body=json.dumps(example_get_streams_metadata_response), status=200, content_type="application/json", ) client = TwitchHelix("client id") streams_metadata = client.get_streams_metadata() metadata = streams_metadata.next() assert len(responses.calls) == 1 assert isinstance(streams_metadata, APICursor) assert ( streams_metadata._cursor == example_get_streams_metadata_response["pagination"]["cursor"] ) assert isinstance(metadata, StreamMetadata) assert ( metadata.user_id == example_get_streams_metadata_response["data"][0]["user_id"] ) assert ( metadata.game_id == example_get_streams_metadata_response["data"][0]["game_id"] )
def test_get_streams_metadata_returns_api_cursor(): responses.add(responses.GET, '{}streams/metadata'.format(BASE_HELIX_URL), body=json.dumps(example_get_streams_metadata_response), status=200, content_type='application/json') client = TwitchHelix('client id') streams_metadata = client.get_streams_metadata() assert len(responses.calls) == 1 assert isinstance(streams_metadata, APICursor)
def test_get_streams_metadata_next_returns_stream_metadata_object(): responses.add(responses.GET, '{}streams/metadata'.format(BASE_HELIX_URL), body=json.dumps(example_get_streams_metadata_response), status=200, content_type='application/json') client = TwitchHelix('client id') streams_metadata = client.get_streams_metadata() metadata = streams_metadata.next() assert len(responses.calls) == 1 assert isinstance(streams_metadata, APICursor) assert streams_metadata._cursor == example_get_streams_metadata_response['pagination']['cursor'] assert isinstance(metadata, StreamMetadata) assert metadata.user_id == example_get_streams_metadata_response['data'][0]['user_id'] assert metadata.game_id == example_get_streams_metadata_response['data'][0]['game_id']
def test_get_streams_metadata_passes_all_params_to_request(): responses.add( responses.GET, "{}streams/metadata".format(BASE_HELIX_URL), body=json.dumps(example_get_streams_metadata_response), status=200, content_type="application/json", ) client = TwitchHelix("client id") streams_metadata = client.get_streams_metadata( after="eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MjB9fQ==", before="eyJiIjp7Ik9mZnNldCI6MH0sImEiOnsiT2Zmc2V0Ijo0MH19==", community_ids=[ "848d95be-90b3-44a5-b143-6e373754c382", "fd0eab99-832a-4d7e-8cc0-04d73deb2e54", ], page_size=100, game_ids=["417752", "29307"], languages=["en"], user_ids=["23161357"], user_logins=["lirik"], ) metadata = streams_metadata.next() assert len(responses.calls) == 1 assert isinstance(streams_metadata, APICursor) assert isinstance(metadata, StreamMetadata) url = responses.calls[0].request.url assert url.startswith("https://api.twitch.tv/helix/streams/metadata?") assert "after=eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MjB9fQ%3D%3D" in url assert "before=eyJiIjp7Ik9mZnNldCI6MH0sImEiOnsiT2Zmc2V0Ijo0MH19%3D%3D" in url assert "community_id=848d95be-90b3-44a5-b143-6e373754c382" in url assert "community_id=fd0eab99-832a-4d7e-8cc0-04d73deb2e54" in url assert "first=100" in url assert "game_id=417752" in url assert "game_id=29307" in url assert "language=en" in url assert "user_id=23161357" in url assert "user_login=lirik" in url
def test_get_streams_metadata_passes_all_params_to_request(): responses.add(responses.GET, '{}streams/metadata'.format(BASE_HELIX_URL), body=json.dumps(example_get_streams_metadata_response), status=200, content_type='application/json') client = TwitchHelix('client id') streams_metadata = client.get_streams_metadata( after='eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MjB9fQ==', before='eyJiIjp7Ik9mZnNldCI6MH0sImEiOnsiT2Zmc2V0Ijo0MH19==', community_ids=[ '848d95be-90b3-44a5-b143-6e373754c382', 'fd0eab99-832a-4d7e-8cc0-04d73deb2e54' ], page_size=100, game_ids=['417752', '29307'], languages=['en'], user_ids=['23161357'], user_logins=['lirik'] ) metadata = streams_metadata.next() assert len(responses.calls) == 1 assert isinstance(streams_metadata, APICursor) assert isinstance(metadata, StreamMetadata) url = responses.calls[0].request.url assert url.startswith('https://api.twitch.tv/helix/streams/metadata?') assert 'after=eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MjB9fQ%3D%3D' in url assert 'before=eyJiIjp7Ik9mZnNldCI6MH0sImEiOnsiT2Zmc2V0Ijo0MH19%3D%3D' in url assert 'community_id=848d95be-90b3-44a5-b143-6e373754c382' in url assert 'community_id=fd0eab99-832a-4d7e-8cc0-04d73deb2e54' in url assert 'first=100' in url assert 'game_id=417752' in url assert 'game_id=29307' in url assert 'language=en' in url assert 'user_id=23161357' in url assert 'user_login=lirik' in url
#print(channel.display_name) client = TwitchHelix(client_id='x2nlpgpmb4nn6m1o1vby49mif3qeqy') streams_iterator = client.get_streams(page_size=100) for stream in islice(streams_iterator, 0, 5): print(stream) client = TwitchClient(client_id='x2nlpgpmb4nn6m1o1vby49mif3qeqy') users = client.users.translate_usernames_to_ids(['vektv', 'jukes','officialf0xey']) for user in users: print('{}: {}'.format(user.name, user.id)) client = TwitchHelix(client_id='x2nlpgpmb4nn6m1o1vby49mif3qeqy') streams_iterator = client.get_streams_metadata(page_size=100,user_ids=[77208443]) for stream in islice(streams_iterator, 0, 5): print(stream) client = TwitchHelix(client_id='x2nlpgpmb4nn6m1o1vby49mif3qeqy') games_iterator = client.get_top_games(page_size=100) for game in islice(games_iterator, 0, 10): print(game) print("\n") client = TwitchHelix(client_id='x2nlpgpmb4nn6m1o1vby49mif3qeqy') #games_iterator = client.get_games(game_ids=['509658'])#names=['Counter-Strike: Global Offensive']) games_iterator = client.get_games(names=["Counter-Strike: Global Offensive","FIFA 19","NHL 19"]) for game in islice(games_iterator, 0, 10): print(game)
def streams_metadata(): client = TwitchHelix() streams_metadata_iterator = client.get_streams_metadata() for metadata in islice(streams_metadata_iterator, 0, 10): print(metadata)