Skip to content

Commit 0e64ece

Browse files
authored
Move health check tests to unit test (#1172)
* BB2-3081 Move health check tests to unit test
1 parent 3a78624 commit 0e64ece

File tree

2 files changed

+157
-76
lines changed

2 files changed

+157
-76
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
import json
2+
3+
from django.test.client import Client
4+
from httmock import HTTMock, all_requests
5+
from apps.test import BaseApiTest
6+
7+
8+
class TestHealthchecks(BaseApiTest):
9+
10+
def setUp(self):
11+
self.client = Client()
12+
self.url = "http://localhost"
13+
14+
@all_requests
15+
def catchall(url, req, params):
16+
return {
17+
'status_code': 200,
18+
'content': '{"test": 1}', # bfd check looks for json for success
19+
}
20+
21+
def test_health_external(self):
22+
self._call_health_external_endpoint(False)
23+
24+
def test_health_external_endpoint_v2(self):
25+
self._call_health_external_endpoint(True)
26+
27+
def _call_health_external_endpoint(self, v2=False):
28+
with HTTMock(self.catchall):
29+
response = self.client.get(self.url + "/health/external_v2" if v2 else "/health/external")
30+
self.assertEqual(response.status_code, 200)
31+
content = json.loads(response.content)
32+
msg = None
33+
try:
34+
msg = content['message']
35+
except KeyError:
36+
pass
37+
self.assertEqual(msg, "all's well")
38+
39+
def test_health_bfd_endpoint(self):
40+
self._call_health_bfd_endpoint(False)
41+
42+
def test_health_bfd_endpoint_v2(self):
43+
self._call_health_bfd_endpoint(True)
44+
45+
def _call_health_bfd_endpoint(self, v2=False):
46+
with HTTMock(self.catchall):
47+
response = self.client.get(self.url + "/health/bfd_v2" if v2 else "/health/bfd")
48+
self.assertEqual(response.status_code, 200)
49+
content = json.loads(response.content)
50+
msg = None
51+
try:
52+
msg = content['message']
53+
except KeyError:
54+
pass
55+
self.assertEqual(msg, "all's well")
56+
57+
def test_health_db_endpoint(self):
58+
response = self.client.get(self.url + "/health/db")
59+
self.assertEqual(response.status_code, 200)
60+
content = json.loads(response.content)
61+
msg = None
62+
try:
63+
msg = content['message']
64+
except KeyError:
65+
pass
66+
self.assertEqual(msg, "all's well")
67+
68+
def test_health_sls_endpoint(self):
69+
with HTTMock(self.catchall):
70+
response = self.client.get(self.url + "/health/sls")
71+
self.assertEqual(response.status_code, 200)
72+
content = json.loads(response.content)
73+
msg = None
74+
try:
75+
msg = content['message']
76+
except KeyError:
77+
pass
78+
self.assertEqual(msg, "all's well")

apps/integration_tests/integration_test_fhir_resources.py

Lines changed: 79 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
import os
2+
# import os
33

44
from django.conf import settings
55
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
@@ -177,81 +177,84 @@ def test_health_endpoint(self):
177177
pass
178178
self.assertEqual(msg, "all's well")
179179

180-
@override_switch('require-scopes', active=True)
181-
def test_health_external_endpoint(self):
182-
self._call_health_external_endpoint(False)
183-
184-
@override_switch('require-scopes', active=True)
185-
def test_health_external_endpoint_v2(self):
186-
self._call_health_external_endpoint(True)
187-
188-
def _call_health_external_endpoint(self, v2=False):
189-
use_mslsx = os.environ.get('USE_MSLSX', None)
190-
if use_mslsx is not None and not use_mslsx == 'true':
191-
# do not ping health end point if using MSLSX
192-
client = APIClient()
193-
# no authenticate needed
194-
response = client.get(self.live_server_url + "/health/external_v2" if v2 else "/health/external")
195-
self.assertEqual(response.status_code, 200)
196-
content = json.loads(response.content)
197-
msg = None
198-
try:
199-
msg = content['message']
200-
except KeyError:
201-
pass
202-
self.assertEqual(msg, "all's well")
203-
204-
@override_switch('require-scopes', active=True)
205-
def test_health_bfd_endpoint(self):
206-
self._call_health_bfd_endpoint(False)
207-
208-
@override_switch('require-scopes', active=True)
209-
def test_health_bfd_endpoint_v2(self):
210-
self._call_health_bfd_endpoint(True)
211-
212-
def _call_health_bfd_endpoint(self, v2=False):
213-
client = APIClient()
214-
# no authenticate needed
215-
response = client.get(self.live_server_url + "/health/bfd_v2" if v2 else "/health/bfd")
216-
self.assertEqual(response.status_code, 200)
217-
content = json.loads(response.content)
218-
msg = None
219-
try:
220-
msg = content['message']
221-
except KeyError:
222-
pass
223-
self.assertEqual(msg, "all's well")
224-
225-
@override_switch('require-scopes', active=True)
226-
def test_health_db_endpoint(self):
227-
client = APIClient()
228-
# no authenticate needed
229-
response = client.get(self.live_server_url + "/health/db")
230-
self.assertEqual(response.status_code, 200)
231-
content = json.loads(response.content)
232-
msg = None
233-
try:
234-
msg = content['message']
235-
except KeyError:
236-
pass
237-
self.assertEqual(msg, "all's well")
238-
239-
@override_switch('require-scopes', active=True)
240-
def test_health_sls_endpoint(self):
241-
use_mslsx = os.environ.get('USE_MSLSX', None)
242-
if use_mslsx is not None and not use_mslsx == 'true':
243-
# do not ping health end point if using MSLSX
244-
client = APIClient()
245-
# no authenticate needed
246-
response = client.get(self.live_server_url + "/health/sls")
247-
self.assertEqual(response.status_code, 200)
248-
content = json.loads(response.content)
249-
msg = None
250-
try:
251-
msg = content['message']
252-
except KeyError:
253-
pass
254-
self.assertEqual(msg, "all's well")
180+
# Commenting the following resulting some failures in the Cloudbees CI
181+
# in contacting the test.accounts.cms.gov servers
182+
183+
# @override_switch('require-scopes', active=True)
184+
# def test_health_external_endpoint(self):
185+
# self._call_health_external_endpoint(False)
186+
187+
# @override_switch('require-scopes', active=True)
188+
# def test_health_external_endpoint_v2(self):
189+
# self._call_health_external_endpoint(True)
190+
191+
# def _call_health_external_endpoint(self, v2=False):
192+
# use_mslsx = os.environ.get('USE_MSLSX', None)
193+
# if use_mslsx is not None and not use_mslsx == 'true':
194+
# # do not ping health end point if using MSLSX
195+
# client = APIClient()
196+
# # no authenticate needed
197+
# response = client.get(self.live_server_url + "/health/external_v2" if v2 else "/health/external")
198+
# self.assertEqual(response.status_code, 200)
199+
# content = json.loads(response.content)
200+
# msg = None
201+
# try:
202+
# msg = content['message']
203+
# except KeyError:
204+
# pass
205+
# self.assertEqual(msg, "all's well")
206+
207+
# @override_switch('require-scopes', active=True)
208+
# def test_health_bfd_endpoint(self):
209+
# self._call_health_bfd_endpoint(False)
210+
211+
# @override_switch('require-scopes', active=True)
212+
# def test_health_bfd_endpoint_v2(self):
213+
# self._call_health_bfd_endpoint(True)
214+
215+
# def _call_health_bfd_endpoint(self, v2=False):
216+
# client = APIClient()
217+
# # no authenticate needed
218+
# response = client.get(self.live_server_url + "/health/bfd_v2" if v2 else "/health/bfd")
219+
# self.assertEqual(response.status_code, 200)
220+
# content = json.loads(response.content)
221+
# msg = None
222+
# try:
223+
# msg = content['message']
224+
# except KeyError:
225+
# pass
226+
# self.assertEqual(msg, "all's well")
227+
228+
# @override_switch('require-scopes', active=True)
229+
# def test_health_db_endpoint(self):
230+
# client = APIClient()
231+
# # no authenticate needed
232+
# response = client.get(self.live_server_url + "/health/db")
233+
# self.assertEqual(response.status_code, 200)
234+
# content = json.loads(response.content)
235+
# msg = None
236+
# try:
237+
# msg = content['message']
238+
# except KeyError:
239+
# pass
240+
# self.assertEqual(msg, "all's well")
241+
242+
# @override_switch('require-scopes', active=True)
243+
# def test_health_sls_endpoint(self):
244+
# use_mslsx = os.environ.get('USE_MSLSX', None)
245+
# if use_mslsx is not None and not use_mslsx == 'true':
246+
# # do not ping health end point if using MSLSX
247+
# client = APIClient()
248+
# # no authenticate needed
249+
# response = client.get(self.live_server_url + "/health/sls")
250+
# self.assertEqual(response.status_code, 200)
251+
# content = json.loads(response.content)
252+
# msg = None
253+
# try:
254+
# msg = content['message']
255+
# except KeyError:
256+
# pass
257+
# self.assertEqual(msg, "all's well")
255258

256259
@override_switch('require-scopes', active=True)
257260
def test_userinfo_endpoint(self):

0 commit comments

Comments
 (0)