public async Task Controller_ScopedTest() { using (var config = new HttpConfiguration()) { var container = new StashboxContainer(); config.MapHttpAttributeRoutes(); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; container.RegisterScoped <Test3>(); container.AddWebApi(config); using (var server = new HttpServer(config)) using (var client = new HttpClient(server)) { using (var response = await client.GetAsync("http://fakeurl/api/test2/value")) { response.EnsureSuccessStatusCode(); Assert.AreEqual("\"1test1test1\"", await response.Content.ReadAsStringAsync()); } using (var response = await client.GetAsync("http://fakeurl/api/test2/value")) { response.EnsureSuccessStatusCode(); Assert.AreEqual("\"2test2test2\"", await response.Content.ReadAsStringAsync()); } } } }
public async Task Controller_ValidationTest() { using (var config = new HttpConfiguration()) { var container = new StashboxContainer(); config.MapHttpAttributeRoutes(); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; container.Register <Test>().Register <Test2>(); container.AddWebApi(config); using (var server = new HttpServer(config)) using (var client = new HttpClient(server)) { var content = new ObjectContent <TestRequest>(new TestRequest { Sample = "test" }, new JsonMediaTypeFormatter()); using (var response = await client.PostAsync("http://fakeurl/api/test/value", content)) response.EnsureSuccessStatusCode(); } } }
public async Task Controller_ActionFilterTest() { using (var config = new HttpConfiguration()) { var container = new StashboxContainer(); config.MapHttpAttributeRoutes(); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; container.Register <Test>().Register <Test2>(); container.AddWebApi(config); using (var server = new HttpServer(config)) using (var client = new HttpClient(server)) { using (var response = await client.GetAsync("http://fakeurl/api/test/value")) { response.EnsureSuccessStatusCode(); Assert.IsTrue(response.Headers.Contains("test")); Assert.AreEqual("test", response.Headers.GetValues("test").First()); Assert.AreEqual("\"test2\"", await response.Content.ReadAsStringAsync()); } } } }