2021-05-22 04:59:51 +00:00
|
|
|
#![cfg_attr(feature = "nightly", feature(custom_test_frameworks))]
|
|
|
|
#![cfg_attr(feature = "nightly", test_runner(my_runner))]
|
|
|
|
|
|
|
|
mod async_tests;
|
|
|
|
mod testutils;
|
|
|
|
use colored::*;
|
|
|
|
use riven::consts::*;
|
2023-10-18 05:57:10 +00:00
|
|
|
use riven::models::tournament_stub_v5::*;
|
2024-01-21 03:41:46 +00:00
|
|
|
use testutils::*;
|
2021-05-22 04:59:51 +00:00
|
|
|
|
|
|
|
const ROUTE: RegionalRoute = RegionalRoute::AMERICAS;
|
|
|
|
|
2021-12-29 17:35:09 +00:00
|
|
|
static MATCHES: &[&str] = &[
|
2022-04-04 18:56:37 +00:00
|
|
|
"NA1_4265913704", // `match-v5.ParticipantDto.challenges.mejaisFullStackInTime`
|
2024-02-16 23:57:44 +00:00
|
|
|
"NA1_4924008147",
|
2021-11-10 03:07:31 +00:00
|
|
|
];
|
2021-09-28 02:38:20 +00:00
|
|
|
|
2023-05-10 18:20:15 +00:00
|
|
|
async_tests! {
|
2021-05-22 04:59:51 +00:00
|
|
|
my_runner {
|
2023-11-15 18:46:27 +00:00
|
|
|
// Account-v1
|
|
|
|
account_v1_getbyriotid_getbypuuid: async {
|
|
|
|
// Game name is case and whitespace insensitive.
|
|
|
|
// But tag cannot have spaces. (Is it case sensitive?).
|
|
|
|
let account_tag = RIOT_API.account_v1().get_by_riot_id(ROUTE, "Lug nuts K", "000")
|
|
|
|
.await
|
|
|
|
.map_err(|e| format!("Failed to get account by riot ID: {}", e))?
|
|
|
|
.ok_or("Riot account not found!".to_owned())?;
|
|
|
|
|
|
|
|
let account_puuid = RIOT_API.account_v1().get_by_puuid(ROUTE, &account_tag.puuid)
|
|
|
|
.await
|
|
|
|
.map_err(|e| format!("Failed to get account by PUUID: {}", e))?;
|
|
|
|
|
|
|
|
let _ = account_puuid;
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
},
|
|
|
|
|
2024-01-21 03:14:19 +00:00
|
|
|
// Tournament stub test.
|
2023-10-18 05:57:10 +00:00
|
|
|
tournamentstub: async {
|
2024-01-21 03:14:19 +00:00
|
|
|
let ts = RIOT_API.tournament_stub_v5();
|
|
|
|
let provider_id = ts.register_provider_data(ROUTE, &ProviderRegistrationParametersV5 {
|
2023-10-18 05:57:10 +00:00
|
|
|
region: PlatformRoute::NA1.as_region_str().to_owned(),
|
|
|
|
url: "https://github.com/MingweiSamuel/Riven".to_owned(),
|
|
|
|
})
|
|
|
|
.await
|
|
|
|
.map_err(|e| e.to_string())?;
|
2021-05-22 04:59:51 +00:00
|
|
|
|
2023-10-18 05:57:10 +00:00
|
|
|
println!("provider_id: {}", provider_id);
|
2021-05-22 04:59:51 +00:00
|
|
|
|
2024-01-21 03:14:19 +00:00
|
|
|
let tournament_id = ts.register_tournament(ROUTE, &TournamentRegistrationParametersV5 {
|
2023-10-18 05:57:10 +00:00
|
|
|
name: Some("Riven Tourney :)".to_owned()),
|
|
|
|
provider_id,
|
|
|
|
})
|
|
|
|
.await
|
|
|
|
.map_err(|e| e.to_string())?;
|
2021-05-22 04:59:51 +00:00
|
|
|
|
2023-10-18 05:57:10 +00:00
|
|
|
println!("tournament_id: {}", tournament_id);
|
2021-05-22 04:59:51 +00:00
|
|
|
|
2024-01-21 03:14:19 +00:00
|
|
|
let codes_result = ts.create_tournament_code(ROUTE, &TournamentCodeParametersV5 {
|
2023-10-18 05:57:10 +00:00
|
|
|
map_type: "SUMMONERS_RIFT".to_owned(),
|
|
|
|
metadata: Some("eW91IGZvdW5kIHRoZSBzZWNyZXQgbWVzc2FnZQ==".to_owned()),
|
|
|
|
pick_type: "TOURNAMENT_DRAFT".to_owned(),
|
|
|
|
spectator_type: "ALL".to_owned(),
|
|
|
|
team_size: 5,
|
|
|
|
allowed_participants: None,
|
|
|
|
enough_players: false,
|
|
|
|
}, tournament_id as i64, Some(300))
|
|
|
|
.await;
|
2021-05-22 04:59:51 +00:00
|
|
|
|
2023-10-18 05:57:10 +00:00
|
|
|
match codes_result {
|
|
|
|
Ok(codes) => {
|
|
|
|
rassert_eq!(300, codes.len());
|
|
|
|
println!("codes: {}", codes.join(", "));
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
Err(mut e) => {
|
|
|
|
if let Some(response) = e.take_response() {
|
|
|
|
eprintln!("{:?}", response.text().await);
|
|
|
|
}
|
|
|
|
Err(e.to_string())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2021-09-28 02:38:20 +00:00
|
|
|
|
|
|
|
match_v5_get: async {
|
2021-12-29 17:35:09 +00:00
|
|
|
match_v5_get(ROUTE, MATCHES).await
|
2021-09-28 02:38:20 +00:00
|
|
|
},
|
|
|
|
match_v5_get_timeline: async {
|
2021-12-29 17:35:09 +00:00
|
|
|
match_v5_get_timeline(ROUTE, MATCHES).await
|
2021-09-28 02:38:20 +00:00
|
|
|
},
|
2021-05-22 04:59:51 +00:00
|
|
|
}
|
|
|
|
}
|