Beispiel #1
0
        private static void SetupKuduServices(IKernel kernel)
        {
            IKuduConfiguration configuration = KuduConfiguration.Load(HttpRuntime.AppDomainAppPath);

            kernel.Bind <IKuduConfiguration>().ToConstant(configuration);
            kernel.Bind <IPathResolver>().To <PathResolver>();
            kernel.Bind <ISiteManager>().To <SiteManager>().InSingletonScope();
            kernel.Bind <ICertificateSearcher>().To <CertificateSearcher>();
            kernel.Bind <IKuduContext>().To <KuduContext>();

            //TODO: Instantialte from container instead of factory.
            kernel.Bind <KuduEnvironment>().ToMethod(_ => new KuduEnvironment
            {
                RunningAgainstLocalKuduService = true,
                IsAdmin         = IdentityHelper.IsAnAdministrator(),
                ServiceSitePath = configuration.ServiceSitePath,
                SitesPath       = configuration.ApplicationsPath
            });


            // TODO: Integrate with membership system
            kernel.Bind <ICredentialProvider>().ToConstant(new BasicAuthCredentialProvider("admin", "kudu"));
            kernel.Bind <IApplicationService>().To <ApplicationService>().InRequestScope();
            kernel.Bind <ISettingsService>().To <SettingsService>();

            // Sql CE setup
            Directory.CreateDirectory(Path.Combine(configuration.RootPath, "App_Data"));
        }
Beispiel #2
0
        public void CustomHostNamesEnabled_NoConfiguration_DefaultsToFalse()
        {
            var appSettingsFake = new NameValueCollection();

            IKuduConfiguration config = CreateConfiguration(null, appSettingsFake);

            Assert.Equal(false, config.CustomHostNamesEnabled);
        }
Beispiel #3
0
        public void BasicAuthCredential_NoConfiguration_ReturnDefaultCredential( )
        {
            var appSettingsFake = new NameValueCollection( );

            IKuduConfiguration config = CreateConfiguration(null, appSettingsFake);
            var defaultCredential     = new System.Net.NetworkCredential("admin", "kudu");

            Assert.Equal(defaultCredential, config.BasicAuthCredential.GetCredentials( ));
        }
Beispiel #4
0
        public void CustomHostNamesEnabled_WithoutConfigurationSection_ReturnsLegacySetting()
        {
            var appSettingsFake = new NameValueCollection();

            appSettingsFake.Add("enableCustomHostNames", "true");

            IKuduConfiguration config = CreateConfiguration(null, appSettingsFake);

            Assert.Equal(true, config.CustomHostNamesEnabled);
        }
Beispiel #5
0
        public void CustomHostNamesEnabled_WithoutConfigurationSectionInvalid_ReturnsFalse()
        {
            var appSettingsFake = new NameValueCollection();

            appSettingsFake.Add("enableCustomHostNames", "fubar");

            IKuduConfiguration config = CreateConfiguration(null, appSettingsFake);

            Assert.Equal(false, config.CustomHostNamesEnabled);
        }
Beispiel #6
0
        public void CustomHostNamesEnabled_WithConfigurationSectionTrue_ReturnsTrue()
        {
            var configFake = new KuduConfigurationSectionFake();

            configFake.SetFake("enableCustomHostNames", true);

            IKuduConfiguration config = CreateConfiguration(configFake, new NameValueCollection());

            Assert.Equal(true, config.CustomHostNamesEnabled);
        }
Beispiel #7
0
        public void ServiceSitePath_WithConfigurationSection_ReturnsSetting()
        {
            var configFake = new KuduConfigurationSectionFake();

            configFake.SetFake("serviceSite", PathConfigurationElementFake.Fake("path", ".\\servicepath"));

            IKuduConfiguration config   = CreateConfiguration(configFake, new NameValueCollection());
            string             expected = Path.GetFullPath(".\\root_path\\servicepath");

            Assert.Equal(expected, config.ServiceSitePath);
        }
Beispiel #8
0
        public void ApplicationsPath_WithConfigurationSection_ReturnsCombinedPath()
        {
            var configFake = new KuduConfigurationSectionFake();

            configFake.SetFake("applications", PathConfigurationElementFake.Fake("path", ".\\sitespath"));

            IKuduConfiguration config   = CreateConfiguration(configFake, new NameValueCollection());
            string             expected = Path.GetFullPath(".\\root_path\\sitespath");

            Assert.Equal(expected, config.ApplicationsPath);
        }
Beispiel #9
0
        public void CertificateStores_WithEmptyConfigurationSection_DefaultsToSingleStoreMy()
        {
            var configFake = new KuduConfigurationSectionFake();
            var storesFake = new CertificateStoresConfigurationElementCollectionFake();

            configFake.SetFake("certificateStores", storesFake);

            IKuduConfiguration config = CreateConfiguration(configFake, new NameValueCollection());

            Assert.Equal(StoreName.My, config.CertificateStores.Single().Name);
        }
Beispiel #10
0
        public void BasicAuthCredential_WithConfigurationSection_ReturnBasicAuthCredentialProvider( )
        {
            var configFake = new KuduConfigurationSectionFake( );

            configFake.SetFake("basicAuth", BasicAuthConfigurationElementFake.Fake("testingUser", "testingPw"));

            IKuduConfiguration config = CreateConfiguration(configFake, new NameValueCollection( ));
            var testingCredential     = new System.Net.NetworkCredential("testingUser", "testingPw");

            Assert.Equal(testingCredential, config.BasicAuthCredential.GetCredentials( ));
        }
Beispiel #11
0
        public void BasicAuthCredential_NoConfiguration_ReturnDefaultCredential()
        {
            var appSettingsFake = new NameValueCollection();

            IKuduConfiguration config = CreateConfiguration(null, appSettingsFake);
            var defaultCredential     = new NetworkCredential("admin", "kudu");
            var configCredentials     = (NetworkCredential)config.BasicAuthCredential.GetCredentials();

            Assert.Equal(defaultCredential.UserName, configCredentials.UserName);
            Assert.Equal(defaultCredential.Password, configCredentials.Password);
        }
Beispiel #12
0
        public void ApplicationsPath_WithoutConfigurationSection_ReturnsCombinedPathUsingLegacySeeting()
        {
            var appSettingsFake = new NameValueCollection();

            appSettingsFake.Add("sitesPath", ".\\sitespath");

            IKuduConfiguration config   = CreateConfiguration(null, appSettingsFake);
            string             expected = Path.GetFullPath(".\\root_path\\sitespath");

            Assert.Equal(expected, config.ApplicationsPath);
        }
Beispiel #13
0
        public void Bindings_LegacyServiceBinding_MapsToBindingConfiguration()
        {
            var appSettingsFake = new NameValueCollection();

            appSettingsFake.Add("serviceUrlBaseValue", "kudu.svc.domain.com");

            IKuduConfiguration config = CreateConfiguration(null, appSettingsFake);

            Assert.Equal(1, config.Bindings.Count());
            Assert.Equal(UriScheme.Http, config.Bindings.First().Scheme);
            Assert.Equal("kudu.svc.domain.com", config.Bindings.First().Url);
            Assert.Equal(SiteType.Service, config.Bindings.First().SiteType);
        }
Beispiel #14
0
        public void CertificateStores_WithSingleElement_ConstainsSingleItem()
        {
            var configFake = new KuduConfigurationSectionFake();
            var storesFake = new CertificateStoresConfigurationElementCollectionFake();

            storesFake.Add(new CertificateStoreConfigurationElementFake()
                           .SetFake("name", StoreName.Root));

            configFake.SetFake("certificateStores", storesFake);

            IKuduConfiguration config = CreateConfiguration(configFake, new NameValueCollection());

            Assert.Equal(StoreName.Root, config.CertificateStores.Single().Name);
        }
Beispiel #15
0
        public void Bindings_SingleServiceBinding_MapsToBindingConfiguration()
        {
            var configFake   = new KuduConfigurationSectionFake();
            var bindingsFake = new BindingsConfigurationElementCollectionFake();

            bindingsFake.AddFake(new ServiceBindingConfigurationElementFake()
                                 .SetFake("scheme", UriScheme.Http)
                                 .SetFake("url", "kudu.svc.domain.com"));

            configFake.SetFake("bindings", bindingsFake);

            IKuduConfiguration config = CreateConfiguration(configFake, new NameValueCollection());

            Assert.Equal(1, config.Bindings.Count());
            Assert.Equal(UriScheme.Http, config.Bindings.First().Scheme);
            Assert.Equal("kudu.svc.domain.com", config.Bindings.First().Url);
            Assert.Equal(SiteType.Service, config.Bindings.First().SiteType);
        }
Beispiel #16
0
 public KuduContext(IKuduConfiguration configuration, IPathResolver paths)
 {
     Configuration = configuration;
     Paths = paths;
 }
 public CertificateSearcher(IKuduConfiguration configuration)
     : this(configuration, (name) => new X509StoreWrapper(new X509Store(name, StoreLocation.LocalMachine)))
 {
 }
 //Note: Constructor mainly here for testing
 public CertificateSearcher(IKuduConfiguration configuration, Func<StoreName, IX509Store> storeFactory)
 {
     _configuration = configuration;
     _storeFactory = storeFactory;
 }
 public CertificateSearcher(IKuduConfiguration configuration)
     : this(configuration, (name) => new X509StoreWrapper(new X509Store(name, StoreLocation.LocalMachine)))
 {
 }
 //Note: Constructor mainly here for testing
 public CertificateSearcher(IKuduConfiguration configuration, Func <StoreName, IX509Store> storeFactory)
 {
     _configuration = configuration;
     _storeFactory  = storeFactory;
 }
Beispiel #21
0
 public PathResolver(IKuduConfiguration configuration)
 {
     _configuration = configuration;
 }
 public PathResolver(IKuduConfiguration configuration)
 {
     _configuration = configuration;
 }
Beispiel #23
0
        public void CertificateStores_WithoutStoresConfiguration_DefaultsToSingleStoreMy()
        {
            IKuduConfiguration config = CreateConfiguration(null, new NameValueCollection());

            Assert.Equal(StoreName.My, config.CertificateStores.Single().Name);
        }
Beispiel #24
0
 public KuduContext(IKuduConfiguration configuration, IPathResolver paths)
 {
     Configuration = configuration;
     Paths         = paths;
 }