Esempio n. 1
0
        public async Task _01_POST_GERARCARNE_SEMID()
        {
            var container = new Container(cfg =>
            {
                cfg.Scan(scanner =>
                {
                    scanner.AssemblyContainingType <BuscarTodasCobrancasCommand>();
                    scanner.ConnectImplementationsToTypesClosing(typeof(IRequestHandler <,>));
                    scanner.ConnectImplementationsToTypesClosing(typeof(INotificationHandler <>));
                });
                cfg.For <ServiceFactory>().Use <ServiceFactory>(ctx => ctx.GetInstance);
                cfg.For <IMediator>().Use <Mediator>();
            });

            var mediator = container.GetInstance <IMediator>();

            string content = JsonConvert.SerializeObject(Fakes.CarneSemIdRequestFakeIt(), new JsonSerializerSettings
            {
                ContractResolver = new LowercaseContractResolver()
            });

            var http = new HttpAPI()
            {
                EndPoint = "/api/v2/ec/transactions/lot",
                Host     = "sandboxapi.qg2.com.br",
                Protocol = "http",
                Method   = "POST",
                Police   = new HttpPolice()
                {
                    Retry = new HttpPoliceRetry()
                    {
                        MaxRetryAttempts     = 3,
                        PauseBetweenFailures = TimeSpan.FromSeconds(3)
                    }
                },
                Content = content
            };

            http.Headers.Add("cache-control", "no-cache");
            http.Headers.Add("x-access-token", _token);

            var response = await mediator
                           .Send(new BuscarTodasCobrancasCommand()
            {
                Http = http
            });

            Assert.True(response != null && response.Count > 0);
        }