diff options
author | Frederick Muriuki Muriithi | 2022-02-14 14:35:29 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2022-02-17 08:23:05 +0300 |
commit | 12db8134081bc679565dfff1aaa2da81f913dd9d (patch) | |
tree | 755235e6d08057cc592f269cc1749288bd71fb01 /tests/integration | |
parent | 9879964c42a5f9373fcfa2b3685cdd74cf3ea176 (diff) | |
download | genenetwork3-12db8134081bc679565dfff1aaa2da81f913dd9d.tar.gz |
Test partial correlations endpoint with missing data in POST request
Add a test for the partial correlations endpoint, with:
- no data in the request
- missing items in the data
Fix the bugs caught by the test
Diffstat (limited to 'tests/integration')
-rw-r--r-- | tests/integration/test_partial_correlations.py | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/integration/test_partial_correlations.py b/tests/integration/test_partial_correlations.py new file mode 100644 index 0000000..5b520e0 --- /dev/null +++ b/tests/integration/test_partial_correlations.py @@ -0,0 +1,90 @@ +"""Test partial correlations""" +import pytest + +from tests.integration.conftest import client + +@pytest.mark.integration_test +@pytest.mark.parametrize( + "post_data", ( + None, {}, { + "primary_trait": None, + "control_traits": None, + "method": None, + "target_db": None + }, { + "primary_trait": None, + "control_traits": None, + "method": None, + "target_db": "a_db" + }, { + "primary_trait": None, + "control_traits": None, + "method": "a_method", + "target_db": None + }, { + "primary_trait": None, + "control_traits": None, + "method": "a_method", + "target_db": "a_db" + }, { + "primary_trait": None, + "control_traits": ["a_trait", "another"], + "method": None, + "target_db": None + }, { + "primary_trait": None, + "control_traits": ["a_trait", "another"], + "method": None, + "target_db": "a_db" + }, { + "primary_trait": None, + "control_traits": ["a_trait", "another"], + "method": "a_method", + "target_db": None + }, { + "primary_trait": None, + "control_traits": ["a_trait", "another"], + "method": "a_method", + "target_db": "a_db" + }, { + "primary_trait": "a_trait", + "control_traits": None, + "method": None, + "target_db": None + }, { + "primary_trait": "a_trait", + "control_traits": None, + "method": None, + "target_db": "a_db" + }, { + "primary_trait": "a_trait", + "control_traits": None, + "method": "a_method", + "target_db": None + }, { + "primary_trait": "a_trait", + "control_traits": None, + "method": "a_method", + "target_db": "a_db" + }, { + "primary_trait": "a_trait", + "control_traits": ["a_trait", "another"], + "method": None, + "target_db": None + }, { + "primary_trait": "a_trait", + "control_traits": ["a_trait", "another"], + "method": None, + "target_db": "a_db" + }, { + "primary_trait": "a_trait", + "control_traits": ["a_trait", "another"], + "method": "a_method", + "target_db": None + })) +def test_partial_correlation_api_with_missing_request_data(client, post_data): + "Test /api/correlations/partial" + response = client.post("/api/correlation/partial", json=post_data) + assert ( + response.status_code == 400 and response.is_json and + response.json.get("status") == "error") |