protected NodeTestKit(NodeTestFixture fixture) : base(fixture.SystemConfig.Value, fixture.Name) { var testClassName = $"Logs/{GetType().Name}.log"; var logger = new XUnitAutoTestLoggerConfiguration(fixture.Output, fixture.NodeConfig.LogLevel, testClassName) .CreateLogger(); Sys.AttachSerilogLogging(logger); Node = fixture.CreateNode(() => Sys, logger).Result; }
public static NodeTestFixture IgnorePipeCommands(this NodeTestFixture fixture) { fixture.OnNodeStartedEvent += (sender, e) => { //supress errors raised by commands not reaching aggregates var nullActor = fixture.Node.System.ActorOf(BlackHoleActor.Props); //var filterActor = fixture.Node.System.ActorOf(Props.Create(() => new FilterActor(fixture.Node.Pipe.CommandExecutor))); fixture.Node.Pipe.ProcessesPipeActor.Ask <Initialized>(new Initialize(nullActor)).Wait(); }; return(fixture); }
public static NodeTestFixture EnableScheduling(this NodeTestFixture fixture, IQuartzConfig config = null, bool clearScheduledData = true) { IQuartzConfig quartzConfig = config ?? new InMemoryQuartzConfig(new InMemoryRetrySettings(5, TimeSpan.FromMinutes(10), new DefaultExceptionPolicy())); fixture.OnNodeCreatedEvent += (o, node) => { var ext = node.System.InitSchedulingExtension(quartzConfig, node.Log, node.Transport, node); node.DomainConfigurations.Add(new FutureAggregateHandlersDomainConfiguration(ext.SchedulingActor, node.Log)); }; if (clearScheduledData) { fixture.OnNodeStartedEvent += (sender, args) => fixture.Node.System.GetExtension <SchedulingExtension>().Scheduler.Clear(); } return(fixture); }
public static NodeTestFixture UseAdaper <TFrom, TTo>(this NodeTestFixture fixture, DomainEventAdapter <TFrom, TTo> adapter) where TFrom : DomainEvent where TTo : DomainEvent { fixture.OnNodeCreatedEvent += (sender, node) => node.EventsAdaptersCatalog.Register(adapter); return(fixture); }
public static NodeTestFixture UseAdaper <TFrom, TTo>(this NodeTestFixture fixture, ObjectAdapter <TFrom, TTo> adapter) { fixture.OnNodeCreatedEvent += (sender, node) => node.EventsAdaptersCatalog.Register(adapter); return(fixture); }
public static NodeTestFixture EnableScheduling(this NodeTestFixture fixture, IRetrySettings config) { return(EnableScheduling(fixture, new InMemoryQuartzConfig(config))); }