From dfb679cf566c7249d62b364b3aefa1d23fd2b360 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Mon, 14 Mar 2022 12:43:42 +0100 Subject: [PATCH] make all the default for /poller/services --- inventory_provider/routes/common.py | 2 +- inventory_provider/routes/poller.py | 5 ++--- test/test_general_poller_routes.py | 11 +++++------ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/inventory_provider/routes/common.py b/inventory_provider/routes/common.py index 79d7c481..6dda3052 100644 --- a/inventory_provider/routes/common.py +++ b/inventory_provider/routes/common.py @@ -22,7 +22,7 @@ def get_bool_request_arg(name, default=False): assert isinstance(default, bool) # sanity, otherwise caller error value = request.args.get(name, default=str(default), type=str) try: - value = strtobool(value) + value = bool(strtobool(value)) except ValueError: value = default return value diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py index 2a938f65..97145a72 100644 --- a/inventory_provider/routes/poller.py +++ b/inventory_provider/routes/poller.py @@ -1188,7 +1188,7 @@ def _get_services_internal(service_type=None): :return: service list, json-serialized to a string """ - return_all = common.get_bool_request_arg('all', False) + return_all = common.get_bool_request_arg('all', True) include_snmp = common.get_bool_request_arg('snmp', False) def _services(): @@ -1227,8 +1227,7 @@ def _get_services_internal(service_type=None): return s def _wanted_in_output(s): - return True - # return return_all or (s['status'].lower() == 'operational') + return return_all or (s['status'].lower() == 'operational') def _format_services(s): return { diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py index 01e17d43..f97ca955 100644 --- a/test/test_general_poller_routes.py +++ b/test/test_general_poller_routes.py @@ -161,7 +161,7 @@ def test_gws_indirect_snmp(client): assert all('counters' in s['snmp'] for s in response_data) -def test_all_services_default(client): +def test_get_services_default(client): rv = client.get( '/poller/services', headers=DEFAULT_REQUEST_HEADERS) @@ -171,12 +171,12 @@ def test_all_services_default(client): jsonschema.validate(response_data, poller.SERVICES_LIST_SCHEMA) assert response_data # test data is non-empty - assert all(s['status'] == 'operational' for s in response_data) + assert all('snmp' not in s for s in response_data) -def test_all_services_all(client): +def test_get_services_operational(client): rv = client.get( - '/poller/services?all=1', + '/poller/services?all=0', headers=DEFAULT_REQUEST_HEADERS) assert rv.status_code == 200 assert rv.is_json @@ -184,8 +184,7 @@ def test_all_services_all(client): jsonschema.validate(response_data, poller.SERVICES_LIST_SCHEMA) assert response_data # test data is non-empty - assert any(s['status'] != 'operational' for s in response_data) - assert all('snmp' not in s for s in response_data) + assert all(s['status'] == 'operational' for s in response_data) @pytest.mark.parametrize('service_type', [ -- GitLab