Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions pygeoapi/api/maps.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
from pygeoapi.provider.base import (
ProviderGenericError, ProviderInvalidDataError
)
from pygeoapi.util import to_json, filter_dict_by_key_value
from pygeoapi.util import str2bool, to_json, filter_dict_by_key_value

from . import APIRequest, API, validate_datetime, validate_subset

Expand Down Expand Up @@ -132,7 +132,8 @@ def get_collection_map(api: API, request: APIRequest,

LOGGER.debug(f'Using bbox-crs: {query_args['bbox-crs']}')

query_args['transparent'] = request.params.get('transparent', True)
query_args['transparent'] = str2bool(
request.params.get('transparent', True))

try:
query_args['width'] = int(request.params.get('width', 500))
Expand Down
28 changes: 28 additions & 0 deletions tests/api/test_maps.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@

from http import HTTPStatus

import pytest

from pygeoapi.api import maps
from pygeoapi.api.maps import get_collection_map

from tests.util import mock_api_request
Expand Down Expand Up @@ -64,6 +67,31 @@ def test_get_collection_map(config, api_):
assert code == HTTPStatus.NOT_IMPLEMENTED


@pytest.mark.parametrize('value, expected', [
(None, True),
('true', True),
('True', True),
('false', False),
('False', False),
])
def test_get_collection_map_transparent(api_, monkeypatch, value, expected):
seen = {}

class Provider:
def query(self, **kwargs):
seen.update(kwargs)
return b'image'

monkeypatch.setattr(maps, 'load_plugin', lambda *args: Provider())

params = {} if value is None else {'transparent': value}
req = mock_api_request(params)
_, code, _ = get_collection_map(api_, req, 'mapserver_world_map')

assert code == HTTPStatus.OK
assert seen['transparent'] is expected


def test_map_crs_transform(config, api_):
# Florida in EPSG:4326
params = {
Expand Down