Files
project-kino/nextcloud-import/backend-nextcloud-variant/tests/test_downloader.py
Hermes Agent 884c198783 Import remaining Nextcloud Kino-Projekt material into git
Moves git-compatible content from Nextcloud
(Botomir/Projekte/Angefangen/Kino-Projekt) into this repo per cleanup
request, under nextcloud-import/ to avoid colliding with the actively
maintained backend/frontend/worker layout:

- status/planning docs (Botomir-Status.md, Plan-Botomir.md, Projektbeschreibung.md)
- docs/ (deployment.md, provider-policy.md)
- backend-nextcloud-variant/ (older app/ layout, kept for reference only)
- plugin.video.xstream/, script.module.xstreamscraper/ (vendored Kodi addon source)

A third-party Firefox extension folder was intentionally left in Nextcloud
(unrelated vendor code, not project source).
2026-08-17 10:47:13 +02:00

26 lines
840 B
Python

from pathlib import Path
import pytest
from app.providers.youtube import parse_yt_dlp_progress
from app.services.downloader import copy_tree_contents
def test_copy_tree_contents_copies_files(tmp_path: Path):
src = tmp_path / 'src'
src.mkdir()
(src / 'movie.mp4').write_bytes(b'data')
(src / 'meta.info.json').write_text('{}')
dest = tmp_path / 'dest'
copied = copy_tree_contents(src, dest)
assert sorted(p.name for p in copied) == ['meta.info.json', 'movie.mp4']
assert (dest / 'movie.mp4').read_bytes() == b'data'
def test_parse_yt_dlp_progress_lines():
assert parse_yt_dlp_progress('[download] 42.7% of 10.00MiB at 1.00MiB/s ETA 00:05') == pytest.approx(0.427)
assert parse_yt_dlp_progress('[download] 100% of 10.00MiB') == 1.0
assert parse_yt_dlp_progress('[info] unrelated') is None