From d8b04b5c868fa46ac850c4984e2db10ece598d10 Mon Sep 17 00:00:00 2001 From: Mingwei Samuel Date: Wed, 10 Apr 2024 15:26:17 -0700 Subject: [PATCH] test: update tests and documentation for removal of summoner names --- README.md | 19 ++++++++++----- riven/src/lib.rs | 19 ++++++++++----- riven/tests/tests_asia_jp.rs | 2 +- riven/tests/tests_euw_tft.rs | 5 +--- riven/tests/tests_na.rs | 11 +++------ .../tests/{tests_tr.rs => tests_tr_europe.rs} | 23 ++++++++++++++---- riven/tests/testutils.rs | 24 ++++++++++--------- 7 files changed, 62 insertions(+), 41 deletions(-) rename riven/tests/{tests_tr.rs => tests_tr_europe.rs} (64%) diff --git a/README.md b/README.md index 8968dd9..18a52e0 100644 --- a/README.md +++ b/README.md @@ -35,18 +35,25 @@ rt.block_on(async { let api_key = std::env!("RGAPI_KEY"); // "RGAPI-01234567-89ab-cdef-0123-456789abcdef"; let riot_api = RiotApi::new(api_key); - // Get summoner data. - let summoner = riot_api.summoner_v4() - .get_by_summoner_name(PlatformRoute::NA1, "잘 못").await + // The region. + let platform = PlatformRoute::NA1; + + // Get account data. + let account = riot_api.account_v1() + .get_by_riot_id(platform.to_regional(), "잘 못", "NA1").await .expect("Get summoner failed.") .expect("There is no summoner with that name."); - // Print summoner name. - println!("{} Champion Masteries:", summoner.name); + // Print account name#tag. + println!( + "{}#{} Champion Masteries:", + account.game_name.unwrap_or_default(), + account.tag_line.unwrap_or_default(), + ); // Get champion mastery data. let masteries = riot_api.champion_mastery_v4() - .get_all_champion_masteries_by_puuid(PlatformRoute::NA1, &summoner.puuid).await + .get_all_champion_masteries_by_puuid(platform, &account.puuid).await .expect("Get champion masteries failed."); // Print champion masteries. diff --git a/riven/src/lib.rs b/riven/src/lib.rs index 883662a..355b9d3 100644 --- a/riven/src/lib.rs +++ b/riven/src/lib.rs @@ -47,18 +47,25 @@ //! let api_key = std::env!("RGAPI_KEY"); // "RGAPI-01234567-89ab-cdef-0123-456789abcdef"; //! let riot_api = RiotApi::new(api_key); //! -//! // Get summoner data. -//! let summoner = riot_api.summoner_v4() -//! .get_by_summoner_name(PlatformRoute::NA1, "잘 못").await +//! // The region. +//! let platform = PlatformRoute::NA1; +//! +//! // Get account data. +//! let account = riot_api.account_v1() +//! .get_by_riot_id(platform.to_regional(), "잘 못", "NA1").await //! .expect("Get summoner failed.") //! .expect("There is no summoner with that name."); //! -//! // Print summoner name. -//! println!("{} Champion Masteries:", summoner.name); +//! // Print account name#tag. +//! println!( +//! "{}#{} Champion Masteries:", +//! account.game_name.unwrap_or_default(), +//! account.tag_line.unwrap_or_default(), +//! ); //! //! // Get champion mastery data. //! let masteries = riot_api.champion_mastery_v4() -//! .get_all_champion_masteries_by_puuid(PlatformRoute::NA1, &summoner.puuid).await +//! .get_all_champion_masteries_by_puuid(platform, &account.puuid).await //! .expect("Get champion masteries failed."); //! //! // Print champion masteries. diff --git a/riven/tests/tests_asia_jp.rs b/riven/tests/tests_asia_jp.rs index 435aee9..a010798 100644 --- a/riven/tests/tests_asia_jp.rs +++ b/riven/tests/tests_asia_jp.rs @@ -30,7 +30,7 @@ async fn summoner_get_kanjikana() -> Result<(), String> { .await .map_err(|e| e.to_string())? .ok_or_else(|| "Failed to get myheadhard".to_owned())?; - rassert_eq!("私の頭がかたい", s.name); + rassert!(0 < s.puuid.len()); Ok(()) } diff --git a/riven/tests/tests_euw_tft.rs b/riven/tests/tests_euw_tft.rs index 2ca0330..3cc00c5 100644 --- a/riven/tests/tests_euw_tft.rs +++ b/riven/tests/tests_euw_tft.rs @@ -85,10 +85,7 @@ async fn tft_combo() -> Result<(), String> { .tft_summoner_v1() .get_by_summoner_id(ROUTE, &top_player_entry.summoner_id); let top_player = top_player.await.map_err(|e| e.to_string())?; - println!( - "Top player is {} with `puuid` {}.", - top_player.name, top_player.puuid - ); + println!("Top player has `puuid` {}.", top_player.puuid); let match_ids = riot_api().tft_match_v1().get_match_ids_by_puuid( ROUTE.to_regional(), &top_player.puuid, diff --git a/riven/tests/tests_na.rs b/riven/tests/tests_na.rs index a867bc7..9fb37a8 100644 --- a/riven/tests/tests_na.rs +++ b/riven/tests/tests_na.rs @@ -4,14 +4,9 @@ use riven::models::summoner_v4::*; use testutils::*; fn validate_summoners(s1: Summoner, s2: Summoner) -> Result<(), String> { - rassert_eq!(s1.name, s2.name, "Names didn't match {}.", ""); - rassert_eq!(s1.id, s2.id, "SummonerId didn't match {}.", ""); - rassert_eq!( - s1.account_id, - s2.account_id, - "AccountId didn't match {}.", - "" - ); + rassert_eq!(s1.puuid, s2.puuid, "PUUIDs didn't match."); + rassert_eq!(s1.id, s2.id, "Summoner IDs didn't match."); + rassert_eq!(s1.account_id, s2.account_id, "Account IDs didn't match."); Ok(()) } diff --git a/riven/tests/tests_tr.rs b/riven/tests/tests_tr_europe.rs similarity index 64% rename from riven/tests/tests_tr.rs rename to riven/tests/tests_tr_europe.rs index 2e6c289..e578663 100644 --- a/riven/tests/tests_tr.rs +++ b/riven/tests/tests_tr_europe.rs @@ -1,7 +1,7 @@ mod testutils; + use futures::future::join_all; use riven::consts::*; -use riven::models::summoner_v4::Summoner; use testutils::*; const ROUTE: PlatformRoute = PlatformRoute::TR1; @@ -19,16 +19,29 @@ async fn league_summoner_bulk_test() -> Result<(), String> { league_list.entries.len() ); - let summoner_vec = join_all(league_list.entries.iter().take(50).map(|entry| { - riot_api() + let summoner_vec = join_all(league_list.entries.iter().take(50).map(|entry| async move { + let summoner = riot_api() .summoner_v4() .get_by_summoner_id(ROUTE, &entry.summoner_id) + .await?; + let account = riot_api() + .account_v1() + .get_by_puuid(ROUTE.to_regional(), &summoner.puuid) + .await; + Ok(account) })) .await; for (i, s) in summoner_vec.into_iter().enumerate() { - let summoner: Summoner = s.map_err(|e| e.to_string())?; - println!("{}: {}", i + 1, summoner.name); + let account = s + .and_then(std::convert::identity) + .map_err(|e| e.to_string())?; + println!( + "{}: {}#{}", + i + 1, + account.game_name.unwrap_or_default(), + account.tag_line.unwrap_or_default(), + ); } Ok(()) diff --git a/riven/tests/testutils.rs b/riven/tests/testutils.rs index 9eeb1c2..92569d4 100644 --- a/riven/tests/testutils.rs +++ b/riven/tests/testutils.rs @@ -292,7 +292,9 @@ pub async fn match_v5_get_timeline( pub async fn spectator_v5_combo(route: PlatformRoute) -> Result<(), String> { let featured_p = riot_api().spectator_v5().get_featured_games(route); - let featured = featured_p.await.map_err(|e| e.to_string())?; + let featured = featured_p + .await + .map_err(|e| format!("Failed to fetch featured games: {}", e))?; if featured.game_list.is_empty() { eprintln!("Featured game list is empty!"); @@ -303,8 +305,8 @@ pub async fn spectator_v5_combo(route: PlatformRoute) -> Result<(), String> { let participant = &featured_game.participants[0]; let puuid = participant.puuid.as_ref().ok_or_else(|| { format!( - "Summoner in spectator featured game {} missing summoner ID: {}", - featured_game.game_id, &participant.summoner_name, + "Summoner in spectator featured game {} missing summoner ID. PUUID: {:?}", + featured_game.game_id, participant.puuid, ) })?; @@ -321,11 +323,11 @@ pub async fn spectator_v5_combo(route: PlatformRoute) -> Result<(), String> { let participant_match = livegame .participants .iter() - .find(|p| p.summoner_name == participant.summoner_name); + .find(|p| p.puuid == participant.puuid); rassert!( participant_match.is_some(), - "Failed to find summoner in match: {}.", - &participant.summoner_name + "Failed to find summoner in match with PUUID: {:?}.", + participant.puuid ); } Ok(()) @@ -344,8 +346,8 @@ pub async fn spectator_tft_v5_combo(route: PlatformRoute) -> Result<(), String> let participant = &featured_game.participants[0]; let puuid = participant.puuid.as_ref().ok_or_else(|| { format!( - "Summoner in spectator featured game {} missing summoner ID: {}", - featured_game.game_id, &participant.summoner_name, + "Summoner in spectator featured game {} missing summoner ID. PUUID: {:?}", + featured_game.game_id, participant.puuid, ) })?; @@ -362,11 +364,11 @@ pub async fn spectator_tft_v5_combo(route: PlatformRoute) -> Result<(), String> let participant_match = livegame .participants .iter() - .find(|p| p.summoner_name == participant.summoner_name); + .find(|p| p.puuid == participant.puuid); rassert!( participant_match.is_some(), - "Failed to find summoner in match: {}.", - &participant.summoner_name + "Failed to find summoner in match with PUUID: {:?}.", + participant.puuid ); } Ok(())