public void Named_ThrowsWhenNull()
        {
            var applicationPool = WebAdministrationFactory.CreateApplicationPool();
            var sut             = new ApplicationPoolConfigurer(applicationPool);

            Assert.Throws <ArgumentNullException>(() => sut.Named(null));
        }
        public void UseLocalSystemIdentity_SetsIndentityCorrectly()
        {
            var applicationPool = WebAdministrationFactory.CreateApplicationPool();
            var sut             = new ApplicationPoolConfigurer(applicationPool);

            sut.UseLocalSystemIdentity();

            Assert.Equal(ProcessModelIdentityType.LocalSystem, applicationPool.ProcessModel.IdentityType);
        }
        public void Named_SetsTheName()
        {
            var applicationPool = WebAdministrationFactory.CreateApplicationPool();
            var sut             = new ApplicationPoolConfigurer(applicationPool);

            sut.Named("TestApplicationPool");

            Assert.Equal("TestApplicationPool", applicationPool.Name);
        }
        public void UseIntegratedPipelineMode_SetsPipelineModeCorrectly()
        {
            var applicationPool = WebAdministrationFactory.CreateApplicationPool();
            var sut             = new ApplicationPoolConfigurer(applicationPool);

            sut.UseIntegratedPipelineMode();

            Assert.Equal(ManagedPipelineMode.Integrated, applicationPool.ManagedPipelineMode);
        }
        public void Configure_GivesDirectAccessToTheApplicationPool()
        {
            var expected = WebAdministrationFactory.CreateApplicationPool();
            var sut      = new ApplicationPoolConfigurer(expected);
            var actual   = default(ApplicationPool);

            sut.Configure(x => actual = x);

            Assert.Equal(expected, actual);
        }
        public void AssertApplicationPoolExists_DoesNotThrowWhenItFindsAnApplicationPoolThatExistsWithTheGivenName()
        {
            var sut = CreateSut();

            ApplicationPool expected = WebAdministrationFactory.CreateApplicationPool();

            sut.ServerManager.ApplicationPools.Add(expected);

            sut.AssertApplicationPoolExists(expected.Name);
        }
        public void UseCustomIdentity_SetsIndentityCorrectly()
        {
            var applicationPool = WebAdministrationFactory.CreateApplicationPool();
            var sut             = new ApplicationPoolConfigurer(applicationPool);

            sut.UseCustomIdentity("TestUser", "TestPassword");

            Assert.Equal(ProcessModelIdentityType.SpecificUser, applicationPool.ProcessModel.IdentityType);
            Assert.Equal("TestUser", applicationPool.ProcessModel.UserName);
            Assert.Equal("TestPassword", applicationPool.ProcessModel.Password);
        }
        public void RemoveApplicationPool_RemovesApplicationPoolFromServerManager()
        {
            var sut = CreateSut();

            ApplicationPool applicationPool = WebAdministrationFactory.CreateApplicationPool();

            sut.ServerManager.ApplicationPools.Add(applicationPool);

            sut.RemoveApplicationPool(applicationPool.Name);

            Assert.Equal(0, sut.ServerManager.ApplicationPools.Count(appPool => appPool.Name == applicationPool.Name));
        }
        public void SutIsApplicationPoolConfigurer()
        {
            var sut = new ApplicationPoolConfigurer(WebAdministrationFactory.CreateApplicationPool());

            Assert.IsAssignableFrom <IApplicationPoolConfigurer>(sut);
        }