Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions http/src/client/requester.rs
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ pub trait Requester<const AUTHENTICATED: bool, const FORCE: bool>: Sized + Sync
match either {
Some(Either::Left(mut rx)) => return rx.recv().await.map_err(Into::into),
Some(Either::Right(tx)) => break tx,
None => {
_none => {
if let Some(c) = self.try_get(&id).await {
return Ok(c);
}
Expand Down Expand Up @@ -232,7 +232,7 @@ pub trait Requester<const AUTHENTICATED: bool, const FORCE: bool>: Sized + Sync
txs.insert(id.clone(), tx);
break true;
}
None => {
_none => {
if let Some(c) =
check_cache::<T, I, T, Self, AUTHENTICATED, FORCE>(self, &id).await
{
Expand Down Expand Up @@ -539,7 +539,7 @@ async fn get_or_ids<
match either {
Some(Either::Left(mut rx)) => return rx.recv().await.map_err(Into::into),
Some(Either::Right(tx)) => break tx,
None => {
_none => {
if let Some(c) = check_cache::<K, str, T, Req, A, F>(req, "").await {
return Ok(c);
}
Expand Down
167 changes: 167 additions & 0 deletions http/tests/account_new.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
#![cfg(feature = "blocking")]

use gw2lib::{
model::authenticated::account::{
achievements::AccountAchievements,
dailycrafting::AccountDailyCrafting,
dungeons::AccountDungeons,
dyes::AccountDyes,
finishers::AccountFinishers,
gliders::AccountGliders,
home::{AccountHomeCats, AccountHomeNodes},
inventory::AccountInventory,
luck::AccountLuckVec,
mailcarriers::AccountMailCarriers,
mapchests::AccountMapChests,
masteries::{AccountMasteries, AccountMasteryPoints},
minis::AccountMinis,
mounts::{AccountMountSkins, AccountMountTypes},
outfits::AccountOutfits,
pvp::AccountPvpHeroes,
recipes::AccountRecipes,
skins::AccountSkins,
titles::AccountTitles,
worldbosses::AccountWorldBosses,
},
Requester,
};

pub mod setup;

#[test]
fn account_achievements() {
let client = setup::setup();
let _: AccountAchievements = client.get().unwrap();
}

#[test]
fn account_dailycrafting() {
let client = setup::setup();
let _: AccountDailyCrafting = client.get().unwrap();
}

#[test]
fn account_dungeons() {
let client = setup::setup();
let _: AccountDungeons = client.get().unwrap();
}

#[test]
fn account_dyes() {
let client = setup::setup();
let _: AccountDyes = client.get().unwrap();
}

#[test]
fn account_finishers() {
let client = setup::setup();
let _: AccountFinishers = client.get().unwrap();
}

#[test]
fn account_gliders() {
let client = setup::setup();
let _: AccountGliders = client.get().unwrap();
}

#[test]
fn account_home_cats() {
let client = setup::setup();
let _: AccountHomeCats = client.get().unwrap();
}

#[test]
fn account_home_nodes() {
let client = setup::setup();
let _: AccountHomeNodes = client.get().unwrap();
}

#[test]
fn account_inventory() {
let client = setup::setup();
let _: AccountInventory = client.get().unwrap();
}

#[test]
fn account_luck() {
let client = setup::setup();
let _: AccountLuckVec = client.get().unwrap();
}

#[test]
fn account_mailcarriers() {
let client = setup::setup();
let _: AccountMailCarriers = client.get().unwrap();
}

#[test]
fn account_mapchests() {
let client = setup::setup();
let _: AccountMapChests = client.get().unwrap();
}

#[test]
fn account_masteries() {
let client = setup::setup();
let _: AccountMasteries = client.get().unwrap();
}

#[test]
fn account_mastery_points() {
let client = setup::setup();
let _: AccountMasteryPoints = client.get().unwrap();
}

#[test]
fn account_minis() {
let client = setup::setup();
let _: AccountMinis = client.get().unwrap();
}

#[test]
fn account_mount_skins() {
let client = setup::setup();
let _: AccountMountSkins = client.get().unwrap();
}

#[test]
fn account_mount_types() {
let client = setup::setup();
let _: AccountMountTypes = client.get().unwrap();
}

#[test]
fn account_outfits() {
let client = setup::setup();
let _: AccountOutfits = client.get().unwrap();
}

#[test]
fn account_pvp_heroes() {
let client = setup::setup();
let _: AccountPvpHeroes = client.get().unwrap();
}

#[test]
fn account_recipes() {
let client = setup::setup();
let _: AccountRecipes = client.get().unwrap();
}

#[test]
fn account_skins() {
let client = setup::setup();
let _: AccountSkins = client.get().unwrap();
}

#[test]
fn account_titles() {
let client = setup::setup();
let _: AccountTitles = client.get().unwrap();
}

#[test]
fn account_worldbosses() {
let client = setup::setup();
let _: AccountWorldBosses = client.get().unwrap();
}
4 changes: 1 addition & 3 deletions http/tests/achievements.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
#![cfg(feature = "blocking")]

use gw2lib::{
model::achievements::{
categories::AchievementCategory, groups::AchievementGroup, Achievement,
},
model::achievements::{categories::AchievementCategory, groups::AchievementGroup, Achievement},
Requester,
};

Expand Down
56 changes: 56 additions & 0 deletions http/tests/authenticated_new.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#![cfg(feature = "blocking")]

use gw2lib::{
model::authenticated::{
characters::Character,
commerce::{CurrentBuyTransactions, HistoryBuyTransactions},
pvp::{PvpStandings, PvpStats},
},
Requester,
};

use crate::setup::character_name;

pub mod setup;

#[test]
fn heropoints() {
let client = setup::setup();
use gw2lib::model::authenticated::characters::Heropoints;
let _: Heropoints = client.single(character_name()).unwrap();
}

#[test]
fn sab() {
let client = setup::setup();
use gw2lib::model::authenticated::characters::Sab;
let char_ids: Vec<gw2lib::model::authenticated::characters::CharacterId> =
client.ids::<Character, _>().unwrap();
if let Some(name) = char_ids.first() {
let _: Sab = client.single(name.clone()).unwrap();
}
}

#[test]
fn pvp_stats() {
let client = setup::setup();
let _: PvpStats = client.get().unwrap();
}

#[test]
fn pvp_standings() {
let client = setup::setup();
let _: PvpStandings = client.get().unwrap();
}

#[test]
fn commerce_current_buys() {
let client = setup::setup();
let _: CurrentBuyTransactions = client.get().unwrap();
}

#[test]
fn commerce_history_buys() {
let client = setup::setup();
let _: HistoryBuyTransactions = client.get().unwrap();
}
31 changes: 31 additions & 0 deletions http/tests/daily_rewards.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#![cfg(feature = "blocking")]

use gw2lib::{
model::daily_rewards::{
dailycrafting::DailyCrafting, mapchests::MapChest, worldbosses::WorldBoss,
},
Requester,
};

pub mod setup;

#[test]
fn dailycrafting() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<DailyCrafting, _>().unwrap();
assert!(!ids.is_empty());
}

#[test]
fn mapchests() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<MapChest, _>().unwrap();
assert!(!ids.is_empty());
}

#[test]
fn worldbosses() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<WorldBoss, _>().unwrap();
assert!(!ids.is_empty());
}
93 changes: 93 additions & 0 deletions http/tests/game_mechanics.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#![cfg(feature = "blocking")]

use gw2lib::{
model::game_mechanics::{
legends::Legend,
masteries::Mastery,
mounts::{MountSkin, MountType},
outfits::Outfit,
pets::Pet,
professions::ProfessionInfo,
races::Race,
skills::Skill,
specializations::Specialization,
traits::Trait,
},
Requester,
};

pub mod setup;

#[test]
fn masteries() {
let client = setup::setup();
let ids: Vec<u32> = client.ids::<Mastery, _>().unwrap();
assert!(!ids.is_empty());
let _: Mastery = client.single(ids[0]).unwrap();
}

#[test]
fn mount_skins() {
let client = setup::setup();
let _: MountSkin = client.single(1u32).unwrap();
}

#[test]
fn mount_types() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<MountType, _>().unwrap();
assert!(!ids.is_empty());
}

#[test]
fn outfits() {
let client = setup::setup();
let _: Outfit = client.single(1u32).unwrap();
}

#[test]
fn pets() {
let client = setup::setup();
let _: Pet = client.single(1u16).unwrap();
}

#[test]
fn professions() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<ProfessionInfo, _>().unwrap();
assert!(!ids.is_empty());
let _: ProfessionInfo = client.single(ids[0].clone()).unwrap();
}

#[test]
fn races() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<Race, _>().unwrap();
assert!(!ids.is_empty());
}

#[test]
fn skills() {
let client = setup::setup();
let _: Skill = client.single(1110u32).unwrap();
}

#[test]
fn specializations() {
let client = setup::setup();
let _: Specialization = client.single(1u16).unwrap();
}

#[test]
fn traits() {
let client = setup::setup();
let _: Trait = client.single(214u16).unwrap();
}

#[test]
fn legends() {
let client = setup::setup();
let ids: Vec<String> = client.ids::<Legend, _>().unwrap();
assert!(!ids.is_empty());
let _: Legend = client.single(ids[0].clone()).unwrap();
}
Loading
Loading