v0.2.11-pre.006
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-offchain-transport-lib/tests/dependency_boundary.rs
|
||||
// version: 6
|
||||
// version: 7
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -68,3 +68,22 @@ fn pre_005_provider_modules_are_market_price_scoped_and_fixed_origin() {
|
||||
assert!(!coinpaprika.contains("std::env"));
|
||||
assert!(!kraken.contains("std::env"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_006_jupiter_and_dexscreener_stay_market_price_scoped_fixed_origin_and_discovery_free() {
|
||||
let crate_root = include_str!("../src/lib.rs");
|
||||
assert!(crate_root.contains("mod market_price_dexscreener;"));
|
||||
assert!(crate_root.contains("mod market_price_jupiter;"));
|
||||
let dexscreener = include_str!("../src/market_price_dexscreener.rs");
|
||||
let jupiter = include_str!("../src/market_price_jupiter.rs");
|
||||
assert!(dexscreener.contains("https://api.dexscreener.com/latest/dex/pairs/solana"));
|
||||
assert!(dexscreener.contains("Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE") || dexscreener.contains("pair_address"));
|
||||
assert!(!dexscreener.contains("latest/dex/search"));
|
||||
assert!(!dexscreener.contains("token-pairs/v1"));
|
||||
assert!(!dexscreener.contains("tokens/v1"));
|
||||
assert!(jupiter.contains("https://api.jup.ag/price/v3"));
|
||||
assert!(jupiter.contains("So11111111111111111111111111111111111111112"));
|
||||
assert!(!jupiter.contains("/quote"));
|
||||
assert!(!dexscreener.contains("std::env"));
|
||||
assert!(!jupiter.contains("std::env"));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-offchain-transport-lib/tests/public_api.rs
|
||||
// version: 6
|
||||
// version: 7
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -122,6 +122,31 @@ fn public_pre_005_exchange_settings_and_adapters_are_available_from_crate_root()
|
||||
return std::result::Result::Ok(());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn public_pre_006_jupiter_and_dexscreener_settings_and_adapters_are_available_from_crate_root() -> ksp_core_lib::Result<()> {
|
||||
let jupiter = match ksp_offchain_transport_lib::MarketPriceJupiterSettings::keyless(false) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
let jupiter_provider = match ksp_offchain_transport_lib::MarketPriceJupiterProvider::new(jupiter) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert_eq!(jupiter_provider.descriptor().id().as_str(), "jupiter");
|
||||
assert_eq!(jupiter_provider.descriptor().semantics(), ksp_offchain_transport_lib::MarketPriceSemantics::SolanaHeuristic);
|
||||
let dexscreener = match ksp_offchain_transport_lib::MarketPriceDexScreenerSettings::new(false, "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE") {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
let dexscreener_provider = match ksp_offchain_transport_lib::MarketPriceDexScreenerProvider::new(dexscreener) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert_eq!(dexscreener_provider.descriptor().id().as_str(), "dexscreener");
|
||||
assert_eq!(dexscreener_provider.descriptor().semantics(), ksp_offchain_transport_lib::MarketPriceSemantics::DexPairUsd);
|
||||
return std::result::Result::Ok(());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn offchain_error_codes_use_owned_domain() {
|
||||
let codes = [
|
||||
|
||||
Reference in New Issue
Block a user