Example #1
0
        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;
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 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);
 }
Example #5
0
 public static NodeTestFixture UseAdaper <TFrom, TTo>(this NodeTestFixture fixture, ObjectAdapter <TFrom, TTo> adapter)
 {
     fixture.OnNodeCreatedEvent += (sender, node) => node.EventsAdaptersCatalog.Register(adapter);
     return(fixture);
 }
Example #6
0
 public static NodeTestFixture EnableScheduling(this NodeTestFixture fixture, IRetrySettings config)
 {
     return(EnableScheduling(fixture, new InMemoryQuartzConfig(config)));
 }