mirror of
https://github.com/fluencelabs/registry.git
synced 2025-04-25 10:12:13 +00:00
add merge tests
This commit is contained in:
parent
3a99cd91f0
commit
6ad2870faf
84
src/tests.rs
84
src/tests.rs
@ -558,4 +558,88 @@ mod tests {
|
|||||||
assert_eq!(result.error, "");
|
assert_eq!(result.error, "");
|
||||||
assert_eq!(result.result.len(), 0);
|
assert_eq!(result.result.len(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[marine_test(config_path = "../Config.toml", modules_dir = "../artifacts/")]
|
||||||
|
fn merge_test() {
|
||||||
|
let mut records: Vec<aqua_dht_structs::RecordWithKey> = vec![];
|
||||||
|
let key = "some_key".to_string();
|
||||||
|
let peer_id = "some_peer_id".to_string();
|
||||||
|
let stale_record = aqua_dht_structs::RecordWithKey {
|
||||||
|
key: key.clone(),
|
||||||
|
record: aqua_dht_structs::Record {
|
||||||
|
value: "stale".to_string(),
|
||||||
|
peer_id: peer_id.clone(),
|
||||||
|
relay_id: vec![],
|
||||||
|
service_id: vec![],
|
||||||
|
timestamp_created: 123u64,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
let new_record = aqua_dht_structs::RecordWithKey {
|
||||||
|
key: key.clone(),
|
||||||
|
record: aqua_dht_structs::Record {
|
||||||
|
value: "new".to_string(),
|
||||||
|
peer_id: peer_id.clone(),
|
||||||
|
relay_id: vec![],
|
||||||
|
service_id: vec![],
|
||||||
|
timestamp_created: stale_record.record.timestamp_created + 9999u64,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
records.push(stale_record.clone());
|
||||||
|
records.push(new_record.clone());
|
||||||
|
|
||||||
|
let result = aqua_dht.merge(records);
|
||||||
|
|
||||||
|
assert_eq!(result.result.len(), 1);
|
||||||
|
let record = &result.result[0];
|
||||||
|
assert_eq!(record.key, new_record.key);
|
||||||
|
assert_eq!(record.record.value, new_record.record.value);
|
||||||
|
assert_eq!(record.record.timestamp_created, new_record.record.timestamp_created);
|
||||||
|
|
||||||
|
|
||||||
|
let result = aqua_dht.merge_two(vec![stale_record.clone()], vec![new_record.clone()]);
|
||||||
|
|
||||||
|
assert_eq!(result.result.len(), 1);
|
||||||
|
let record = &result.result[0];
|
||||||
|
assert_eq!(record.key, new_record.key);
|
||||||
|
assert_eq!(record.record.value, new_record.record.value);
|
||||||
|
assert_eq!(record.record.timestamp_created, new_record.record.timestamp_created);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[marine_test(config_path = "../Config.toml", modules_dir = "../artifacts/")]
|
||||||
|
fn merge_test_different_peer_ids() {
|
||||||
|
let mut records: Vec<aqua_dht_structs::RecordWithKey> = vec![];
|
||||||
|
let key = "some_key".to_string();
|
||||||
|
let peer_id1 = "some_peer_id1".to_string();
|
||||||
|
let peer_id2 = "some_peer_id2".to_string();
|
||||||
|
let record1 = aqua_dht_structs::RecordWithKey {
|
||||||
|
key: key.clone(),
|
||||||
|
record: aqua_dht_structs::Record {
|
||||||
|
value: "value1".to_string(),
|
||||||
|
peer_id: peer_id1.clone(),
|
||||||
|
relay_id: vec![],
|
||||||
|
service_id: vec![],
|
||||||
|
timestamp_created: 123u64,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
let record2 = aqua_dht_structs::RecordWithKey {
|
||||||
|
key: key.clone(),
|
||||||
|
record: aqua_dht_structs::Record {
|
||||||
|
value: "value2".to_string(),
|
||||||
|
peer_id: peer_id2.clone(),
|
||||||
|
relay_id: vec![],
|
||||||
|
service_id: vec![],
|
||||||
|
timestamp_created: record1.record.timestamp_created + 9999u64,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
records.push(record1.clone());
|
||||||
|
records.push(record2.clone());
|
||||||
|
|
||||||
|
let result = aqua_dht.merge(records);
|
||||||
|
|
||||||
|
assert_eq!(result.result.len(), 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user