async def auth_mgr(event_loop): mgr = AuthenticationManager( ClientSession(loop=event_loop), "abc", "123", "http://localhost" ) mgr.oauth = OAuth2TokenResponse.parse_raw(get_response("auth_oauth2_token")) mgr.user_token = XAUResponse.parse_raw(get_response("auth_user_token")) mgr.xsts_token = XSTSResponse.parse_raw(get_response("auth_xsts_token")) return mgr
async def auth_mgr(event_loop): session = ClientSession(loop=event_loop) mgr = AuthenticationManager(session, "abc", "123", "http://localhost") mgr.oauth = OAuth2TokenResponse.parse_raw(get_response("auth_oauth2_token")) mgr.user_token = XAUResponse.parse_raw(get_response("auth_user_token")) mgr.xsts_token = XSTSResponse.parse_raw(get_response("auth_xsts_token")) yield mgr await session.close()
async def test_request_tokens(aresponses, auth_mgr): aresponses.add("login.live.com", response=get_response("auth_oauth2_token")) aresponses.add( "user.auth.xboxlive.com", "/user/authenticate", response=get_response("auth_user_token"), ) aresponses.add( "xsts.auth.xboxlive.com", "/xsts/authorize", response=get_response("auth_xsts_token"), ) await auth_mgr.request_tokens("CODE") aresponses.assert_plan_strictly_followed()
async def test_presence(aresponses, xbl_client): aresponses.add("userpresence.xboxlive.com", response=get_response("presence")) ret = await xbl_client.presence.get_presence("2669321029139235") await xbl_client._auth_mgr.session.close() aresponses.assert_plan_strictly_followed()
async def test_get_inbox(aresponses, xbl_client): aresponses.add("xblmessaging.xboxlive.com", response=get_response("message_get_inbox")) ret = await xbl_client.message.get_inbox() await xbl_client._auth_mgr.session.close() aresponses.assert_plan_strictly_followed()
def _get_response(self, request): response = get_response(URL, request) response_data = response.read() response_doc = etree.fromstring(response_data) return response_doc
async def test_list_delete(aresponses, xbl_client): aresponses.add( "eplists.xboxlive.com", method_pattern="DELETE", response=get_response("list_delete_item"), ) post_body = { "Items": [{ "Locale": "en-US", "ContentType": "DDurable", "Title": "Destiny 2: Shadowkeep + Season", "ItemId": "361f6d1c-7d72-4b95-8481-92fdf167363f", "DeviceType": "XboxOne", "ImageUrl": r"https:\/\/store-images.s-microsoft.com\/image\/apps.47381.13678370117067710.1218a7fe-a12c-4b72-ab48-1609d37bb31e.08ee0643-ed52-4e52-9e24-1d944888baf7", }] } ret = await xbl_client.lists.remove_items(xbl_client.xuid, post_body) await xbl_client._auth_mgr.session.close() assert ret.list_count == 7 aresponses.assert_plan_strictly_followed()
def _get_response(self, request): response = get_response(URL, request) response_data = response.read() response_doc = etree.fromstring(response_data) return response_doc
def setUp(self): self.schema_url = 'http://schemas.opengis.net/wps/1.0.0/wpsExecute_response.xsd' self.url = URL resp = get_response( 'http://localhost:5000/static/requests/execute_buffer_post.xml') self.request_data = resp.read()
async def test_product_search(aresponses, xbl_client): aresponses.add("displaycatalog.mp.microsoft.com", response=get_response("catalog_search")) ret = await xbl_client.catalog.product_search("dest") await xbl_client._auth_mgr.session.close() assert ret.total_result_count == 10 aresponses.assert_plan_strictly_followed()
async def test_people_summary_by_gamertag(aresponses, xbl_client): aresponses.add( "social.xboxlive.com", response=get_response("people_summary_by_gamertag") ) ret = await xbl_client.people.get_friends_summary_by_gamertag("e") await xbl_client._auth_mgr.session.close() aresponses.assert_plan_strictly_followed()
def setUp(self): self.schema_url = 'http://schemas.opengis.net/'\ 'wps/1.0.0/wpsExecute_response.xsd' self.url = URL resp = get_response('http://localhost:5000/static/'\ 'requests/execute_warp_post.xml') self.request_data = resp.read()
async def test_get_new_conversation(aresponses, xbl_client): aresponses.add("xblmessaging.xboxlive.com", response=get_response("message_new_conversation")) ret = await xbl_client.message.get_conversation( "05907fa3-0000-0009-acbd-299772a90900") await xbl_client._auth_mgr.session.close() aresponses.assert_plan_strictly_followed()
async def test_refresh_tokens_user_still_valid(aresponses, auth_mgr): # Expire Tokens expired = datetime.now(timezone.utc) - timedelta(days=10) auth_mgr.oauth.issued = expired auth_mgr.xsts_token.not_after = expired auth_mgr.user_token.not_after = datetime.now( timezone.utc) + timedelta(days=1) aresponses.add("login.live.com", response=get_response("auth_oauth2_token")) aresponses.add( "xsts.auth.xboxlive.com", "/xsts/authorize", response=get_response("auth_xsts_token"), ) await auth_mgr.refresh_tokens() aresponses.assert_plan_strictly_followed()
async def test_profile_by_xuid(aresponses, xbl_client): aresponses.add("profile.xboxlive.com", response=get_response("profile_by_xuid")) ret = await xbl_client.profile.get_profile_by_xuid("2669321029139235") await xbl_client._auth_mgr.session.close() assert len(ret.profile_users) == 1 aresponses.assert_plan_strictly_followed()
async def test_titlehub_titlehistory(aresponses, xbl_client): aresponses.add("titlehub.xboxlive.com", response=get_response("titlehub_titlehistory")) ret = await xbl_client.titlehub.get_title_history(987654321) await xbl_client._auth_mgr.session.close() assert len(ret.titles) == 5 aresponses.assert_plan_strictly_followed()
async def test_get_products(aresponses, xbl_client): aresponses.add("displaycatalog.mp.microsoft.com", response=get_response("catalog_browse")) ret = await xbl_client.catalog.get_products( ["C5DTJ99626K3", "BT5P2X999VH2"]) await xbl_client._auth_mgr.session.close() assert len(ret.products) == 2 aresponses.assert_plan_strictly_followed()
async def test_gameclips_recent_xuid(aresponses, xbl_client): aresponses.add("gameclipsmetadata.xboxlive.com", response=get_response("gameclips_recent_xuid")) ret = await xbl_client.gameclips.get_recent_clips_by_xuid( "2669321029139235", skip_items=0, max_items=25) await xbl_client._auth_mgr.session.close() assert len(ret.game_clips) == 25 aresponses.assert_plan_strictly_followed()
async def test_gameclips_saved_own(aresponses, xbl_client): aresponses.add("gameclipsmetadata.xboxlive.com", response=get_response("gameclips_saved_own")) ret = await xbl_client.gameclips.get_saved_own_clips(skip_items=0, max_items=25) await xbl_client._auth_mgr.session.close() assert len(ret.game_clips) == 25 aresponses.assert_plan_strictly_followed()
async def test_titlehub_titleinfo(aresponses, xbl_client): aresponses.add("titlehub.xboxlive.com", response=get_response("titlehub_titleinfo")) ret = await xbl_client.titlehub.get_title_info(1717113201) await xbl_client._auth_mgr.session.close() assert len(ret.titles) == 1 aresponses.assert_plan_strictly_followed()
async def test_people_friends_own(aresponses, xbl_client): aresponses.add( "peoplehub.xboxlive.com", response=get_response("people_friends_own") ) ret = await xbl_client.people.get_friends_own() await xbl_client._auth_mgr.session.close() assert len(ret.people) == 2 aresponses.assert_plan_strictly_followed()
async def test_presence_batch(aresponses, xbl_client): aresponses.add("userpresence.xboxlive.com", response=get_response("presence_batch")) ret = await xbl_client.presence.get_presence_batch( ["2669321029139235", "2584878536129841"]) await xbl_client._auth_mgr.session.close() assert len(ret) == 2 aresponses.assert_plan_strictly_followed()
async def test_people_recommendations(aresponses, xbl_client): aresponses.add( "peoplehub.xboxlive.com", response=get_response("people_recommendations") ) ret = await xbl_client.people.get_friend_recommendations() await xbl_client._auth_mgr.session.close() assert ret.recommendation_summary.friend_of_friend == 20 aresponses.assert_plan_strictly_followed()
async def test_channel_list_download(aresponses, xbl_client): aresponses.add("cqs.xboxlive.com", response=get_response("cqs_get_channel_list")) ret = await xbl_client.cqs.get_channel_list( locale_info="de-DE", headend_id="dbd2530a-fcd5-8ff0-b89d-20cd7e021502") await xbl_client._auth_mgr.session.close() assert len(ret.channels) == 8 aresponses.assert_plan_strictly_followed()
async def test_achievement_360_earned(aresponses, xbl_client): aresponses.add("achievements.xboxlive.com", response=get_response("achievements_360_earned")) ret = await xbl_client.achievements.get_achievements_xbox360_earned( "2669321029139235", 1297290392) await xbl_client._auth_mgr.session.close() assert len(ret.achievements) == 1 aresponses.assert_plan_strictly_followed()
async def test_profile_by_xuid(aresponses, xbl_client): aresponses.add( "usersearch.xboxlive.com", response=get_response("usersearch_live_search") ) ret = await xbl_client.usersearch.get_live_search("tux") await xbl_client._auth_mgr.session.close() assert len(ret.results) == 8 aresponses.assert_plan_strictly_followed()
async def test_achievement_360_all(aresponses, xbl_client): aresponses.add("achievements.xboxlive.com", response=get_response("achievements_360_all")) ret = await xbl_client.achievements.get_achievements_xbox360_all( "2669321029139235", 1297290392) await xbl_client._auth_mgr.session.close() assert ret.paging_info.total_records == 15 aresponses.assert_plan_strictly_followed()
async def test_get_op_status(aresponses, xbl_client): aresponses.add("xccs.xboxlive.com", "/opStatus", response=get_response("smartglass_op_status")) ret = await xbl_client.smartglass.get_op_status( "ABCDEFG", "35bd7870-fad4-4e98-a354-d027bd840116") await xbl_client._auth_mgr.session.close() assert ret.status.error_code == "OK" aresponses.assert_plan_strictly_followed()
async def test_userstats_by_scid(aresponses, xbl_client): aresponses.add("userstats.xboxlive.com", response=get_response("userstats_by_scid")) ret = await xbl_client.userstats.get_stats( "2669321029139235", "1370999b-fca2-4c53-8ec5-73493bcb67e5" ) await xbl_client._auth_mgr.session.close() assert len(ret.statlistscollection) == 1 aresponses.assert_plan_strictly_followed()
async def test_userstats_batch(aresponses, xbl_client): aresponses.add("userstats.xboxlive.com", response=get_response("userstats_batch")) ret = await xbl_client.userstats.get_stats_batch(["2584878536129841"], "1717113201") await xbl_client._auth_mgr.session.close() assert len(ret.statlistscollection) == 1 assert len(ret.groups) == 1 assert len(ret.groups[0].statlistscollection) > 0 aresponses.assert_plan_strictly_followed()
async def test_profiles_batch(aresponses, xbl_client): aresponses.add("peoplehub.xboxlive.com", response=get_response("people_batch")) ret = await xbl_client.people.get_friends_own_batch( ["271958441785640", "277923030577271", "266932102913935"] ) await xbl_client._auth_mgr.session.close() assert len(ret.people) == 3 aresponses.assert_plan_strictly_followed()
async def test_get_list(aresponses, xbl_client): aresponses.add( "eplists.xboxlive.com", method_pattern="GET", response=get_response("lists_get_items"), ) ret = await xbl_client.lists.get_items(xbl_client.xuid) await xbl_client._auth_mgr.session.close() assert ret.list_metadata.list_count == 3 aresponses.assert_plan_strictly_followed()
def _get_request(self, url): request = get_response(url) request_data = request.read() return request_data