| 1234567891011121314151617181920212223242526272829303132 |
- extern crate kvraft;
- #[macro_use]
- extern crate scopeguard;
- use kvraft::testing_utils::config::{make_config, sleep_election_timeouts};
- use std::sync::Arc;
- #[test]
- fn install_snapshot_rpc() {
- const SERVERS: usize = 3;
- const MAX_RAFT_STATE: usize = 1000;
- const KEY: &str = "a";
- let cfg = Arc::new(make_config(SERVERS, true, 0));
- defer!(cfg.clean_up());
- let mut clerk = cfg.make_clerk();
- cfg.begin("Test: InstallSnapshot RPC (3B)");
- clerk.put("a", "A");
- assert_eq!(clerk.get(KEY), Some("A".to_owned()));
- let (majority, minority) = cfg.partition();
- {
- let mut clerk = cfg.make_limited_clerk(&majority);
- for i in 0..50 {
- let i_str = i.to_string();
- clerk.put(&i_str, &i_str);
- }
- sleep_election_timeouts(1);
- clerk.put("b", "B");
- }
- }
|