Skip to content

Commit

Permalink
add Multikey::null and Nonce::null serde tests
Browse files Browse the repository at this point in the history
Signed-off-by: Dave Huseby <dwh@linuxprogrammer.org>
  • Loading branch information
dhuseby committed Apr 3, 2024
1 parent 14124df commit 722580e
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "multikey"
version = "0.8.8"
version = "0.8.9"
edition = "2021"
authors = ["Dave Grantham <dwg@linuxprogrammer.org>"]
description = "Multikey self-describing cryptographic key data"
Expand Down
87 changes: 87 additions & 0 deletions src/serde/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ mod tests {
use multibase::Base;
use multicodec::Codec;
use multihash::EncodedMultihash;
use multitrait::Null;
use multiutil::BaseEncoded;
use serde::{Deserialize, Serialize};
use serde_test::{assert_tokens, Configure, Token};
Expand Down Expand Up @@ -549,4 +550,90 @@ mod tests {
],
);
}

#[test]
fn test_null_multikey_serde_compact() {
let mk = Multikey::null();
assert_tokens(
&mk.compact(),
&[
Token::Tuple { len: 4 },
Token::BorrowedBytes(&[0x3a]),
Token::BorrowedBytes(&[0x0]),
Token::BorrowedBytes(&[0x0]),
Token::Seq { len: Some(0), },
Token::SeqEnd,
Token::TupleEnd,
]
);
}

#[test]
fn test_null_multikey_serde_readable() {
let mk = Multikey::null();
assert_tokens(
&mk.readable(),
&[
Token::Struct { name: "multikey", len: 3, },
Token::BorrowedStr("codec"),
Token::BorrowedStr("identity"),
Token::BorrowedStr("comment"),
Token::BorrowedStr(""),
Token::BorrowedStr("attributes"),
Token::Seq { len: Some(0), },
Token::SeqEnd,
Token::StructEnd,
]
);
}

#[test]
fn test_encoded_multikey_nonce_serde_readable() {
let mk: EncodedMultikey = Multikey::null().into();
assert_tokens(
&mk.readable(),
&[
Token::BorrowedStr("f3a000000"),
]
);
}

#[test]
fn test_null_nonce_serde_compact() {
let n = nonce::Nonce::null();
assert_tokens(
&n.compact(),
&[
Token::Tuple { len: 2 },
Token::BorrowedBytes(&[0x3b]),
Token::BorrowedBytes(&[0x0]),
Token::TupleEnd,
]
);
}

#[test]
fn test_null_nonce_serde_readable() {
let n = nonce::Nonce::null();
assert_tokens(
&n.readable(),
&[
Token::Struct { name: "nonce", len: 1, },
Token::BorrowedStr("nonce"),
Token::BorrowedStr("f00"),
Token::StructEnd,
]
);
}

#[test]
fn test_encoded_null_nonce_serde_readable() {
let n: nonce::EncodedNonce = nonce::Nonce::null().into();
assert_tokens(
&n.readable(),
&[
Token::BorrowedStr("f3b00"),
]
);
}
}

0 comments on commit 722580e

Please sign in to comment.