From 11ba673ab4a91eff073611521c914dd80711979e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Wed, 11 Nov 2020 02:31:00 +0100 Subject: [PATCH] software/erp5/test: check that cert and key can be passed as instance parameter Since we don't use caucase yet, it's necessary to make sure this feature is not lost. --- software/erp5/test/test/test_balancer.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/software/erp5/test/test/test_balancer.py b/software/erp5/test/test/test_balancer.py index d189c8fb4..99721fd47 100644 --- a/software/erp5/test/test/test_balancer.py +++ b/software/erp5/test/test/test_balancer.py @@ -606,6 +606,30 @@ class TestFrontendXForwardedFor(BalancerTestCase): ) +class TestServerTLSProvidedCertificate(BalancerTestCase): + """Check that certificate and key can be provided as instance parameters. + """ + __partition_reference__ = 's' + + @classmethod + def _getInstanceParameterDict(cls): + # type: () -> Dict + server_caucase = cls.getManagedResource('server_caucase', CaucaseService) + server_certificate = cls.getManagedResource('server_certificate', CaucaseCertificate) + server_certificate.request(cls._ipv4_address.decode(), server_caucase) + parameter_dict = super(TestServerTLSProvidedCertificate, cls)._getInstanceParameterDict() + with open(server_certificate.cert_file) as f: + parameter_dict['ssl']['cert'] = f.read() + with open(server_certificate.key_file) as f: + parameter_dict['ssl']['key'] = f.read() + return parameter_dict + + def test_certificate_validates_with_provided_ca(self): + # type: () -> None + server_certificate = self.getManagedResource("server_certificate", CaucaseCertificate) + requests.get(self.default_balancer_url, verify=server_certificate.ca_crt_file) + + class TestClientTLS(BalancerTestCase): __partition_reference__ = 'c' -- 2.30.9