Ejemplo n.º 1
0
        public void TestCheckAutoRenewalPeriodRequired()
        {
            // setup
            var renewalPeriodDays = 14;
            var managedSite       = new Models.ManagedSite {
                IncludeInAutoRenew = true, DateRenewed = DateTime.Now.AddDays(-15), DateExpiry = DateTime.Now.AddDays(60)
            };

            // perform check
            var isRenewalRequired = Management.CertifyManager.IsRenewalRequired(managedSite, renewalPeriodDays);

            // assert result
            Assert.IsTrue(isRenewalRequired, "Renewal should be required");
        }
Ejemplo n.º 2
0
        public void TestCheckAutoRenewalPeriodNotRequired()
        {
            // setup : set renewal period to 30 days, last renewal 15 days ago. Renewal should not be
            // required yet.
            var renewalPeriodDays = 30;
            var managedSite       = new Models.ManagedSite {
                IncludeInAutoRenew = true, DateRenewed = DateTime.Now.AddDays(-15), DateExpiry = DateTime.Now.AddDays(60)
            };

            // perform check
            var isRenewalRequired = Management.CertifyManager.IsRenewalRequired(managedSite, renewalPeriodDays);

            // assert result
            Assert.IsFalse(isRenewalRequired, "Renewal should not be required");
        }
Ejemplo n.º 3
0
        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);
        }