public void Initialize_Calls_MobileAppControllerConfigProvider_Then_TableControllerConfigProvider()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();
            HttpControllerSettings settings = new HttpControllerSettings(config);
            HttpControllerDescriptor descriptor = new HttpControllerDescriptor()
            {
                Configuration = config
            };

            string output = string.Empty;

            Mock<IMobileAppControllerConfigProvider> configProviderMock = new Mock<IMobileAppControllerConfigProvider>();
            configProviderMock.Setup(p => p.Configure(settings, descriptor)).Callback(() => output += "1");
            config.SetMobileAppControllerConfigProvider(configProviderMock.Object);

            Mock<ITableControllerConfigProvider> tableConfigProviderMock = new Mock<ITableControllerConfigProvider>();
            tableConfigProviderMock.Setup(p => p.Configure(settings, descriptor)).Callback(() => output += "2");
            config.SetTableControllerConfigProvider(tableConfigProviderMock.Object);

            // Act
            new TableControllerConfigAttribute().Initialize(settings, descriptor);

            // Assert
            configProviderMock.VerifyAll();
            tableConfigProviderMock.VerifyAll();
            Assert.Equal("12", output);
        }
Пример #2
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);
        }
Пример #3
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 SetMobileAppControllerConfigProvider_ReturnsDefault_IfSetToNull()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            // Act
            config.SetMobileAppControllerConfigProvider(null);
            ITableControllerConfigProvider actual = config.GetTableControllerConfigProvider();

            // Assert
            Assert.NotNull(actual);
            Assert.IsType<TableControllerConfigProvider>(actual);
        }
        /// <inheritdoc />
        public override void ApplyTo(HttpConfiguration config)
        {
            if (config.GetMobileAppConfiguration() != null)
            {
                throw new InvalidOperationException(RResources.ApplyTo_CalledTwice);
            }

            config.SetMobileAppConfiguration(this);
            config.SetMobileAppControllerConfigProvider(this.configProvider);

            base.ApplyTo(config);

            if (this.enableApiControllers)
            {
                this.MapApiControllers(config);
            }
        }
        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 Initialize_CallsRegisteredConfigProvider()
        {
            // Arrange
            var httpConfig = new HttpConfiguration();
            var mockConfigProvider = new Mock<IMobileAppControllerConfigProvider>();
            httpConfig.SetMobileAppControllerConfigProvider(mockConfigProvider.Object);
            var attr = new MobileAppControllerAttribute();
            var settings = new HttpControllerSettings(httpConfig);
            var descriptor = new HttpControllerDescriptor()
            {
                Configuration = httpConfig
            };

            // Act
            attr.Initialize(settings, descriptor);

            // Assert
            mockConfigProvider.Verify(m => m.Configure(settings, descriptor), Times.Once);
        }