public void WithMobileAppControllerConfigProvider_Default_IsCorrect() { var config = new HttpConfiguration(); new MobileAppConfiguration() .ApplyTo(config); var provider = config.GetMobileAppControllerConfigProvider(); Assert.NotNull(provider); Assert.IsType<MobileAppControllerConfigProvider>(provider); }
public void GetMobileAppControllerConfigProvider_ReturnsDefaultInstance() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider(); // Assert Assert.NotNull(actual); Assert.IsType <MobileAppControllerConfigProvider>(actual); }
public void SetMobileAppControllerConfigProvider_ReturnsDefault_IfSetToNull() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppControllerConfigProvider(null); IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider(); // Assert Assert.NotNull(actual); Assert.IsType <MobileAppControllerConfigProvider>(actual); }
public void SetMobileAppControllerConfigProvider_Roundtrips() { // Arrange MobileAppControllerConfigProvider provider = new MobileAppControllerConfigProvider(); HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppControllerConfigProvider(provider); IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider(); // Assert Assert.Same(provider, actual); }
public void WithMobileAppControllerConfigProvider_CanBeOverridden() { var config = new HttpConfiguration(); var myProvider = new MyProvider(); new MobileAppConfiguration() .WithMobileAppControllerConfigProvider(myProvider) .ApplyTo(config); var provider = config.GetMobileAppControllerConfigProvider(); Assert.NotNull(provider); Assert.Same(myProvider, provider); Assert.IsType<MyProvider>(provider); }
public async Task WithTableControllerConfigProvider_RegistersProviderCorrectly() { // Arrange string output = string.Empty; var providerMock = new Mock<IMobileAppControllerConfigProvider>(); providerMock.Setup(p => p.Configure(It.IsAny<HttpControllerSettings>(), It.IsAny<HttpControllerDescriptor>())) .Callback(() => output += "1"); var tableProviderMock = new Mock<ITableControllerConfigProvider>(); tableProviderMock.Setup(p => p.Configure(It.IsAny<HttpControllerSettings>(), It.IsAny<HttpControllerDescriptor>())) .Callback(() => output += "2"); HttpConfiguration config = new HttpConfiguration(); var server = TestServer.Create(app => { // mock out the controller discovery to only find these var controllerTypesToReturn = new[] { typeof(MyTable1Controller), typeof(MyTable2Controller) }; SetupMockControllerResolver(config, controllerTypesToReturn); new MobileAppConfiguration() .WithTableControllerConfigProvider(tableProviderMock.Object) .WithMobileAppControllerConfigProvider(providerMock.Object) .AddTables() .ApplyTo(config); app.UseWebApi(config); }); var client = server.HttpClient; client.DefaultRequestHeaders.Add("ZUMO-API-VERSION", "2.0.0"); // Act // issue a request to initialize the config var result = await client.GetAsync("tables/mytable1"); // Assert Assert.Same(providerMock.Object, config.GetMobileAppControllerConfigProvider()); Assert.Same(tableProviderMock.Object, config.GetTableControllerConfigProvider()); // each provider should be called once for each TableController, in order. Assert.Equal("1212", output); }
public void SetMobileAppControllerConfigProvider_ReturnsDefault_IfSetToNull() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppControllerConfigProvider(null); IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider(); // Assert Assert.NotNull(actual); Assert.IsType<MobileAppControllerConfigProvider>(actual); }
public void GetMobileAppControllerConfigProvider_ReturnsDefaultInstance() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider(); // Assert Assert.NotNull(actual); Assert.IsType<MobileAppControllerConfigProvider>(actual); }