@@ -165,3 +165,36 @@ def test_foremanctl_deploy_reset_parameters(module_sat_ready_rhel):
165165 parameters_file = module_sat_ready_rhel .load_remote_yaml_file (FOREMANCTL_PARAMETERS_FILE )
166166 assert 'foreman_puma_workers' not in parameters_file
167167 assert 'pulp_worker_count' not in parameters_file
168+
169+
170+ @pytest .mark .parametrize ('module_sat_ready_rhel' , ['default' ], indirect = True )
171+ def test_foremanctl_deploy_certificate_cname (module_sat_ready_rhel ):
172+ """Verify foremanctl deploy --certificate-cname adds CNAME to server certificate SANs
173+
174+ :id: a5390e11-0e48-4a13-951f-749df8716e0c
175+
176+ :steps:
177+ 1. Run foremanctl deploy --certificate-cname with an additional DNS name
178+ 2. Verify HTTPS connectivity using the CNAME with the self-signed CA
179+
180+ :expectedresults:
181+ 1. foremanctl deploy completes successfully
182+ 2. HTTPS request via the CNAME returns HTTP 200 without certificate errors
183+ """
184+ satellite = module_sat_ready_rhel
185+ cname = f'cname.{ satellite .hostname } '
186+
187+ result = satellite .execute (
188+ f'foremanctl deploy --certificate-cname { cname } ' ,
189+ timeout = '10m' ,
190+ )
191+ assert result .status == 0 , (
192+ f'foremanctl deploy with --certificate-cname failed:\n { result .stderr } '
193+ )
194+
195+ result = satellite .execute (
196+ 'curl --fail --output /dev/null --cacert /root/certificates/certs/ca.crt '
197+ f'--resolve "{ cname } :443:127.0.0.1" '
198+ f'https://{ cname } /users/login'
199+ )
200+ assert result .status == 0 , f'HTTPS request to { cname } failed with output:\n { result .stderr } '
0 commit comments