Add stats JSON serde tests
This commit is contained in:
		| @@ -36,9 +36,111 @@ pub async fn test_safetyspec() { | ||||
|     assert_eq!(orig, copy); | ||||
| } | ||||
|  | ||||
| pub async fn test_latencystats() { | ||||
|     let orig = LatencyStats { | ||||
|         fastest: AlignedU64::from(1234), | ||||
|         average: AlignedU64::from(2345), | ||||
|         slowest: AlignedU64::from(3456), | ||||
|     }; | ||||
|     let copy = deserialize_json(&serialize_json(&orig)).unwrap(); | ||||
|  | ||||
|     assert_eq!(orig, copy); | ||||
| } | ||||
|  | ||||
| pub async fn test_transferstats() { | ||||
|     let orig = TransferStats { | ||||
|         total: AlignedU64::from(1_000_000), | ||||
|         maximum: AlignedU64::from(3456), | ||||
|         average: AlignedU64::from(2345), | ||||
|         minimum: AlignedU64::from(1234), | ||||
|     }; | ||||
|     let copy = deserialize_json(&serialize_json(&orig)).unwrap(); | ||||
|  | ||||
|     assert_eq!(orig, copy); | ||||
| } | ||||
|  | ||||
| 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 copy = deserialize_json(&serialize_json(&orig)).unwrap(); | ||||
|  | ||||
|     assert_eq!(orig, copy); | ||||
| } | ||||
|  | ||||
| pub async fn test_rpcstats() { | ||||
|     let orig = 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, | ||||
|     }; | ||||
|     let copy = deserialize_json(&serialize_json(&orig)).unwrap(); | ||||
|  | ||||
|     assert_eq!(orig, copy); | ||||
| } | ||||
|  | ||||
| pub async fn test_peerstats() { | ||||
|     let orig = 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), | ||||
|             }, | ||||
|         }, | ||||
|     }; | ||||
|     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; | ||||
|     test_fourcc().await; | ||||
|     test_safetyspec().await; | ||||
|     test_latencystats().await; | ||||
|     test_transferstats().await; | ||||
|     test_transferstatsdownup().await; | ||||
|     test_rpcstats().await; | ||||
|     test_peerstats().await; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user