예제 #1
0
 protected static void SendTestMessages(EndpointBehaviorBuilder <Context> b)
 {
     b.Given((bus, context) => Parallel.For(0, context.NumberOfTestMessages, (s, c) => bus.SendLocal(new MyMessage
     {
         SomeId = Guid.NewGuid()
     })));
 }
        public IScenarioWithEndpointBehavior <TContext> WithEndpoint(EndpointConfigurationBuilder endpointConfigurationBuilder, Action <EndpointBehaviorBuilder <TContext> > defineBehavior)
        {
            var builder = new EndpointBehaviorBuilder <TContext>(endpointConfigurationBuilder);

            defineBehavior(builder);
            behaviors.Add(builder.Build());

            return(this);
        }
예제 #3
0
        public IScenarioWithEndpointBehavior <TContext> WithEndpoint <T>(Action <EndpointBehaviorBuilder <TContext> > defineBehavior) where T : EndpointConfigurationBuilder
        {
            var builder = new EndpointBehaviorBuilder <TContext>(typeof(T));

            defineBehavior(builder);

            behaviors.Add(builder.Build());

            return(this);
        }
    static void SetupTenantDatabases(EndpointBehaviorBuilder <Context> builder)
    {
        EndpointConfiguration cfg = null;

        builder.CustomConfig(c => cfg = c);

        builder.When((session, context) =>
        {
            var tablePrefix = cfg.GetSettings().EndpointName().Replace(".", "_");
            MsSqlConnectionBuilder.MultiTenant.Setup("TenantA");
            MsSqlConnectionBuilder.MultiTenant.Setup("TenantB");
            var helperA     = new ConfigureEndpointHelper(cfg, tablePrefix, () => MsSqlConnectionBuilder.MultiTenant.Build("TenantA"), BuildSqlDialect.MsSqlServer, null);
            var helperB     = new ConfigureEndpointHelper(cfg, tablePrefix, () => MsSqlConnectionBuilder.MultiTenant.Build("TenantB"), BuildSqlDialect.MsSqlServer, null);
            context.Cleanup = () =>
            {
                helperA.Cleanup();
                helperB.Cleanup();
            };
            return(Task.FromResult(0));
        });
    }
예제 #5
0
 private static EndpointBehaviorBuilder <Context> SendMessages(EndpointBehaviorBuilder <Context> b)
 {
     return(b.Given((bus, context) => Parallel.For(0, context.NumberOfTestMessages, (s, c) => bus.Send(new MyMessage()))));
 }
예제 #6
0
 public static EndpointBehaviorBuilder <TContext> When <TContext>(this EndpointBehaviorBuilder <TContext> endpointBehavior, Func <TContext, Task <bool> > predicate, Func <IMessageSession, TContext, Task> action) where TContext : ScenarioContext
 {
     return(endpointBehavior.When(ctx => predicate(ctx).GetAwaiter().GetResult(), action));
 }
예제 #7
0
 EndpointBehaviorBuilder <Context> SendMessages(EndpointBehaviorBuilder <Context> b)
 {
     return(b.Given((bus, context) => bus.SendLocal(new Message())));
 }