Skip to content

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
adzialocha authored and sandreae committed Aug 23, 2023
1 parent 4f8eb16 commit 5dda823
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 13 deletions.
12 changes: 7 additions & 5 deletions aquadoggo/src/replication/announcement.rs
Original file line number Diff line number Diff line change
Expand Up @@ -152,15 +152,15 @@ mod tests {
let announcement = Announcement::new(target_set.clone());
assert_eq!(
serialize_from(AnnouncementMessage::new(announcement.clone())),
serialize_value(cbor!([1, announcement.timestamp, target_set]))
serialize_value(cbor!([0, 1, announcement.timestamp, target_set]))
);
}

#[rstest]
fn deserialize(#[from(random_target_set)] target_set: TargetSet) {
assert_eq!(
deserialize_into::<AnnouncementMessage>(&serialize_value(cbor!([
1, 12345678, target_set
0, 1, 12345678, target_set
])))
.unwrap(),
AnnouncementMessage::new(Announcement {
Expand All @@ -171,12 +171,14 @@ mod tests {
}

#[rstest]
#[should_panic(expected = "missing protocol version in announce message")]
#[should_panic(expected = "missing message type in announce message")]
#[case::missing_version(cbor!([]))]
#[should_panic(expected = "missing protocol version in announce message")]
#[case::missing_version(cbor!([0]))]
#[should_panic(expected = "missing timestamp in announce message")]
#[case::missing_timestamp(cbor!([122]))]
#[case::missing_timestamp(cbor!([0, 122]))]
#[should_panic(expected = "too many fields for announce message")]
#[case::too_many_fields(cbor!([1, 0, ["schema_field_definition_v1"], "too much"]))]
#[case::too_many_fields(cbor!([0, 1, 0, ["schema_field_definition_v1"], "too much"]))]
fn deserialize_invalid_messages(#[case] cbor: Result<Value, Error>) {
// Check the cbor is valid
assert!(cbor.is_ok());
Expand Down
12 changes: 6 additions & 6 deletions aquadoggo/src/replication/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ pub type LogHeights = (PublicKey, Vec<(LogId, SeqNum)>);
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum Message {
SyncRequest(Mode, TargetSet),
Have(Vec<LogHeights>),
Entry(EncodedEntry, Option<EncodedOperation>),
SyncDone(LiveMode),
Have(Vec<LogHeights>),
}

impl Message {
Expand Down Expand Up @@ -232,7 +232,7 @@ mod tests {
51,
Message::SyncRequest(Mode::SetReconciliation, target_set.clone())
)),
serialize_value(cbor!([0, 51, 1, target_set]))
serialize_value(cbor!([1, 51, 1, target_set]))
);

assert_eq!(
Expand All @@ -259,7 +259,7 @@ mod tests {
#[rstest]
fn deserialize(#[from(random_target_set)] target_set: TargetSet, public_key: PublicKey) {
assert_eq!(
deserialize_into::<SyncMessage>(&serialize_value(cbor!([0, 12, 0, target_set])))
deserialize_into::<SyncMessage>(&serialize_value(cbor!([1, 12, 0, target_set])))
.unwrap(),
SyncMessage::new(
12,
Expand Down Expand Up @@ -302,11 +302,11 @@ mod tests {
#[should_panic(expected = "unknown message type 122 in replication message")]
#[case::unknown_message_type(cbor!([122, 0]))]
#[should_panic(expected = "missing session id in replication message")]
#[case::only_message_type(cbor!([0]))]
#[case::only_message_type(cbor!([1]))]
#[should_panic(expected = "empty target set in sync request")]
#[case::only_message_type(cbor!([0, 0, 0, []]))]
#[case::only_message_type(cbor!([1, 0, 0, []]))]
#[should_panic(expected = "too many fields for replication message")]
#[case::too_many_fields(cbor!([0, 0, 0, ["schema_field_definition_v1"], "too much"]))]
#[case::too_many_fields(cbor!([1, 0, 0, ["schema_field_definition_v1"], "too much"]))]
fn deserialize_invalid_messages(#[case] cbor: Result<Value, Error>) {
// Check the cbor is valid
assert!(cbor.is_ok());
Expand Down
4 changes: 2 additions & 2 deletions aquadoggo/src/replication/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ pub type MessageType = u64;
// Integers indicating message type for wire message format.
pub const ANNOUNCE_TYPE: MessageType = 0;
pub const SYNC_REQUEST_TYPE: MessageType = 1;
pub const SYNC_DONE_TYPE: MessageType = 2;
pub const ENTRY_TYPE: MessageType = 3;
pub const ENTRY_TYPE: MessageType = 2;
pub const SYNC_DONE_TYPE: MessageType = 3;
pub const HAVE_TYPE: MessageType = 10;

/// Currently supported p2panda replication protocol version.
Expand Down

0 comments on commit 5dda823

Please sign in to comment.