public void WithMobileAppControllerConfigProvider_Default_IsCorrect()
        {
            var config = new HttpConfiguration();
            new MobileAppConfiguration()
                .ApplyTo(config);

            var provider = config.GetMobileAppControllerConfigProvider();
            Assert.NotNull(provider);
            Assert.IsType<MobileAppControllerConfigProvider>(provider);
        }
Пример #2
0
        public void GetMobileAppControllerConfigProvider_ReturnsDefaultInstance()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            // Act
            IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider();

            // Assert
            Assert.NotNull(actual);
            Assert.IsType <MobileAppControllerConfigProvider>(actual);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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 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 GetMobileAppControllerConfigProvider_ReturnsDefaultInstance()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            // Act
            IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider();

            // Assert
            Assert.NotNull(actual);
            Assert.IsType<MobileAppControllerConfigProvider>(actual);
        }