mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-10-01 01:26:08 -04:00
Refactoring snapshot
This commit is contained in:
parent
febd5fe2dd
commit
075da7fe49
@ -1,6 +1,8 @@
|
||||
use crate::*;
|
||||
|
||||
const SERIALIZED_PEERINFO: &str = r###"{"node_ids":["VLD0:grOBXsrkgw4aBbmz6cFSUFkDan2_OFOwk6j-SayrQtA"],"signed_node_info":{"Direct":{"node_info":{"network_class":"InboundCapable","outbound_protocols":1,"address_types":3,"envelope_support":[0],"crypto_support":[[86,76,68,48]],"dial_info_detail_list":[{"class":"Direct","dial_info":{"kind":"UDP","socket_address":{"address":{"IPV4":"1.2.3.4"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"UDP","socket_address":{"address":{"IPV6":"bad:cafe::1"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"TCP","socket_address":{"address":{"IPV4":"5.6.7.8"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"TCP","socket_address":{"address":{"IPV6":"bad:cafe::1"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"WS","socket_address":{"address":{"IPV4":"9.10.11.12"},"port":5150},"request":"bootstrap-1.dev.veilid.net:5150/ws"}},{"class":"Direct","dial_info":{"kind":"WS","socket_address":{"address":{"IPV6":"bad:cafe::1"},"port":5150},"request":"bootstrap-1.dev.veilid.net:5150/ws"}}]},"timestamp":1685058646770389,"signatures":[]}}}"###;
|
||||
// Fixtures
|
||||
|
||||
const SERIALIZED_PEERINFO: &str = r###"{"node_ids":["FAKE:eFOfgm_FNZBsTRi7KAESNwYFAUGgX2uDrTRWAL8ucjM"],"signed_node_info":{"Direct":{"node_info":{"network_class":"InboundCapable","outbound_protocols":1,"address_types":3,"envelope_support":[0],"crypto_support":[[86,76,68,48]],"dial_info_detail_list":[{"class":"Direct","dial_info":{"kind":"UDP","socket_address":{"address":{"IPV4":"1.2.3.4"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"UDP","socket_address":{"address":{"IPV6":"bad:cafe::1"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"TCP","socket_address":{"address":{"IPV4":"5.6.7.8"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"TCP","socket_address":{"address":{"IPV6":"bad:cafe::1"},"port":5150}}},{"class":"Direct","dial_info":{"kind":"WS","socket_address":{"address":{"IPV4":"9.10.11.12"},"port":5150},"request":"bootstrap-1.dev.veilid.net:5150/ws"}},{"class":"Direct","dial_info":{"kind":"WS","socket_address":{"address":{"IPV6":"bad:cafe::1"},"port":5150},"request":"bootstrap-1.dev.veilid.net:5150/ws"}}]},"timestamp":1685058646770389,"signatures":[]}}}"###;
|
||||
|
||||
pub async fn test_round_trip_peerinfo() {
|
||||
let pi: routing_table::PeerInfo = deserialize_json(SERIALIZED_PEERINFO).unwrap();
|
||||
@ -26,7 +28,7 @@ pub async fn test_fourcc() {
|
||||
|
||||
pub async fn test_safetyspec() {
|
||||
let orig = SafetySpec {
|
||||
preferred_route: Some(CryptoKey::new(*b"thisISaKEYthat's32charsLONGitIS!")),
|
||||
preferred_route: Some(fix_typedkey().value),
|
||||
hop_count: 23,
|
||||
stability: Stability::default(),
|
||||
sequencing: Sequencing::default(),
|
||||
@ -36,51 +38,53 @@ pub async fn test_safetyspec() {
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_latencystats() {
|
||||
let orig = LatencyStats {
|
||||
fn fix_latencystats() -> LatencyStats {
|
||||
LatencyStats {
|
||||
fastest: AlignedU64::from(1234),
|
||||
average: AlignedU64::from(2345),
|
||||
slowest: AlignedU64::from(3456),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_latencystats() {
|
||||
let orig = fix_latencystats();
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_transferstats() {
|
||||
let orig = TransferStats {
|
||||
fn fix_transferstats() -> TransferStats {
|
||||
TransferStats {
|
||||
total: AlignedU64::from(1_000_000),
|
||||
maximum: AlignedU64::from(3456),
|
||||
average: AlignedU64::from(2345),
|
||||
minimum: AlignedU64::from(1234),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_transferstats() {
|
||||
let orig = fix_transferstats();
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
fn fix_transferstatsdownup() -> TransferStatsDownUp {
|
||||
TransferStatsDownUp {
|
||||
down: fix_transferstats(),
|
||||
up: fix_transferstats(),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_transferstatsdownup() {
|
||||
let orig = TransferStatsDownUp {
|
||||
down: TransferStats {
|
||||
total: AlignedU64::from(1_000_000),
|
||||
maximum: AlignedU64::from(3456),
|
||||
average: AlignedU64::from(2345),
|
||||
minimum: AlignedU64::from(1234),
|
||||
},
|
||||
up: TransferStats {
|
||||
total: AlignedU64::from(1_000_000 * 2),
|
||||
maximum: AlignedU64::from(3456 * 2),
|
||||
average: AlignedU64::from(2345 * 2),
|
||||
minimum: AlignedU64::from(1234 * 2),
|
||||
},
|
||||
};
|
||||
let orig = fix_transferstatsdownup();
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_rpcstats() {
|
||||
let orig = RPCStats {
|
||||
fn fix_rpcstats() -> RPCStats {
|
||||
RPCStats {
|
||||
messages_sent: 1_000_000,
|
||||
messages_rcvd: 2_000_000,
|
||||
questions_in_flight: 42,
|
||||
@ -89,45 +93,27 @@ pub async fn test_rpcstats() {
|
||||
first_consecutive_seen_ts: Some(AlignedU64::from(1685569111851)),
|
||||
recent_lost_answers: 5,
|
||||
failed_to_send: 3,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_rpcstats() {
|
||||
let orig = fix_rpcstats();
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_peerstats() {
|
||||
let orig = PeerStats {
|
||||
fn fix_peerstats() -> PeerStats {
|
||||
PeerStats {
|
||||
time_added: AlignedU64::from(1685569176894),
|
||||
rpc_stats: RPCStats {
|
||||
messages_sent: 1_000_000,
|
||||
messages_rcvd: 2_000_000,
|
||||
questions_in_flight: 42,
|
||||
last_question_ts: Some(AlignedU64::from(1685569084280)),
|
||||
last_seen_ts: Some(AlignedU64::from(1685569101256)),
|
||||
first_consecutive_seen_ts: Some(AlignedU64::from(1685569111851)),
|
||||
recent_lost_answers: 5,
|
||||
failed_to_send: 3,
|
||||
},
|
||||
latency: Some(LatencyStats {
|
||||
fastest: AlignedU64::from(1234),
|
||||
average: AlignedU64::from(2345),
|
||||
slowest: AlignedU64::from(3456),
|
||||
}),
|
||||
transfer: TransferStatsDownUp {
|
||||
down: TransferStats {
|
||||
total: AlignedU64::from(1_000_000),
|
||||
maximum: AlignedU64::from(3456),
|
||||
average: AlignedU64::from(2345),
|
||||
minimum: AlignedU64::from(1234),
|
||||
},
|
||||
up: TransferStats {
|
||||
total: AlignedU64::from(1_000_000 * 2),
|
||||
maximum: AlignedU64::from(3456 * 2),
|
||||
average: AlignedU64::from(2345 * 2),
|
||||
minimum: AlignedU64::from(1234 * 2),
|
||||
},
|
||||
},
|
||||
};
|
||||
rpc_stats: fix_rpcstats(),
|
||||
latency: Some(fix_latencystats()),
|
||||
transfer: fix_transferstatsdownup(),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_peerstats() {
|
||||
let orig = fix_peerstats();
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
@ -203,6 +189,62 @@ pub async fn test_veilidlog() {
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
pub async fn test_attachmentstate() {
|
||||
let orig = AttachmentState::FullyAttached;
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_veilidstateattachment() {
|
||||
let orig = VeilidStateAttachment {
|
||||
state: AttachmentState::OverAttached,
|
||||
public_internet_ready: true,
|
||||
local_network_ready: false,
|
||||
};
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
fn fix_typedkey() -> TypedKey {
|
||||
let mut fake_key = [0u8; CRYPTO_KEY_LENGTH];
|
||||
random_bytes(&mut fake_key);
|
||||
let b = TypedKey {
|
||||
kind: FourCC::from_str("FAKE").unwrap(),
|
||||
value: CryptoKey::new(fake_key),
|
||||
};
|
||||
b
|
||||
//panic!("{}", b);
|
||||
}
|
||||
|
||||
fn fix_peertabledata() -> PeerTableData {
|
||||
PeerTableData {
|
||||
node_ids: vec![fix_typedkey()],
|
||||
peer_address: "123 Main St.".to_string(),
|
||||
peer_stats: fix_peerstats(),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_peertabledata() {
|
||||
let orig = fix_peertabledata();
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_veilidstatenetwork() {
|
||||
let orig = VeilidStateNetwork {
|
||||
started: true,
|
||||
bps_down: AlignedU64::from(14_400),
|
||||
bps_up: AlignedU64::from(1200),
|
||||
peers: vec![fix_peertabledata()],
|
||||
};
|
||||
let copy = deserialize_json(&serialize_json(&orig)).unwrap();
|
||||
|
||||
assert_eq!(orig, copy);
|
||||
}
|
||||
|
||||
pub async fn test_all() {
|
||||
test_round_trip_peerinfo().await;
|
||||
test_alignedu64().await;
|
||||
@ -221,4 +263,7 @@ pub async fn test_all() {
|
||||
test_partialtunnel().await;
|
||||
test_veilidloglevel().await;
|
||||
test_veilidlog().await;
|
||||
test_attachmentstate().await;
|
||||
test_veilidstateattachment().await;
|
||||
test_peertabledata().await;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user