chore: package updates and fix ci

This commit is contained in:
Andrew Herrington
2024-05-05 13:39:25 -05:00
parent 4ca01eaf0c
commit 778932a2f8
23 changed files with 749 additions and 956 deletions

View File

@@ -14,9 +14,7 @@ from healthchecks_io.client.exceptions import HCAPIError
@pytest.mark.respx
def test_create_check_200_context_manager(
fake_check_api_result, respx_mock, test_client
):
def test_create_check_200_context_manager(fake_check_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.post(checks_url).mock(
return_value=Response(
@@ -110,9 +108,7 @@ def test_update_check_200(fake_check_api_result, respx_mock, test_client):
def test_get_checks_200(fake_check_api_result, respx_mock, test_client):
assert test_client._client is not None
checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json={"checks": [fake_check_api_result]})
)
respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"checks": [fake_check_api_result]}))
checks = test_client.get_checks()
assert len(checks) == 1
assert checks[0].name == fake_check_api_result["name"]
@@ -121,13 +117,9 @@ def test_get_checks_200(fake_check_api_result, respx_mock, test_client):
@pytest.mark.respx
def test_get_checks_pass_in_client(fake_check_api_result, respx_mock):
httpx_client = HTTPXClient()
test_client = Client(
api_key="test", api_url="http://localhost/api/", client=httpx_client
)
test_client = Client(api_key="test", api_url="http://localhost/api/", client=httpx_client)
checks_url = urljoin(test_client._api_url, "checks/")
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json={"checks": [fake_check_api_result]})
)
respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"checks": [fake_check_api_result]}))
checks = test_client.get_checks()
assert len(checks) == 1
assert checks[0].name == fake_check_api_result["name"]
@@ -169,9 +161,7 @@ def test_finalizer_closes(test_client):
def test_get_check_200(fake_check_api_result, respx_mock, test_client):
assert test_client._client is not None
checks_url = urljoin(test_client._api_url, "checks/test")
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_api_result)
)
respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
check = test_client.get_check(check_id="test")
assert check.name == fake_check_api_result["name"]
@@ -188,9 +178,7 @@ def test_check_get_404(respx_mock, test_client):
@pytest.mark.respx
def test_pause_check_200(fake_check_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/pause")
respx_mock.post(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_api_result)
)
respx_mock.post(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
check = test_client.pause_check(check_id="test")
assert check.name == fake_check_api_result["name"]
@@ -208,9 +196,7 @@ def test_check_pause_404(respx_mock, test_client):
def test_delete_check_200(fake_check_api_result, respx_mock, test_client):
assert test_client._client is not None
checks_url = urljoin(test_client._api_url, "checks/test")
respx_mock.delete(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_api_result)
)
respx_mock.delete(checks_url).mock(return_value=Response(status_code=200, json=fake_check_api_result))
check = test_client.delete_check(check_id="test")
assert check.name == fake_check_api_result["name"]
@@ -226,11 +212,7 @@ def test_delete_pause404(respx_mock, test_client):
@pytest.mark.respx
def test_get_check_pings_200(fake_check_pings_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/pings/")
respx_mock.get(checks_url).mock(
return_value=Response(
status_code=200, json={"pings": fake_check_pings_api_result}
)
)
respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json={"pings": fake_check_pings_api_result}))
pings = test_client.get_check_pings("test")
assert len(pings) == len(fake_check_pings_api_result)
assert pings[0].type == fake_check_pings_api_result[0]["type"]
@@ -239,24 +221,16 @@ def test_get_check_pings_200(fake_check_pings_api_result, respx_mock, test_clien
@pytest.mark.respx
def test_get_check_flips_200(fake_check_flips_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/flips/")
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_flips_api_result)
)
respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_flips_api_result))
flips = test_client.get_check_flips("test")
assert len(flips) == len(fake_check_flips_api_result)
assert flips[0].up == fake_check_flips_api_result[0]["up"]
@pytest.mark.respx
def test_get_check_flips_params_200(
fake_check_flips_api_result, respx_mock, test_client
):
checks_url = urljoin(
test_client._api_url, "checks/test/flips/?seconds=1&start=1&end=1"
)
respx_mock.get(checks_url).mock(
return_value=Response(status_code=200, json=fake_check_flips_api_result)
)
def test_get_check_flips_params_200(fake_check_flips_api_result, respx_mock, test_client):
checks_url = urljoin(test_client._api_url, "checks/test/flips/?seconds=1&start=1&end=1")
respx_mock.get(checks_url).mock(return_value=Response(status_code=200, json=fake_check_flips_api_result))
flips = test_client.get_check_flips("test", seconds=1, start=1, end=1)
assert len(flips) == len(fake_check_flips_api_result)
assert flips[0].up == fake_check_flips_api_result[0]["up"]
@@ -273,9 +247,7 @@ def test_get_check_flips_400(fake_check_flips_api_result, respx_mock, test_clien
@pytest.mark.respx
def test_get_integrations(fake_integrations_api_result, respx_mock, test_client):
channels_url = urljoin(test_client._api_url, "channels/")
respx_mock.get(channels_url).mock(
return_value=Response(status_code=200, json=fake_integrations_api_result)
)
respx_mock.get(channels_url).mock(return_value=Response(status_code=200, json=fake_integrations_api_result))
integrations = test_client.get_integrations()
assert len(integrations) == len(fake_integrations_api_result["channels"])
assert integrations[0].id == fake_integrations_api_result["channels"][0]["id"]
@@ -284,9 +256,7 @@ def test_get_integrations(fake_integrations_api_result, respx_mock, test_client)
@pytest.mark.respx
def test_get_badges(fake_badges_api_result, respx_mock, test_client):
channels_url = urljoin(test_client._api_url, "badges/")
respx_mock.get(channels_url).mock(
return_value=Response(status_code=200, json=fake_badges_api_result)
)
respx_mock.get(channels_url).mock(return_value=Response(status_code=200, json=fake_badges_api_result))
integrations = test_client.get_badges()
assert integrations.keys() == fake_badges_api_result["badges"].keys()
@@ -352,14 +322,10 @@ ping_test_parameters = [
@pytest.mark.respx
@pytest.mark.parametrize(
"respx_mocker, tc, url, ping_method, method_kwargs", ping_test_parameters
)
@pytest.mark.parametrize("respx_mocker, tc, url, ping_method, method_kwargs", ping_test_parameters)
def test_success_ping(respx_mocker, tc, url, ping_method, method_kwargs):
channels_url = urljoin(tc._ping_url, url)
respx_mocker.post(channels_url).mock(
return_value=Response(status_code=200, text="OK")
)
respx_mocker.post(channels_url).mock(return_value=Response(status_code=200, text="OK"))
ping_method = getattr(tc, ping_method)
result, text = ping_method(**method_kwargs)
assert result is True