Пример #1
0
        public void TestRedistributeUnconfirmed()
        {
            var allOtherNodes = Config.AllOtherNodes(_localNodeId).ToList();

            var channel2 = _channelProvider.ChannelFor(allOtherNodes[0].Id);

            Mock(channel2).Until = TestUntil.Happenings(1);

            var channel3 = _channelProvider.ChannelFor(allOtherNodes[1].Id);

            Mock(channel3).Until = TestUntil.Happenings(1);

            var set     = AttributeSet.Named("test-set");
            var tracked = set.AddIfAbsent(Attribute <string> .From("test-attr", "test-value"));

            _confirmingDistributor.Distribute(set, tracked, ApplicationMessageType.AddAttribute);

            _confirmingDistributor.RedistributeUnconfirmed();

            Mock(channel2).Until.Completes();
            Assert.Single(Mock(channel2).Writes);

            Mock(channel3).Until.Completes();
            Assert.Single(Mock(channel3).Writes);
        }
Пример #2
0
    public void TestBroadcastToSelectNodes()
    {
        var rawMessage1 = RawMessage.From(0, 0, Message1);
        var rawMessage2 = RawMessage.From(0, 0, Message2);
        var rawMessage3 = RawMessage.From(0, 0, Message3);

        var selectNodes = new List <Node> {
            Config.NodeMatching(Id.Of(3))
        };

        _outbound.Broadcast(selectNodes, rawMessage1);
        _outbound.Broadcast(selectNodes, rawMessage2);
        _outbound.Broadcast(selectNodes, rawMessage3);

        var mock = (MockManagedOutboundChannel)_channelProvider.ChannelFor(Id.Of(3));

        Assert.Equal(Message1, mock.Writes[0]);
        Assert.Equal(Message2, mock.Writes[1]);
        Assert.Equal(Message3, mock.Writes[2]);
    }
Пример #3
0
        public void TestAdd()
        {
            var agent =
                TestWorld.ActorFor <IAttributesAgent>(
                    Definition.Has <AttributesAgentActor>(
                        Definition.Parameters(_localNode, Application, _outboundStream.Actor, Config, _interest)));

            agent.Actor.Add("test-set", "test-attr", "test-value");

            var allOtherNodes = Config.AllOtherNodes(_localNodeId).ToList();
            var channel2      = _channelProvider.ChannelFor(allOtherNodes[0].Id);
            var channel3      = _channelProvider.ChannelFor(allOtherNodes[1].Id);

            Assert.Equal(2, Mock(channel2).Writes.Count);
            Assert.Equal(2, Mock(channel3).Writes.Count);

            Assert.Equal("test-value", Application.AttributesClient.Attribute <string>("test-set", "test-attr").Value);
        }