Beispiel #1
0
        public void TestMethod1()
        {
            var bus = new InMemoryMessageBus();
            var lHandler = new CreateCommandHandlers();
            CreateCommand lCommand = new CreateCommand(Guid.NewGuid());

            bus.RegisterHandler<CreateCommand>(lHandler.Handle);
            bus.Send(lCommand);

            Assert.IsTrue(lHandler.HandledIds.Contains(lCommand.Id));
        }
Beispiel #2
0
        public void TestMethod1()
        {
            var           bus      = new InMemoryMessageBus();
            var           lHandler = new CreateCommandHandlers();
            CreateCommand lCommand = new CreateCommand(Guid.NewGuid());

            bus.RegisterHandler <CreateCommand>(lHandler.Handle);
            bus.Send(lCommand);

            Assert.IsTrue(lHandler.HandledIds.Contains(lCommand.Id));
        }
Beispiel #3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var dataBaseRoot = new InMemoryDatabaseRoot();

            services.AddDbContext <ApiContext>(opt => opt.UseInMemoryDatabase("BooksDb"));
            services.AddDbContext <OrderContext>(opt => opt.UseInMemoryDatabase("OrdersDb"));
            services.AddDbContext <ShippingContext>(opt => opt.UseInMemoryDatabase("ShippingDb", dataBaseRoot));
            services.AddTransient <PurchaseOrderReceivedHandler>();
            var sp  = services.BuildServiceProvider();
            var bus = new InMemoryMessageBus();

            var optionsBuilder = new DbContextOptionsBuilder <ShippingContext>();

            optionsBuilder.UseInMemoryDatabase("ShippingDb", dataBaseRoot);
            var context = new ShippingContext(optionsBuilder.Options);
            var shippingOrderHandler = new PurchaseOrderReceivedHandler(bus, context);

            bus.RegisterHandler <PurchaseOrderReceived>(e => shippingOrderHandler.Handle(e));

            services.AddSingleton <InMemoryMessageBus>(bus);

            // services.AddAuthentication(options =>
            //   {
            //     options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
            //   })
            //     .AddJwtBearer(jwtOptions =>
            //     {
            //       jwtOptions.Authority = $"https://login.microsoftonline.com/tfp/{Configuration["AzureAdB2C:Tenant"]}/{Configuration["AzureAdB2C:Policy"]}/v2.0/";
            //       jwtOptions.Audience = Configuration["AzureAdB2C:ClientId"];
            //       jwtOptions.Events = new JwtBearerEvents
            //       {
            //         OnAuthenticationFailed = AuthenticationFailed
            //       };
            //     });

            services.AddAzureAdB2CAuthentication();

            services.AddMvc(setupAction => {
                var inputFormatter = setupAction.InputFormatters.OfType <JsonInputFormatter>().FirstOrDefault();

                if (inputFormatter != null)
                {
                    inputFormatter.SupportedMediaTypes.Add("application/json-patch+json");
                }
            });
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "Books Store", Version = "v1"
                });
            });
        }