Skip to content

Commit

Permalink
refactor(autonomi): wasm test compile-time env variables
Browse files Browse the repository at this point in the history
  • Loading branch information
mickvandijke committed Oct 2, 2024
1 parent 3b298c1 commit 1d8d224
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
7 changes: 4 additions & 3 deletions autonomi/tests/wasm.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
use std::time::Duration;

use crate::common::{evm_network_from_env, evm_wallet_from_env_or_default};
use crate::common::evm_wallet_from_env_or_default;
use autonomi::Client;
use evmlib::utils::evm_network_from_env_compile_time;
use tokio::time::sleep;
use wasm_bindgen_test::*;

mod common;

wasm_bindgen_test_configure!(run_in_browser);

#[tokio::test]
#[allow(clippy::unwrap_used)]
#[wasm_bindgen_test]
async fn file() -> Result<(), Box<dyn std::error::Error>> {
common::enable_logging();
Expand All @@ -20,8 +21,8 @@ async fn file() -> Result<(), Box<dyn std::error::Error>> {
.expect("str to be valid multiaddr"),
];

let network = evm_network_from_env();
let mut client = Client::connect(&peers).await.unwrap();
let network = evm_network_from_env_compile_time();
let wallet = evm_wallet_from_env_or_default(network);

let data = common::gen_random_data(1024 * 1024 * 10);
Expand Down
25 changes: 24 additions & 1 deletion evmlib/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ use rand::Rng;
use std::env;
use std::env::VarError;

const ENV_RPC_URL: &str = "RPC_URL";
const ENV_PAYMENT_TOKEN_ADDRESS: &str = "PAYMENT_TOKEN_ADDRESS";
const ENV_CHUNK_PAYMENTS_ADDRESS: &str = "CHUNK_PAYMENTS_ADDRESS";

/// Generate a random Address.
pub fn dummy_address() -> Address {
Address::new(rand::rngs::OsRng.gen())
Expand All @@ -16,7 +20,11 @@ pub fn dummy_hash() -> Hash {

/// Get the `Network` from environment variables
pub fn evm_network_from_env() -> Result<Network, VarError> {
const EVM_VARS: [&str; 3] = ["RPC_URL", "PAYMENT_TOKEN_ADDRESS", "CHUNK_PAYMENTS_ADDRESS"];
const EVM_VARS: [&str; 3] = [
ENV_RPC_URL,
ENV_PAYMENT_TOKEN_ADDRESS,
ENV_CHUNK_PAYMENTS_ADDRESS,
];
let custom_vars_exist = EVM_VARS.iter().all(|var| env::var(var).is_ok());

if custom_vars_exist {
Expand All @@ -29,3 +37,18 @@ pub fn evm_network_from_env() -> Result<Network, VarError> {
Ok(Network::ArbitrumOne)
}
}

/// Get the EVM `Network` using env variables at compile time.
pub fn evm_network_from_env_compile_time() -> Network {
let rpc_url = option_env!("RPC_URL").expect("RPC_URL not set");
let payment_token_address =
option_env!("PAYMENT_TOKEN_ADDRESS").expect("PAYMENT_TOKEN_ADDRESS not set");
let chunk_payments_address =
option_env!("CHUNK_PAYMENTS_ADDRESS").expect("CHUNK_PAYMENTS_ADDRESS not set");

Network::Custom(CustomNetwork::new(
rpc_url,
payment_token_address,
chunk_payments_address,
))
}

0 comments on commit 1d8d224

Please sign in to comment.