use crate::sweettest::*;
use hdk::prelude::*;
use holochain_conductor_api::conductor::ConductorConfig;
use holochain_test_wasm_common::AnchorInput;
use holochain_wasm_test_utils::TestWasm;
#[tokio::test(flavor = "multi_thread")]
async fn gossip_test() {
holochain_trace::test_run();
let config =
SweetConductorConfig::standard().tune_network_config(|nc| nc.disable_publish = true);
let mut conductors = SweetConductorBatch::from_config(2, config).await;
let (dna_file, _, _) = SweetDnaFile::unique_from_test_wasms(vec![TestWasm::Anchor]).await;
let apps = conductors.setup_app("app", &[dna_file]).await.unwrap();
let ((cell_1,), (cell_2,)) = apps.into_tuples();
conductors.exchange_peer_info().await;
let anchor = AnchorInput("alice".to_string(), "0".to_string());
let _: EntryHash = conductors[0]
.call(&cell_1.zome(TestWasm::Anchor), "anchor", anchor)
.await;
await_consistency(60, [&cell_1, &cell_2]).await.unwrap();
let hashes: EntryHashes = conductors[1]
.call(
&cell_2.zome(TestWasm::Anchor),
"list_anchor_addresses",
"alice",
)
.await;
assert_eq!(hashes.0.len(), 1);
}
#[tokio::test(flavor = "multi_thread")]
async fn signature_smoke_test() {
holochain_trace::test_run();
let rendezvous = SweetLocalRendezvous::new().await;
let mut config = ConductorConfig::default();
config.network.bootstrap_url = url2::url2!("{}", rendezvous.bootstrap_addr());
let zomes = vec![TestWasm::Anchor];
let (dna, _, _) = SweetDnaFile::unique_from_test_wasms(zomes).await;
let mut conductor = SweetConductor::from_config_rendezvous(config, rendezvous).await;
conductor.setup_app("app", [&dna]).await.unwrap();
conductor.shutdown().await;
}