mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 19:47:59 +00:00
Fix the light client protocol protobuf schema (#12732)
* Fix the light client protocol protobuf schema * Add another test * Remove unused protobuf struct * Ok you have to use the nightly rustfmt apparently
This commit is contained in:
@@ -23,3 +23,47 @@ pub(crate) mod v1 {
|
||||
include!(concat!(env!("OUT_DIR"), "/api.v1.light.rs"));
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use prost::Message as _;
|
||||
|
||||
#[test]
|
||||
fn empty_proof_encodes_correctly() {
|
||||
let encoded = super::v1::light::Response {
|
||||
response: Some(super::v1::light::response::Response::RemoteReadResponse(
|
||||
super::v1::light::RemoteReadResponse { proof: Some(Vec::new()) },
|
||||
)),
|
||||
}
|
||||
.encode_to_vec();
|
||||
|
||||
// Make sure that the response contains one field of number 2 and wire type 2 (message),
|
||||
// then another field of number 2 and wire type 2 (bytes), then a length of 0.
|
||||
assert_eq!(encoded, vec![(2 << 3) | 2, 2, (2 << 3) | 2, 0]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn no_proof_encodes_correctly() {
|
||||
let encoded = super::v1::light::Response {
|
||||
response: Some(super::v1::light::response::Response::RemoteReadResponse(
|
||||
super::v1::light::RemoteReadResponse { proof: None },
|
||||
)),
|
||||
}
|
||||
.encode_to_vec();
|
||||
|
||||
// Make sure that the response contains one field of number 2 and wire type 2 (message).
|
||||
assert_eq!(encoded, vec![(2 << 3) | 2, 0]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn proof_encodes_correctly() {
|
||||
let encoded = super::v1::light::Response {
|
||||
response: Some(super::v1::light::response::Response::RemoteReadResponse(
|
||||
super::v1::light::RemoteReadResponse { proof: Some(vec![1, 2, 3, 4]) },
|
||||
)),
|
||||
}
|
||||
.encode_to_vec();
|
||||
|
||||
assert_eq!(encoded, vec![(2 << 3) | 2, 6, (2 << 3) | 2, 4, 1, 2, 3, 4]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user