コード例 #1
0
ファイル: ManagedSiteTests.cs プロジェクト: timnboys/certify
        public async Task TestLoadManagedSites()
        {
            var managedSiteSettings = new Management.ItemManager();

            managedSiteSettings.StorageSubfolder = "Tests";

            var managedSites = await managedSiteSettings.GetManagedSites();

            Assert.IsTrue(managedSites.Count > 0);
        }
コード例 #2
0
ファイル: ManagedSiteTests.cs プロジェクト: timnboys/certify
        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");
        }
コード例 #3
0
ファイル: ManagedSiteTests.cs プロジェクト: niu789/certify
        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);
        }