@@ -50,18 +50,55 @@ def test_version_missing(dockerflow_middleware, mocker, rf):
5050
5151
5252@pytest .mark .django_db
53- def test_heartbeat (dockerflow_middleware , reset_checks , rf , settings ):
54- request = rf .get ("/__heartbeat__" )
55- response = dockerflow_middleware .process_request (request )
53+ def test_heartbeat (client , settings ):
54+ response = client .get ("/__heartbeat__" )
5655 assert response .status_code == 200
5756
5857 settings .DOCKERFLOW_CHECKS = [
5958 "tests.django.django_checks.warning" ,
6059 "tests.django.django_checks.error" ,
6160 ]
6261 checks .register ()
63- response = dockerflow_middleware .process_request (request )
62+ response = client .get ("/__heartbeat__" )
63+ assert response .status_code == 500
64+ content = response .json ()
65+ assert content ["status" ] == "error"
66+ assert content .get ("checks" ) is None
67+ assert content .get ("details" ) is None
68+
69+
70+ @pytest .mark .django_db
71+ def test_heartbeat_debug (client , settings ):
72+ settings .DOCKERFLOW_CHECKS = [
73+ "tests.django.django_checks.warning" ,
74+ "tests.django.django_checks.error" ,
75+ ]
76+ settings .DEBUG = True
77+ checks .register ()
78+ response = client .get ("/__heartbeat__" )
6479 assert response .status_code == 500
80+ content = response .json ()
81+ assert content ["status" ]
82+ assert content ["checks" ]
83+ assert content ["details" ]
84+
85+
86+ @pytest .mark .django_db
87+ def test_heartbeat_silenced (client , settings ):
88+ settings .DOCKERFLOW_CHECKS = [
89+ "tests.django.django_checks.warning" ,
90+ "tests.django.django_checks.error" ,
91+ ]
92+ settings .SILENCED_SYSTEM_CHECKS .append ("tests.checks.E001" )
93+ settings .DEBUG = True
94+ checks .register ()
95+
96+ response = client .get ("/__heartbeat__" )
97+ assert response .status_code == 200
98+ content = response .json ()
99+ assert content ["status" ] == "warning"
100+ assert "warning" in content ["details" ]
101+ assert "error" not in content ["details" ]
65102
66103
67104@pytest .mark .django_db
@@ -75,11 +112,10 @@ def test_lbheartbeat_makes_no_db_queries(dockerflow_middleware, rf):
75112
76113
77114@pytest .mark .django_db
78- def test_redis_check (dockerflow_middleware , reset_checks , rf , settings ):
115+ def test_redis_check (client , settings ):
79116 settings .DOCKERFLOW_CHECKS = ["dockerflow.django.checks.check_redis_connected" ]
80117 checks .register ()
81- request = rf .get ("/__heartbeat__" )
82- response = dockerflow_middleware .process_request (request )
118+ response = client .get ("/__heartbeat__" )
83119 assert response .status_code == 200
84120
85121
0 commit comments