From c50bfa151ce4858c23e50727ac2bc0996752fe8b Mon Sep 17 00:00:00 2001 From: Douglas Thor Date: Wed, 20 Feb 2019 12:33:06 -0800 Subject: [PATCH] Add test to verify that put_metric sets non-given values to None (replaces the instance). --- tests/test_routes.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/test_routes.py b/tests/test_routes.py index 49d7107..be6d53b 100644 --- a/tests/test_routes.py +++ b/tests/test_routes.py @@ -174,6 +174,29 @@ def test_api_put_metric(client, populated_db): assert d['new_value']['units'] == "lines" +def test_api_put_metric_sets_other_values_to_none(client, populated_db): + name = "with_everything" + + original = client.get("/api/v1/metric/{}".format(name)) + assert original.status_code == 200 + original = original.get_json() + assert original['units'] == 'percent' + assert original['upper_limit'] == 100.0 + assert original['lower_limit'] == 20.0 + + data = {"name": name} + rv = client.put("/api/v1/metric/{}".format(name), json=data) + assert rv.status_code == 200 + + new = client.get("/api/v1/metric/{}".format(name)) + assert new.status_code == 200 + new = new.get_json() + + assert new['units'] is None + assert new['upper_limit'] is None + assert new['lower_limit'] is None + + def test_api_put_metric_not_found(client, populated_db): name = "missing" data = {