public async Task Integration() { await using (var connection = Connection.OpenConnection()) { var manager = new DedupeManager(connection, "Deduplication"); await manager.Create(); } var endpoint = await StartEndpoint(); var hostBuilder = new WebHostBuilder(); hostBuilder.UseStartup <SampleStartup>(); using (var server = new TestServer(hostBuilder)) { using var client = server.CreateClient(); client.DefaultRequestHeaders.Referrer = new Uri("http://TheReferrer"); var clientFormSender = new ClientFormSender(client); var guid = Guid.NewGuid(); var first = await SendAsync(clientFormSender, guid); Assert.Equal(202, first); var second = await SendAsync(clientFormSender, guid); Assert.Equal(208, second); } Thread.Sleep(3000); await endpoint.Stop(); Assert.Equal(1, count); }
static async Task <int> SendAsync(ClientFormSender clientFormSender, Guid guid) { var message = "{}"; var send = await clientFormSender.Send( route : "/SendMessage", message : message, typeName : "DedupMessage", destination : nameof(HttpPassthroughDedupTests), messageId : guid); return(send.httpStatus); }
async Task Foo(HttpClient httpClient) { #region ClientFormSender var clientFormSender = new ClientFormSender(httpClient); await clientFormSender.Send( route : "/SendMessage", message : "{\"Property\": \"Value\"}", typeName : "TheMessageType", typeNamespace : "TheMessageNamespace", destination : "TheDestination", attachments : new() { { "fileName", Encoding.UTF8.GetBytes("fileContents") } }); #endregion }
static async Task SubmitMultipartForm() { var hostBuilder = new WebHostBuilder(); hostBuilder.UseStartup <SampleStartup>(); using var server = new TestServer(hostBuilder); using var client = server.CreateClient(); client.DefaultRequestHeaders.Referrer = new("http://TheReferrer"); var message = "{\"Property\": \"Value\"}"; var clientFormSender = new ClientFormSender(client); await clientFormSender.Send( route : "/SendMessage", message : message, typeName : "MyMessage", typeNamespace : "My.Namespace", destination : nameof(HttpPassthroughIntegrationTests), attachments : new() { { "fooFile", Encoding.UTF8.GetBytes("foo") }, { "default", Encoding.UTF8.GetBytes("bar") } });
static async Task SubmitMultipartForm() { #region asptesthost var hostBuilder = new WebHostBuilder(); hostBuilder.UseStartup <Startup>(); using var testServer = new TestServer(hostBuilder); using var httpClient = testServer.CreateClient(); var clientFormSender = new ClientFormSender(httpClient); await clientFormSender.Send( route : "/SendMessage", message : "{\"Property\": \"Value\"}", typeName : "TheMessageType", typeNamespace : "TheMessageNamespace", destination : "TheDestination", attachments : new() { { "fileName", Encoding.UTF8.GetBytes("fileContents") } }); #endregion }