protected AkkaWaiterTest()
 {
     _actorSystem = TestActorSystem.Create();
     _transport   = new LocalAkkaEventBusTransport(_actorSystem);
     Waiter       = new LocalMessagesWaiter(_actorSystem, _transport, TimeSpan.FromSeconds(1));
     _results     = ConfigureWaiter(Waiter);
 }
Example #2
0
        public void AggregateException_should_be_serializable()
        {
            var ex = new AggregateException(new MessageHandleException(new BalloonTitleChanged("123", Guid.NewGuid().ToString())));

            var serializer = new DebugHyperionSerializer((ExtendedActorSystem)TestActorSystem.Create());
            var bytes      = serializer.ToBinary(ex);

            var restored = (AggregateException)serializer.FromBinary(bytes, typeof(AggregateException));

            Assert.IsType <MessageHandleException>(restored.UnwrapSingle());
        }
Example #3
0
        /// <summary>
        /// This will decorate a factory method and make it possible to directly create an actor.
        /// <remarks>NOTE! Only use this in tests</remarks>
        /// </summary>
        private static Actor CreateActorDirectly <T>(Func <T> createActor, out LocalActorRef localActorRef) where T : Actor
        {
            var testActorSystem = new TestActorSystem();

            localActorRef = new LocalActorRef(testActorSystem, A.Dummy <ActorInstantiator>(), new RootActorPath("fake"), testActorSystem.CreateDefaultMailbox(), A.Dummy <InternalActorRef>());
            LocalActorRefStack.PushActorRefToStack(localActorRef);
            var actor = createActor();

            LocalActorRefStack.PopActorAndMarkerFromStack();
            return(actor);
        }
Example #4
0
        //Given_waiter_subscribed_for_message_When_publishing_message()
        public AkkaWaiter_One_Message_Test()
        {
            var actorSystem = TestActorSystem.Create();
            var transport   = new LocalAkkaEventBusTransport(actorSystem);
            var waiter      = new LocalMessagesWaiter(actorSystem, transport, TimeSpan.FromSeconds(10));

            waiter.Expect <string>();

            _results = waiter.Start(TimeSpan.FromSeconds(10));
            _testmsg = "TestMsg";
            transport.Publish(_testmsg, MessageMetadata.Empty);
        }
Example #5
0
        public void Message_Envelop_should_be_serializable()
        {
            var evt   = new BalloonTitleChanged("123", Guid.NewGuid().ToString());
            var fault = new Fault <BalloonTitleChanged>(evt, new Exception(), typeof(object), Guid.NewGuid().ToString(), DateTime.Now);
            //Fault
            //ballonTitleChanged
            var msg        = new MessageMetadataEnvelop <Fault <BalloonTitleChanged> >(fault, MessageMetadata.Empty);
            var serializer = new DebugHyperionSerializer((ExtendedActorSystem)TestActorSystem.Create());

            var bytes    = serializer.ToBinary(msg);
            var restored = serializer.FromBinary(bytes, typeof(MessageMetadataEnvelop <Fault <BalloonTitleChanged> >));

            Assert.NotNull(restored);
        }