diff --git a/inventory_provider/routes/common.py b/inventory_provider/routes/common.py index 79d7c481ece2353eacecf284403a132b776281ee..6dda30525fb971c0c46987d62e17846710ef985e 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 6d7476e0fd50a2ba20d64b13cea4a2c233555e0e..97145a72eb74d86cf3b0e2c2536f006480a26741 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(): diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py index 01e17d43e355a67c24bec94ab878db90f5e4deae..f97ca9552bd7f60fb9c9932d0d450a515428378b 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', [