예제 #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldFailIfNoLeaderIsAvailable()
        internal virtual void ShouldFailIfNoLeaderIsAvailable()
        {
            // given
            CapturingProgressTracker capturedProgress = new CapturingProgressTracker(this);
            CapturingOutbound <Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage> outbound = new CapturingOutbound <Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage>();

            RaftReplicator    replicator = GetReplicator(outbound, capturedProgress, new Monitors());
            ReplicatedInteger content    = ReplicatedInteger.valueOf(5);

            // when
            assertThrows(typeof(ReplicationFailureException), () => replicator.Replicate(content, true));
        }
예제 #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldListenToLeaderUpdates() throws ReplicationFailureException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldListenToLeaderUpdates()
        {
            OneProgressTracker oneProgressTracker = new OneProgressTracker(this);

            oneProgressTracker.Last.setReplicated();
            CapturingOutbound <Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage> outbound = new CapturingOutbound <Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage>();
            RaftReplicator    replicator = GetReplicator(outbound, oneProgressTracker, new Monitors());
            ReplicatedInteger content    = ReplicatedInteger.valueOf(5);

            LeaderInfo lastLeader = _leaderInfo;

            // set initial leader, sens to that leader
            replicator.OnLeaderSwitch(lastLeader);
            replicator.Replicate(content, false);
            assertEquals(outbound.LastTo, lastLeader.MemberId());

            // update with valid new leader, sends to new leader
            lastLeader = new LeaderInfo(new MemberId(System.Guid.randomUUID()), 1);
            replicator.OnLeaderSwitch(lastLeader);
            replicator.Replicate(content, false);
            assertEquals(outbound.LastTo, lastLeader.MemberId());
        }