Exemplo n.º 1
0
    def test_get_ordered_certificate(
        self,
        mock_request_certificate,
        mock_finalize_authorizations,
        mock_get_authorizations,
        mock_dns_provider_service_p,
        mock_dns_provider_service,
        mock_authorization_service,
        mock_acme,
    ):
        mock_client = Mock()
        mock_acme.return_value = (mock_client, "")
        mock_request_certificate.return_value = ("pem_certificate", "chain")

        mock_cert = Mock()
        mock_cert.external_id = 1

        provider = plugin.ACMEIssuerPlugin()
        provider.get_dns_provider = Mock()
        result = provider.get_ordered_certificate(mock_cert)
        self.assertEqual(result, {
            "body": "pem_certificate",
            "chain": "chain",
            "external_id": "1"
        })
Exemplo n.º 2
0
    def test_get_ordered_certificates(
        self,
        mock_request_certificate,
        mock_finalize_authorizations,
        mock_get_authorizations,
        mock_dns_provider_service,
        mock_authorization_service,
        mock_current_app,
        mock_acme,
    ):
        mock_client = Mock()
        mock_acme.return_value = (mock_client, "")
        mock_request_certificate.return_value = ("pem_certificate", "chain")

        mock_cert = Mock()
        mock_cert.external_id = 1

        mock_cert2 = Mock()
        mock_cert2.external_id = 2

        provider = plugin.ACMEIssuerPlugin()
        provider.get_dns_provider = Mock()
        result = provider.get_ordered_certificates([mock_cert, mock_cert2])
        self.assertEqual(len(result), 2)
        self.assertEqual(
            result[0]["cert"],
            {"body": "pem_certificate", "chain": "chain", "external_id": "1"},
        )
        self.assertEqual(
            result[1]["cert"],
            {"body": "pem_certificate", "chain": "chain", "external_id": "2"},
        )
Exemplo n.º 3
0
    def test_create_certificate(
        self,
        mock_authorization_service,
        mock_request_certificate,
        mock_finalize_authorizations,
        mock_get_authorizations,
        mock_dns_provider_service,
        mock_acme,
    ):
        provider = plugin.ACMEIssuerPlugin()
        mock_authority = Mock()

        mock_client = Mock()
        mock_acme.return_value = (mock_client, "")

        mock_dns_provider = Mock()
        mock_dns_provider.credentials = '{"account_id": 1}'
        mock_dns_provider.provider_type = "route53"
        mock_dns_provider_service.get.return_value = mock_dns_provider

        issuer_options = {
            "authority": mock_authority,
            "dns_provider": mock_dns_provider,
            "common_name": "test.netflix.net",
        }
        csr = "123"
        mock_request_certificate.return_value = ("pem_certificate", "chain")
        result = provider.create_certificate(csr, issuer_options)
        assert result

        issuer_options["create_immediately"] = True
        immediate_result = provider.create_certificate(csr, issuer_options)
        assert immediate_result
Exemplo n.º 4
0
    def test_get_ordered_certificates(self, mock_request_certificate,
                                      mock_finalize_authorizations,
                                      mock_get_authorizations,
                                      mock_dns_provider_service,
                                      mock_authorization_service,
                                      mock_current_app, mock_acme):
        mock_client = Mock()
        mock_acme.return_value = (mock_client, "")
        mock_request_certificate.return_value = ("pem_certificate", "chain")

        mock_cert = Mock()
        mock_cert.external_id = 1

        mock_cert2 = Mock()
        mock_cert2.external_id = 2

        provider = plugin.ACMEIssuerPlugin()
        provider.get_dns_provider = Mock()
        result = provider.get_ordered_certificates([mock_cert, mock_cert2])
        self.assertEqual(len(result), 2)
        self.assertEqual(result[0]['cert'], {
            'body': 'pem_certificate',
            'chain': 'chain',
            'external_id': '1'
        })
        self.assertEqual(result[1]['cert'], {
            'body': 'pem_certificate',
            'chain': 'chain',
            'external_id': '2'
        })
Exemplo n.º 5
0
 def test_get_dns_provider(self, mock_current_app_cloudflare, mock_current_app_dyn, mock_current_app):
     provider = plugin.ACMEIssuerPlugin()
     route53 = provider.get_dns_provider("route53")
     assert route53
     cloudflare = provider.get_dns_provider("cloudflare")
     assert cloudflare
     dyn = provider.get_dns_provider("dyn")
     assert dyn
Exemplo n.º 6
0
 def setUp(self, mock_dns_provider_service):
     self.ACMEIssuerPlugin = plugin.ACMEIssuerPlugin()
     self.acme = plugin.AcmeHandler()
     mock_dns_provider = Mock()
     mock_dns_provider.name = "cloudflare"
     mock_dns_provider.credentials = "{}"
     mock_dns_provider.provider_type = "cloudflare"
     self.acme.dns_providers_for_domain = {
         "www.test.com": [mock_dns_provider],
         "test.fakedomain.net": [mock_dns_provider],
     }
Exemplo n.º 7
0
    def setUp(self, mock_dns_provider_service):
        self.ACMEIssuerPlugin = plugin.ACMEIssuerPlugin()
        self.acme = plugin.AcmeDnsHandler()
        mock_dns_provider = Mock()
        mock_dns_provider.name = "cloudflare"
        mock_dns_provider.credentials = "{}"
        mock_dns_provider.provider_type = "cloudflare"
        self.acme.dns_providers_for_domain = {
            "www.test.com": [mock_dns_provider],
            "test.fakedomain.net": [mock_dns_provider],
        }

        # Creates a new Flask application for a test duration. In python 3.8, manual push of application context is
        # needed to run tests in dev environment without getting error 'Working outside of application context'.
        _app = Flask('lemur_test_acme')
        self.ctx = _app.app_context()
        assert self.ctx
        self.ctx.push()
Exemplo n.º 8
0
 def setUp(self):
     self.ACMEIssuerPlugin = plugin.ACMEIssuerPlugin()