protected AkkaWaiterTest() { _actorSystem = TestActorSystem.Create(); _transport = new LocalAkkaEventBusTransport(_actorSystem); Waiter = new LocalMessagesWaiter(_actorSystem, _transport, TimeSpan.FromSeconds(1)); _results = ConfigureWaiter(Waiter); }
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()); }
/// <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); }
//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); }
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); }