]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: mock get_fqdn in secure alertmanager config test 50308/head
authorAdam King <adking@redhat.com>
Tue, 28 Feb 2023 15:45:03 +0000 (10:45 -0500)
committerAdam King <adking@redhat.com>
Tue, 28 Feb 2023 15:45:03 +0000 (10:45 -0500)
Before it was expecting "::1" when passed to get_fqdn to
resolve to "localhost" but in some environments it would instead
resolve to "localhost.localdomain" and the test would fail. This
test isn't testing the functionality of get_fqdn, so let's just
mock it so the test passes regardless of how get_fqdn resolves "::1"

Signed-off-by: Adam King <adking@redhat.com>
src/pybind/mgr/cephadm/tests/test_services.py

index f96f45736e184012b5063f9839d2bcfcd4ff7b25..8e37836c77b0bdb8d796ac590042454e25040f95 100644 (file)
@@ -397,11 +397,15 @@ class TestMonitoring:
                 )
 
     @patch("cephadm.serve.CephadmServe._run_cephadm")
+    @patch("socket.getfqdn")
     @patch("cephadm.module.CephadmOrchestrator.get_mgr_ip", lambda _: '::1')
     @patch("cephadm.services.monitoring.password_hash", lambda password: 'fake_password')
-    def test_alertmanager_config_security_enabled(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
+    def test_alertmanager_config_security_enabled(self, _get_fqdn, _run_cephadm, cephadm_module: CephadmOrchestrator):
         _run_cephadm.side_effect = async_side_effect(('{}', '', 0))
 
+        fqdn = 'host1.test'
+        _get_fqdn.return_value = fqdn
+
         def gen_cert(host, addr):
             return ('mycert', 'mykey')
 
@@ -416,7 +420,7 @@ class TestMonitoring:
             cephadm_module.http_server.service_discovery.ssl_certs.get_root_cert = MagicMock(side_effect=get_root_cert)
             with with_service(cephadm_module, AlertManagerSpec()):
 
-                y = dedent("""
+                y = dedent(f"""
                 # This file is generated by cephadm.
                 # See https://prometheus.io/docs/alerting/configuration/ for documentation.
 
@@ -440,7 +444,7 @@ class TestMonitoring:
                   webhook_configs:
                 - name: 'ceph-dashboard'
                   webhook_configs:
-                  - url: 'http://localhost:8080/api/prometheus_receiver'
+                  - url: 'http://{fqdn}:8080/api/prometheus_receiver'
                 """).lstrip()
 
                 web_config = dedent("""