public ActionResult Index() { bool easyInstall = System.Configuration.ConfigurationManager.AppSettings["EasyInstall"].ToLowerInvariant() == "true"; if (!easyInstall) { return(this.Failed("Access is denied. In order to use this feature, please enter a key named EasyInstall with value true on Web.config/AppSettings.", System.Net.HttpStatusCode.Conflict)); } if (!Directory.Exists(HostingEnvironment.MapPath("~/Resources/_Configs"))) { return(this.Failed("Cannot continue. The configuration template directory: /Resources/_Configs was not found.", System.Net.HttpStatusCode.Conflict)); } var model = EasyInstallConfigFile.Get(); if (model == null) { model = new InstallViewModel { DomainName = this.Request.Url.Host, DatabaseName = ByConvention.ConvertToTenantName(this.Request.Url.Host), SqlServer = new SqlServerConfig(), PostgreSQL = new PostgreSQLConfig() }; } return(this.View("~/Views/EasyInstall.cshtml", model)); }
public static string GetDbNameByConvention(string domain = "") { var approved = GetSerializer(); var convention = new ByConvention(Log.Logger, approved); string or = GetDomain(); return(convention.GetTenantName(domain, or)); }
public void TestOrConvention(string domain, string or, string expected) { var logger = new FakeLogger(); var serializer = new FakeDomainSerializer(); var convention = new ByConvention(logger, serializer); string result = convention.GetTenantName(domain, or); Assert.Equal(expected, result); }
public static bool IsValidTenant(string tenant = "") { var logger = Log.Logger; var serializer = GetSerializer(); var convention = new ByConvention(logger, serializer); var validator = new TenantValidator(logger, serializer, convention); return(validator.IsValid(tenant)); }
public static ITenantLocator GetTenantLocator() { var logger = Log.Logger; var serializer = GetSerializer(); var byConvention = new ByConvention(logger, serializer); var extractor = new DomainNameExtractor(logger); var validator = new TenantValidator(logger, serializer, byConvention); var investigator = new TenantLocator(logger, extractor, byConvention, validator, serializer); return(investigator); }
public void ValidatorTest(string tenantName, bool expected) { var logger = new FakeLogger(); var seriazlier = new FakeDomainSerializer(); var convention = new ByConvention(logger, seriazlier); var validator = new TenantValidator(logger, seriazlier, convention); bool result = validator.IsValid(tenantName); Assert.Equal(expected, result); }
public static ApprovedDomain FindDomainByTenant(string tenant) { var logger = Log.Logger; var serializer = GetSerializer(); var convention = new ByConvention(logger, serializer); string defaultTenant = GetDefaultTenantName(); var finder = new DomainFinder(serializer, convention); return(finder.FindByTenant(tenant, defaultTenant)); }
public void ShouldFindDomainByTenantName(string defaultSite, string synonym, string expectedDomain) { var logger = new FakeLogger(); var serializer = new FakeDomainSerializer(); var convention = new ByConvention(logger, serializer); var finder = new DomainFinder(serializer, convention); var found = finder.FindBySynonym(synonym, defaultSite); string result = found.DomainName; Assert.Equal(expectedDomain, result); }
public void TestConvention(string url, string expected) { string defaultTenant = "localhost"; var logger = new FakeLogger(); var serializer = new FakeDomainSerializer(); var extractor = new DomainNameExtractor(logger); var convention = new ByConvention(logger, serializer); var validator = new TenantValidator(logger, serializer, convention); var locator = new TenantLocator(logger, extractor, convention, validator, serializer); string result = locator.FromUrl(url, defaultTenant); Assert.Equal(expected, result); }
public void TestGenerateMethod(string url, string expected) { var logger = new FakeLogger(); var extractor = new DomainNameExtractor(logger); var serializer = new FakeDomainSerializer(); var byConvention = new ByConvention(logger, serializer); var validator = new TenantValidator(logger, serializer, byConvention); const string defaultTenant = "localhost"; var locator = new TenantLocator(logger, extractor, byConvention, validator, serializer); var uri = new Uri(url); var keyGen = new CacheKeyGenerator(uri, locator, defaultTenant); string result = keyGen.Generate(); Assert.Equal(expected, result); }