public void TestCachedMessages() { var node1 = Node.With(Id.Of(2), Name.Of("node2"), Host.Of("localhost"), 37373, 37374); var cache = new OperationalMessageCache(node1); var elect = cache.CachedRawMessage(OperationalMessage.ELECT); Assert.True(OperationalMessage.MessageFrom(elect.AsTextMessage()).IsElect); var join = cache.CachedRawMessage(OperationalMessage.JOIN); Assert.True(OperationalMessage.MessageFrom(join.AsTextMessage()).IsJoin); var leader = cache.CachedRawMessage(OperationalMessage.LEADER); Assert.True(OperationalMessage.MessageFrom(leader.AsTextMessage()).IsLeader); var leave = cache.CachedRawMessage(OperationalMessage.LEAVE); Assert.True(OperationalMessage.MessageFrom(leave.AsTextMessage()).IsLeave); var ping = cache.CachedRawMessage(OperationalMessage.PING); Assert.True(OperationalMessage.MessageFrom(ping.AsTextMessage()).IsPing); var pulse = cache.CachedRawMessage(OperationalMessage.PULSE); Assert.True(OperationalMessage.MessageFrom(pulse.AsTextMessage()).IsPulse); var vote = cache.CachedRawMessage(OperationalMessage.VOTE); Assert.True(OperationalMessage.MessageFrom(vote.AsTextMessage()).IsVote); }
public void TestNonCachedMessages() { var node1 = Node.With(Id.Of(2), Name.Of("node2"), Host.Of("localhost"), 37373, 37374); var cache = new OperationalMessageCache(node1); bool caught; try { caught = false; cache.CachedRawMessage(OperationalMessage.CHECKHEALTH); } catch { caught = true; } Assert.True(caught); try { caught = false; cache.CachedRawMessage(OperationalMessage.DIR); } catch { caught = true; } Assert.True(caught); try { caught = false; cache.CachedRawMessage(OperationalMessage.SPLIT); } catch { caught = true; } Assert.True(caught); }
public void Elect(IEnumerable <Node> allGreaterNodes) => _outbound.Broadcast(allGreaterNodes, _cache.CachedRawMessage(OperationalMessage.ELECT));