Skip to content

Commit dd7e681

Browse files
author
Asher Gross-Gellman
committed
wmts cookies test
1 parent 2513b84 commit dd7e681

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

owslib/wmts.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def __getitem__(self, name):
136136
raise KeyError("No content named %s" % name)
137137

138138
def __init__(self, url, version='1.0.0', xml=None, username=None, password=None,
139-
parse_remote_metadata=False, vendor_kwargs=None, headers=None, cookies=None, auth=None,
139+
parse_remote_metadata=False, vendor_kwargs=None, headers=None, auth=None, cookies=None,
140140
timeout=30):
141141
"""Initialize.
142142
@@ -180,7 +180,7 @@ def __init__(self, url, version='1.0.0', xml=None, username=None, password=None,
180180

181181
# Authentication handled by Reader
182182
reader = WMTSCapabilitiesReader(
183-
self.version, url=self.url, headers=self.headers, cookies=self.cookies, auth=self.auth)
183+
self.version, url=self.url, headers=self.headers, auth=self.auth, cookies=self.cookies)
184184
if xml is not None: # read from stored xml
185185
self._capabilities = reader.readString(xml)
186186
else: # read from server
@@ -888,7 +888,7 @@ class WMTSCapabilitiesReader:
888888
"""Read and parse capabilities document into a lxml.etree infoset
889889
"""
890890

891-
def __init__(self, version='1.0.0', url=None, un=None, pw=None, headers=None, cookies=None, auth=None):
891+
def __init__(self, version='1.0.0', url=None, un=None, pw=None, headers=None, auth=None, cookies=None):
892892
"""Initialize"""
893893
self.version = version
894894
self._infoset = None

tests/test_wmts_cookies.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from tests.utils import scratch_file
2+
from tests.utils import service_ok
3+
4+
from owslib.wmts import WebMapTileService
5+
6+
import pytest
7+
8+
SERVICE_URL_EXAMPLE = 'https://mapsneu.wien.gv.at/basemapneu/1.0.0/WMTSCapabilities.xml'
9+
10+
11+
@pytest.mark.online
12+
@pytest.mark.skipif(not service_ok(SERVICE_URL_EXAMPLE, timeout=20),
13+
reason="WMTS service is unreachable")
14+
def test_wmts_cookies():
15+
from owslib.wmts import WebMapTileService
16+
cookies = {
17+
'cookie1': 'example1',
18+
'cookie2': 'example2'
19+
}
20+
wmts = WebMapTileService(SERVICE_URL_EXAMPLE, cookies=cookies)
21+
tile = wmts.gettile(layer="bmaporthofoto30cm", tilematrix="10", row=357, column=547)
22+
tile_raw_cookies = tile._response.request.headers['Cookie']
23+
tile_cookies = (dict(i.split('=',1) for i in tile_raw_cookies.split('; ')))
24+
assert tile_cookies.get('cookie1') == 'example1'
25+
assert tile_cookies.get('cookie2') == 'example2'

0 commit comments

Comments
 (0)