From 69c9167911a8449fef20951abe924a1c4528545c Mon Sep 17 00:00:00 2001
From: Daniel Schadt <kingdread@gmx.de>
Date: Sun, 17 Jul 2022 20:56:38 +0200
Subject: add tests for archive download

---
 tests/unit/test_util.py         |  8 ++------
 tests/unit/views/test_browse.py | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 6 deletions(-)
 create mode 100644 tests/unit/views/test_browse.py

(limited to 'tests/unit')

diff --git a/tests/unit/test_util.py b/tests/unit/test_util.py
index 8f45611..13f4bfe 100644
--- a/tests/unit/test_util.py
+++ b/tests/unit/test_util.py
@@ -1,11 +1,10 @@
-import gzip
 from datetime import timedelta
-from pathlib import Path
 
 import pytest
 import gpxpy
 from markupsafe import Markup
 
+from testutils import load_gpx_asset
 from fietsboek import util
 
 
@@ -60,10 +59,7 @@ def test_round_timedelta_to_multiple(delta, multiple, expected):
     ("MyTourbook_1.gpx.gz", timedelta(hours=2)),
 ])
 def test_guess_gpx_timezone(gpx_file, offset):
-    asset_dir = Path(__file__).parent.parent / 'assets'
-    test_file = asset_dir / gpx_file
-    with gzip.open(test_file, 'rb') as fobj:
-        parsed_gpx = gpxpy.parse(fobj)
+    parsed_gpx = gpxpy.parse(load_gpx_asset(gpx_file))
     timezone = util.guess_gpx_timezone(parsed_gpx)
     # Here we hope (and assume) that utcoffset is ignored. This is true for
     # datetime.timezone objects, but may not be for other datetime.tzinfo
diff --git a/tests/unit/views/test_browse.py b/tests/unit/views/test_browse.py
new file mode 100644
index 0000000..93eb0ae
--- /dev/null
+++ b/tests/unit/views/test_browse.py
@@ -0,0 +1,14 @@
+from fietsboek.views.browse import Stream
+
+
+class TestStream:
+    def test_write(self):
+        stream = Stream()
+        n = stream.write(b"foobar")
+        assert n == 6
+
+    def test_write_read(self):
+        stream = Stream()
+        stream.write(b"foo")
+        stream.write(b"bar")
+        assert stream.readall() == b"foobar"
-- 
cgit v1.2.3