This commit is contained in:
Roman Nozdrin
2024-02-02 11:33:33 +00:00
parent 18a480174b
commit 511584729a
31 changed files with 429 additions and 219 deletions

View File

@@ -25,7 +25,8 @@ use crate::{
use air_test_utils::{
key_utils::derive_dummy_keypair,
test_runner::{
create_avm_with_key, AirRunner, DefaultAirRunner, TestRunParameters, TestRunner,
create_avm_with_key, AirRunner, DefaultAirRunner, TestInitParameters, TestRunParameters,
TestRunner,
},
RawAVMOutcome,
};
@@ -86,10 +87,14 @@ pub struct Peer<R> {
}
impl<R: AirRunner> Peer<R> {
pub fn new(keypair: impl Into<KeyPair>, services: Rc<[MarineServiceHandle]>) -> Self {
pub fn new(
keypair: impl Into<KeyPair>,
services: Rc<[MarineServiceHandle]>,
test_init_parameters: TestInitParameters,
) -> Self {
let call_service = services_to_call_service_closure(services);
let runner = create_avm_with_key::<R>(keypair, call_service);
let runner = create_avm_with_key::<R>(keypair, call_service, test_init_parameters);
let peer_id = runner.runner.get_current_peer_id().into();
Self { peer_id, runner }
@@ -143,7 +148,8 @@ pub struct Network<R = DefaultAirRunner> {
// extencive test code changes
impl Network<DefaultAirRunner> {
pub fn empty() -> Rc<Self> {
Self::new(std::iter::empty::<PeerId>(), vec![])
let test_init_parameters = TestInitParameters::default();
Self::new(std::iter::empty::<PeerId>(), vec![], test_init_parameters)
}
}
@@ -151,6 +157,7 @@ impl<R: AirRunner> Network<R> {
pub fn new(
named_peers: impl Iterator<Item = impl Into<PeerId>>,
common_services: Vec<MarineServiceHandle>,
test_init_params: TestInitParameters,
) -> Rc<Self> {
let network = Rc::new(Self {
peers: Default::default(),
@@ -158,13 +165,13 @@ impl<R: AirRunner> Network<R> {
resolver: Default::default(),
});
for peer_name in named_peers {
network.ensure_named_peer(peer_name);
network.ensure_named_peer(peer_name, test_init_params.clone());
}
network
}
pub fn from_peers(nodes: Vec<Peer<R>>) -> Rc<Self> {
let network = Self::new(std::iter::empty::<PeerId>(), vec![]);
pub fn from_peers(nodes: Vec<Peer<R>>, test_init_params: TestInitParameters) -> Rc<Self> {
let network = Self::new(std::iter::empty::<PeerId>(), vec![], test_init_params);
let neighborhood: PeerSet = nodes.iter().map(|peer| peer.peer_id.clone()).collect();
for peer in nodes {
network.add_peer_env(peer, neighborhood.iter().cloned());
@@ -183,7 +190,11 @@ impl<R: AirRunner> Network<R> {
self.insert_peer_env_entry(peer_id, peer_env);
}
pub fn ensure_named_peer(self: &Rc<Self>, name: impl Into<PeerId>) -> PeerId {
pub fn ensure_named_peer(
self: &Rc<Self>,
name: impl Into<PeerId>,
test_init_params: TestInitParameters,
) -> PeerId {
use std::collections::hash_map::Entry;
let name = name.into();
@@ -192,7 +203,7 @@ impl<R: AirRunner> Network<R> {
Entry::Occupied(entry) => entry.get().clone(),
Entry::Vacant(empty) => {
let (keypair, _) = derive_dummy_keypair(&name);
let peer = Peer::new(keypair, self.services.get_services());
let peer = Peer::new(keypair, self.services.get_services(), test_init_params);
let peer_id = peer.get_peer_id().clone();
self.add_peer(peer);

View File

@@ -243,9 +243,13 @@ mod tests {
let (_other_pk1, other_id) = derive_dummy_keypair(other_name);
let peer_id = PeerId::from(peer_id);
let other_id = PeerId::from(other_id);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
assert!(penv.is_reachable(&peer_id));
assert!(!penv.is_reachable(&other_id));
}
@@ -258,9 +262,13 @@ mod tests {
let (_other_pk, other_id) = derive_dummy_keypair(other_name);
let peer_id = PeerId::from(peer_id);
let other_id = PeerId::from(other_id);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
{
let nei = penv.get_neighborhood_mut();
@@ -286,15 +294,19 @@ mod tests {
let (_other_pk2, other_id2) = derive_dummy_keypair(other_name2);
let other_id1 = PeerId::from(other_id1);
let other_id2 = PeerId::from(other_id2);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
// iter is empty
assert!(penv.iter().next().is_none());
network.ensure_named_peer(other_name1);
network.ensure_named_peer(other_name1);
network.ensure_named_peer(other_name2);
network.ensure_named_peer(other_name1, <_>::default());
network.ensure_named_peer(other_name1, <_>::default());
network.ensure_named_peer(other_name2, <_>::default());
let expected_neighborhood = PeerSet::from([other_id1, other_id2]);
assert_eq!(penv.iter().collect::<PeerSet>(), expected_neighborhood);
}
@@ -309,15 +321,19 @@ mod tests {
let (_other_pk2, other_id2) = derive_dummy_keypair(other_name2);
let other_id1 = PeerId::from(other_id1);
let other_id2 = PeerId::from(other_id2);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
// iter is empty
assert!(penv.iter().next().is_none());
network.ensure_named_peer(other_name1);
network.ensure_named_peer(other_name2);
network.ensure_named_peer(other_name1, <_>::default());
network.ensure_named_peer(other_name2, <_>::default());
let expected_neighborhood = PeerSet::from([other_id1, other_id2]);
assert_eq!(PeerSet::from_iter(penv.iter()), expected_neighborhood);
}
@@ -332,9 +348,13 @@ mod tests {
let (_other_pk2, other_id2) = derive_dummy_keypair(other_name2);
let other_id1 = PeerId::from(other_id1);
let other_id2 = PeerId::from(other_id2);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
// iter is empty
assert!(penv.iter().next().is_none());
@@ -353,9 +373,13 @@ mod tests {
let (peer_pk, _peer_id) = derive_dummy_keypair(peer_name);
let (_other_pk1, other_id1) = derive_dummy_keypair(other_name1);
let other_id1 = PeerId::from(other_id1);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
// iter is empty
assert!(penv.iter().next().is_none());
@@ -373,9 +397,13 @@ mod tests {
let peer_name = "peer";
let (peer_pk, _peer_id) = derive_dummy_keypair(peer_name);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
penv.get_neighborhood_mut()
.alter(PeerId::from("zero"), AlterState::Added);
penv.extend_neighborhood(IntoIterator::into_iter(["one", "two"]));
@@ -388,10 +416,14 @@ mod tests {
#[test]
fn test_remove_from_neiborhood() {
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let (peer_pk, _peer_id) = derive_dummy_keypair("someone");
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
penv.get_neighborhood_mut()
.alter(PeerId::from("zero"), AlterState::Added);
penv.extend_neighborhood(IntoIterator::into_iter(["one", "two"]));
@@ -411,8 +443,12 @@ mod tests {
let (peer_pk, _peer_id) = derive_dummy_keypair(peer_name);
let (_other_pk, other_id) = derive_dummy_keypair(other_name1);
let other_id = PeerId::from(other_id);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
let nei = penv.get_neighborhood_mut();
nei.alter(other_id.clone(), AlterState::Added);
@@ -430,9 +466,13 @@ mod tests {
let (peer_pk, _peer_id) = derive_dummy_keypair(peer_name);
let (_other_pk, other_id) = derive_dummy_keypair(other_name1);
let other_id = PeerId::from(other_id);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
let nei = penv.get_neighborhood_mut();
nei.alter(other_id.clone(), AlterState::Added);
@@ -455,8 +495,12 @@ mod tests {
let (peer_pk, _peer_id) = derive_dummy_keypair(peer_name);
let (_other_pk, other_id) = derive_dummy_keypair(other_name1);
let other_id = PeerId::from(other_id);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
let nei = penv.get_neighborhood_mut();
nei.alter(other_id.clone(), AlterState::Added);
@@ -479,9 +523,13 @@ mod tests {
let peer_id = PeerId::from(peer_id);
let other_id = PeerId::from(other_id);
let remote_id = PeerId::from(remote_id);
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let mut penv = PeerEnv::new(Peer::new(peer_pk, Rc::from(vec![])), &network);
let mut penv = PeerEnv::new(
Peer::new(peer_pk, Rc::from(vec![]), <_>::default()),
&network,
);
penv.get_neighborhood_mut()
.alter(other_id.clone(), AlterState::Added);

View File

@@ -22,7 +22,7 @@ use crate::{
};
use air_test_utils::{
test_runner::{AirRunner, DefaultAirRunner, TestRunParameters},
test_runner::{AirRunner, DefaultAirRunner, TestInitParameters, TestRunParameters},
RawAVMOutcome,
};
@@ -57,11 +57,13 @@ impl AirScriptExecutor<DefaultAirRunner> {
impl<R: AirRunner> AirScriptExecutor<R> {
pub fn from_transformed_air_script(
mut test_parameters: TestRunParameters,
test_init_parameters: TestInitParameters,
transformed_air_script: TransformedAirScript<R>,
) -> Result<Self, String> {
let network = transformed_air_script.get_network();
let init_peer_id = test_parameters.init_peer_id.clone();
let real_init_peer_id = network.ensure_named_peer(init_peer_id.as_str());
let real_init_peer_id =
network.ensure_named_peer(init_peer_id.as_str(), test_init_parameters);
test_parameters.init_peer_id = real_init_peer_id.to_string();
let queue = ExecutionQueue::new();
@@ -85,20 +87,40 @@ impl<R: AirRunner> AirScriptExecutor<R> {
extra_peers: impl IntoIterator<Item = PeerId>,
annotated_air_script: &str,
) -> Result<Self, String> {
let network = Network::new(extra_peers.into_iter(), common_services);
let transformed = TransformedAirScript::new(annotated_air_script, network)?;
let network = Network::new(extra_peers.into_iter(), common_services, <_>::default());
let transformed = TransformedAirScript::new(annotated_air_script, network, <_>::default())?;
Self::from_transformed_air_script(test_parameters, transformed)
Self::from_transformed_air_script(test_parameters, <_>::default(), transformed)
}
pub fn from_network(
test_parameters: TestRunParameters,
test_init_parameters: TestInitParameters,
network: Rc<Network<R>>,
annotated_air_script: &str,
) -> Result<Self, String> {
let transformed = TransformedAirScript::new(annotated_air_script, network)?;
let transformed =
TransformedAirScript::new(annotated_air_script, network, test_init_parameters.clone())?;
Self::from_transformed_air_script(test_parameters, transformed)
Self::from_transformed_air_script(test_parameters, test_init_parameters, transformed)
}
pub fn new_with_init_parameters(
test_parameters: TestRunParameters,
test_init_parameters: TestInitParameters,
common_services: Vec<MarineServiceHandle>,
extra_peers: impl IntoIterator<Item = PeerId>,
annotated_air_script: &str,
) -> Result<Self, String> {
let network = Network::new(
extra_peers.into_iter(),
common_services,
test_init_parameters.clone(),
);
let transformed =
TransformedAirScript::new(annotated_air_script, network, test_init_parameters.clone())?;
Self::from_transformed_air_script(test_parameters, test_init_parameters, transformed)
}
/// Return Iterator for handling all the queued datas
@@ -640,15 +662,18 @@ mod tests {
#[test]
fn test_transformed_distinct() {
let peer_name = "peer1";
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let transformed1 = TransformedAirScript::new(
&format!(r#"(call "{peer_name}" ("service" "function") []) ; ok = 42"#),
network.clone(),
<_>::default(),
)
.unwrap();
let exectution1 = AirScriptExecutor::from_transformed_air_script(
TestRunParameters::from_init_peer_id(peer_name),
<_>::default(),
transformed1,
)
.unwrap();
@@ -656,10 +681,12 @@ mod tests {
let transformed2 = TransformedAirScript::new(
&format!(r#"(call "{peer_name}" ("service" "function") []) ; ok = 24"#,),
network,
<_>::default(),
)
.unwrap();
let exectution2 = AirScriptExecutor::from_transformed_air_script(
TestRunParameters::from_init_peer_id(peer_name),
<_>::default(),
transformed2,
)
.unwrap();
@@ -705,20 +732,24 @@ mod tests {
let network = Network::<NativeAirRunner>::new(
std::iter::empty::<PeerId>(),
vec![service.to_handle()],
<_>::default(),
);
let peer_name = "peer1";
let air_script = format!(r#"(call "{peer_name}" ("service" "function") [])"#);
let transformed1 = TransformedAirScript::new(&air_script, network.clone()).unwrap();
let transformed1 =
TransformedAirScript::new(&air_script, network.clone(), <_>::default()).unwrap();
let exectution1 = AirScriptExecutor::from_transformed_air_script(
TestRunParameters::from_init_peer_id(peer_name),
<_>::default(),
transformed1,
)
.unwrap();
let transformed2 = TransformedAirScript::new(&air_script, network).unwrap();
let transformed2 = TransformedAirScript::new(&air_script, network, <_>::default()).unwrap();
let exectution2 = AirScriptExecutor::from_transformed_air_script(
TestRunParameters::from_init_peer_id(peer_name),
<_>::default(),
transformed2,
)
.unwrap();

View File

@@ -18,7 +18,9 @@ use super::{Call, Canon, Sexp};
use crate::ephemeral::Network;
use air_test_utils::key_utils::at;
use air_test_utils::test_runner::{AirRunner, DefaultAirRunner};
use air_test_utils::test_runner::AirRunner;
use air_test_utils::test_runner::DefaultAirRunner;
use air_test_utils::test_runner::TestInitParameters;
use std::{borrow::Cow, fmt::Write, ops::Deref, rc::Rc, str::FromStr};
@@ -33,22 +35,27 @@ pub struct TransformedAirScript<R = DefaultAirRunner> {
impl<R: AirRunner> TransformedAirScript<R> {
// TODO peer transformation mode
pub fn new(annotated_air_script: &str, network: Rc<Network<R>>) -> Result<Self, String> {
pub fn new(
annotated_air_script: &str,
network: Rc<Network<R>>,
test_init_parameters: TestInitParameters,
) -> Result<Self, String> {
let at_transformed_air_script = at_transform(annotated_air_script);
// validate the AIR script with the standard parser first
air_parser::parse(&at_transformed_air_script)?;
Self::new_unvalidated(&at_transformed_air_script, network)
Self::new_unvalidated(&at_transformed_air_script, network, test_init_parameters)
}
pub(crate) fn new_unvalidated(
at_transformed_air_script: &str,
network: Rc<Network<R>>,
test_init_parameters: TestInitParameters,
) -> Result<Self, String> {
let transformer = Transformer { network: &network };
let mut sexp = Sexp::from_str(at_transformed_air_script)?;
transformer.transform(&mut sexp);
transformer.transform(&mut sexp, test_init_parameters);
Ok(Self {
network,
@@ -74,25 +81,25 @@ struct Transformer<'net, R> {
}
impl<R: AirRunner> Transformer<'_, R> {
pub(crate) fn transform(&self, sexp: &mut Sexp) {
pub(crate) fn transform(&self, sexp: &mut Sexp, test_init_parameters: TestInitParameters) {
match sexp {
Sexp::Call(call) => self.handle_call(call),
Sexp::Canon(canon) => self.handle_canon(canon),
Sexp::Call(call) => self.handle_call(call, test_init_parameters.clone()),
Sexp::Canon(canon) => self.handle_canon(canon, test_init_parameters.clone()),
Sexp::List(children) => {
for child in children.iter_mut().skip(1) {
self.transform(child);
self.transform(child, test_init_parameters.clone());
}
}
Sexp::Symbol(_) | Sexp::String(_) => {}
}
}
fn handle_call(&self, call: &mut Call) {
fn handle_call(&self, call: &mut Call, test_init_parameters: TestInitParameters) {
// collect peers...
if let Sexp::String(ref mut peer_name) = &mut call.triplet.0 {
*peer_name = self
.network
.ensure_named_peer(peer_name.as_str())
.ensure_named_peer(peer_name.as_str(), test_init_parameters)
.to_string();
}
@@ -111,11 +118,11 @@ impl<R: AirRunner> Transformer<'_, R> {
}
}
fn handle_canon(&self, canon: &mut Canon) {
fn handle_canon(&self, canon: &mut Canon, test_init_parameters: TestInitParameters) {
if let Sexp::String(ref mut peer_name) = &mut canon.peer {
*peer_name = self
.network
.ensure_named_peer(peer_name.as_str())
.ensure_named_peer(peer_name.as_str(), test_init_parameters)
.to_string();
}
}
@@ -156,33 +163,39 @@ mod tests {
#[test]
fn test_translate_null() {
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let transformed = TransformedAirScript::new("(null)", network).unwrap();
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let transformed = TransformedAirScript::new("(null)", network, <_>::default()).unwrap();
assert_eq!(&*transformed, "(null)");
}
#[test]
fn test_translate_call_no_result() {
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let script = r#"(call peer_id ("service_id" func) [])"#;
let transformed = TransformedAirScript::new_unvalidated(script, network).unwrap();
let transformed =
TransformedAirScript::new_unvalidated(script, network, <_>::default()).unwrap();
assert_eq!(&*transformed, script);
}
#[test]
#[should_panic]
fn test_translate_call_no_string() {
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let script = r#"(call "peer_id" (service_id func) [])"#;
let transformed = TransformedAirScript::new(script, network);
let transformed = TransformedAirScript::new(script, network, <_>::default());
assert_eq!(transformed.as_deref(), Ok(script));
}
#[test]
fn test_translate_call_result() {
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let script = r#"(call "peer_id" ("service_id" func) []) ; ok = 42"#;
let transformer = TransformedAirScript::new_unvalidated(script, network.clone()).unwrap();
let transformer =
TransformedAirScript::new_unvalidated(script, network.clone(), <_>::default()).unwrap();
let peer_id = at("peer_id");
@@ -215,8 +228,10 @@ mod tests {
(call peer_id ("service_id" func) [1]) ; ok=true
))"#;
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let transformed = TransformedAirScript::new_unvalidated(script, network.clone()).unwrap();
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let transformed =
TransformedAirScript::new_unvalidated(script, network.clone(), <_>::default()).unwrap();
assert_eq!(
&*transformed,
concat!(
@@ -255,8 +270,10 @@ mod tests {
(canon "peer_id4" $stream #canon)
))"#;
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let t = TransformedAirScript::new_unvalidated(script, network.clone()).unwrap();
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let t =
TransformedAirScript::new_unvalidated(script, network.clone(), <_>::default()).unwrap();
let peer_id1 = at("peer_id1");
let peer_id2 = at("peer_id2");
@@ -292,8 +309,9 @@ mod tests {
fn test_at_transform() {
let script = r#"(call "peer_id1" ("service_id" "func") [1 @"peer_id3"] x) ; ok={"test":@"peer_id2"}"#;
let network = Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![]);
let t = TransformedAirScript::new(script, network.clone()).unwrap();
let network =
Network::<NativeAirRunner>::new(std::iter::empty::<PeerId>(), vec![], <_>::default());
let t = TransformedAirScript::new(script, network.clone(), <_>::default()).unwrap();
let peer_id1 = at("peer_id1");
let peer_id2 = at("peer_id2");
@@ -309,6 +327,7 @@ mod tests {
let peer_name1 = "peer_id1";
let exec = AirScriptExecutor::from_transformed_air_script(
TestRunParameters::from_init_peer_id(peer_name1),
<_>::default(),
t,
)
.unwrap();