public async Task RenewCertificateDnsChallengeTest()
        {
            var config         = new AppSettingsAuthConfig();
            var dnsEnvironment = new AzureDnsEnvironment(config.Tenant, new Guid("14fe4c66-c75a-4323-881b-ea53c1d86a9d"), config.ClientId, config.ClientSecret, "dns", "ai4bots.com", "@");
            var mgr            = new CertificateManager(config, config, new WebAppCertificateService(config, new CertificateServiceSettings()
            {
                UseIPBasedSSL = config.UseIPBasedSSL
            }), new AzureDnsAuthorizationChallengeProvider(dnsEnvironment));
            var result = await mgr.RenewCertificate(renewXNumberOfDaysBeforeExpiration : 200);

            Assert.AreNotEqual(0, result.Count());
        }
        public async Task RequestCertificateDnsChallengeTest()
        {
            var config         = new AppSettingsAuthConfig();
            var dnsEnvironment = new AzureDnsEnvironment(config.Tenant, new Guid("14fe4c66-c75a-4323-881b-ea53c1d86a9d"), config.ClientId, config.ClientSecret, "dns", "ai4bots.com", "@");

            var res = await CertificateManager.RequestDnsChallengeCertificate(dnsEnvironment, new AcmeConfig()
            {
                Host              = "ai4bots.com",
                PFXPassword       = "******",
                RegistrationEmail = "*****@*****.**",
                RSAKeyLength      = 2048
            });

            Assert.IsTrue(res.CertificateInfo.Certificate.Subject.Contains("ai4bots.com"));
        }
        public async Task AddCertificateDnsChallengeTest()
        {
            var config = new AppSettingsAuthConfig();

            var dnsEnvironment = new AzureDnsEnvironment(config.Tenant, new Guid("14fe4c66-c75a-4323-881b-ea53c1d86a9d"), config.ClientId, config.ClientSecret, "dns", "ai4bots.com", "letsencrypt");
            var mgr            = new CertificateManager(config, new AcmeConfig()
            {
                Host              = "letsencrypt.ai4bots.com",
                PFXPassword       = "******",
                RegistrationEmail = "*****@*****.**",
                RSAKeyLength      = 2048
            }, new WebAppCertificateService(config, new CertificateServiceSettings()
            {
                UseIPBasedSSL = config.UseIPBasedSSL
            }), new AzureDnsAuthorizationChallengeProvider(dnsEnvironment));
            var result = await mgr.AddCertificate();

            Assert.IsNotNull(result);
        }