FreedomBox/plinth/modules/kiwix/tests/test_validations.py
Sunil Mohan Adapa cfdf92cf0d
kiwix: Fix various issues after review
- Fix icon paths in copyright file.

- Minor refactoring.

- Add Kiwix library link to app page as well as users may want to see the
  content available before installing the app.

- Consolidate terminology to 'content package' for UI and just 'package'
internally.

- Drop unused SYSTEM_USER constant.

- Simplify the ExecStart= in systemd service file.

- Fix incorrect i18n caused by non-lazy formatting of strings.

- Confirm that xml parsing is not vulnerable as expat library of required
version is used in Debian bookworm.

- Don't start the kiwix daemon when managing library if app is disabled.

- Ignore errors when removing files during uninstallation.

- Handle failures more gracefully when library XML file does not have required
attributes.

- Update SVG/PNG icons to adhere to FreedomBox guidelines.

- Trim block translations in templates.

- Drop comments/deadcode inside translation strings.

- Drop a comment inside add content page that only makes sense with multiple
methods for adding content.

- tests: Don't use pkg_resources library as it is deprecated. We can use
importlib.resources library in future if we run tests on zip installations.

- Fix potential security issues while writing file to tmp directory.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-10-17 13:40:31 -07:00

21 lines
571 B
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Test module for Kiwix validations.
"""
import pytest
from plinth.modules import kiwix
def test_add_file_with_invalid_extension():
"""Test that adding a file with invalid fails as expected."""
with pytest.raises(ValueError):
kiwix.validate_file_name('wikipedia.zip')
# We don't support the legacy format of split zim files.
with pytest.raises(ValueError):
kiwix.validate_file_name('wikipedia_en_all_maxi_2022-05.zima')
kiwix.validate_file_name('wikipedia_en_all_maxi_2022-05.zim')