Akka.Cluster.Tools.Tests.MultiNode.Singleton.ClusterSingletonManagerChaosSpec.ClusterSingletonManager_in_chaotic_cluster_should_startup_6_node_cluster C# (CSharp) Метод

ClusterSingletonManager_in_chaotic_cluster_should_startup_6_node_cluster() приватный Метод

        public void ClusterSingletonManager_in_chaotic_cluster_should_startup_6_node_cluster()
        {
            Within(TimeSpan.FromSeconds(60), () =>
            {
                var memberProbe = CreateTestProbe();
                Cluster.Subscribe(memberProbe.Ref, new[] { typeof(ClusterEvent.MemberUp) });
                memberProbe.ExpectMsg<ClusterEvent.CurrentClusterState>();

                Join(_config.First, _config.First);
                AwaitMemberUp(memberProbe, _config.First);
                RunOn(() =>
                {
                    ExpectMsg<EchoStarted>();
                }, _config.First);
                EnterBarrier("_config.First-started");

                Join(_config.Second, _config.First);
                AwaitMemberUp(memberProbe, _config.Second, _config.First);

                Join(_config.Third, _config.First);
                AwaitMemberUp(memberProbe, _config.Third, _config.Second, _config.First);

                Join(_config.Fourth, _config.First);
                AwaitMemberUp(memberProbe, _config.Fourth, _config.Third, _config.Second, _config.First);

                Join(_config.Fifth, _config.First);
                AwaitMemberUp(memberProbe, _config.Fifth, _config.Fourth, _config.Third, _config.Second, _config.First);

                Join(_config.Sixth, _config.First);
                AwaitMemberUp(memberProbe, _config.Sixth, _config.Fifth, _config.Fourth, _config.Third, _config.Second, _config.First);

                RunOn(() =>
                {
                    Echo(_config.First).Tell("hello");
                    ExpectMsg<IActorRef>(TimeSpan.FromSeconds(3)).Path.Address
                        .Should()
                        .Be(GetAddress(_config.First));
                }, _config.Controller);

                EnterBarrier("_config.First-verified");
            });
        }