@@ -69,7 +69,7 @@ def test_docker_kubernetes_system_info(elasticapm_client):
6969)
7070def test_docker_kubernetes_system_info_from_environ ():
7171 # initialize agent only after overriding environment
72- elasticapm_client = Client ()
72+ elasticapm_client = Client (metrics_interval = "0ms" )
7373 # mock docker/kubernetes data here to get consistent behavior if test is run in docker
7474 with mock .patch ("elasticapm.utils.cgroup.get_cgroup_container_metadata" ) as mock_metadata :
7575 mock_metadata .return_value = {}
@@ -93,7 +93,7 @@ def test_docker_kubernetes_system_info_from_environ():
9393)
9494def test_docker_kubernetes_system_info_from_environ_overrides_cgroups ():
9595 # initialize agent only after overriding environment
96- elasticapm_client = Client ()
96+ elasticapm_client = Client (metrics_interval = "0ms" )
9797 # mock docker/kubernetes data here to get consistent behavior if test is run in docker
9898 with mock .patch ("elasticapm.utils.cgroup.get_cgroup_container_metadata" ) as mock_metadata , mock .patch (
9999 "socket.gethostname"
@@ -110,6 +110,21 @@ def test_docker_kubernetes_system_info_from_environ_overrides_cgroups():
110110 assert system_info ["container" ] == {"id" : "123" }
111111
112112
113+ @mock .patch .dict ("os.environ" , {"KUBERNETES_NAMESPACE" : "namespace" })
114+ def test_docker_kubernetes_system_info_except_hostname_from_environ ():
115+ # initialize agent only after overriding environment
116+ elasticapm_client = Client (metrics_interval = "0ms" )
117+ # mock docker/kubernetes data here to get consistent behavior if test is run in docker
118+ with mock .patch ("elasticapm.utils.cgroup.get_cgroup_container_metadata" ) as mock_metadata , mock .patch (
119+ "socket.gethostname"
120+ ) as mock_gethostname :
121+ mock_metadata .return_value = {}
122+ mock_gethostname .return_value = "foo"
123+ system_info = elasticapm_client .get_system_info ()
124+ assert "kubernetes" in system_info
125+ assert system_info ["kubernetes" ] == {"pod" : {"name" : "foo" }, "namespace" : "namespace" }
126+
127+
113128def test_config_by_environment ():
114129 with mock .patch .dict ("os.environ" , {"ELASTIC_APM_SERVICE_NAME" : "envapp" , "ELASTIC_APM_SECRET_TOKEN" : "envtoken" }):
115130 client = Client (metrics_interval = "0ms" )
0 commit comments