public async Task TestLoadManagedSites() { var managedSiteSettings = new Management.ItemManager(); managedSiteSettings.StorageSubfolder = "Tests"; var managedSites = await managedSiteSettings.GetManagedSites(); Assert.IsTrue(managedSites.Count > 0); }
public async Task TestCreateDeleteManagedSite() { var itemManager = new Management.ItemManager(); itemManager.StorageSubfolder = "Tests"; var testSite = new ManagedSite { Id = Guid.NewGuid().ToString(), Name = "TestSite..", GroupId = "test", RequestConfig = new CertRequestConfig { PrimaryDomain = "testsite.com", ChallengeType = "http-01", PerformAutoConfig = true, PerformAutomatedCertBinding = true, PerformChallengeFileCopy = true, PerformExtensionlessConfigChecks = true, WebsiteRootPath = "c:\\inetpub\\wwwroot" }, ItemType = ManagedItemType.SSL_LetsEncrypt_LocalIIS }; var managedSite = await itemManager.UpdatedManagedSite(testSite); Assert.IsNotNull(managedSite, "Create/store managed site"); //check site now exists managedSite = await itemManager.GetManagedSite(testSite.Id); Assert.IsNotNull(managedSite, "Retrieve managed site"); await itemManager.DeleteManagedSite(managedSite); managedSite = await itemManager.GetManagedSite(testSite.Id); // now check site has been delete Assert.IsNull(managedSite, "Managed site deleted"); }
public void TestCheckLargeManagedSiteSettingSave() { var managedSiteSettings = new Management.ItemManager(); managedSiteSettings.StorageSubfolder = "Tests"; managedSiteSettings.LoadSettings(); managedSiteSettings.DeleteAllManagedSites(); managedSiteSettings.StoreSettings(); var numTestManagedSites = 10000; var numSANsPerSite = 2; for (var i = 0; i < numTestManagedSites; i++) { var testname = Guid.NewGuid().ToString(); var site = new Models.ManagedSite { Id = Guid.NewGuid().ToString(), Name = testname, GroupId = "test", RequestConfig = new Models.CertRequestConfig { PrimaryDomain = testname + ".com", ChallengeType = "http-01", PerformAutoConfig = true, PerformAutomatedCertBinding = true, PerformChallengeFileCopy = true, PerformExtensionlessConfigChecks = true, WebsiteRootPath = "c:\\inetpub\\wwwroot" }, ItemType = Models.ManagedItemType.SSL_LetsEncrypt_LocalIIS }; site.DomainOptions.Add(new Models.DomainOption { Domain = testname + ".com", IsPrimaryDomain = true, IsSelected = true }); for (var d = 0; d < numSANsPerSite; d++) { site.DomainOptions.Add(new Models.DomainOption { Domain = d + "." + testname + ".com", IsPrimaryDomain = false, IsSelected = true }); } //add new site managedSiteSettings.UpdatedManagedSite(site, false, false); } // save new items managedSiteSettings.StoreSettings(); // reload settings var stopwatch = System.Diagnostics.Stopwatch.StartNew(); managedSiteSettings.LoadSettings(); stopwatch.Stop(); Assert.IsTrue(stopwatch.ElapsedMilliseconds < 20 * numTestManagedSites, "Should load quickly : (ms) " + stopwatch.ElapsedMilliseconds); var managedSites = managedSiteSettings.GetManagedSites(); // assert result Assert.IsTrue(managedSites.Count == numTestManagedSites, "Should have loaded required number of sites " + managedSites.Count); }