stumpylog
8849aff5d9
Chore: Run read-only migration tests through one migration cycle per class
...
Each TestMigrations test migrates back, seeds, migrates forward and returns to
the latest migration, which is slow. The fulltext query
prefix, sha256 checksum and skip archive file classes only read the migrated
data, so they now opt in to migrate_once: the first test runs the migration,
the rest reuse its state, and the schema is restored and the tables flushed in
tearDownClass.
2026-09-21 11:45:28 -07:00
Trenton H
f440e8d33c
Chore: Move unittest directory setup onto the shared fixture ( #14172 )
...
The unittest side of the suite built its temp directory tree with
tempfile.mkdtemp and a manually enabled override_settings, cleaned up only if
tearDown ran. That is now gone. DirectoriesMixin lives alongside the layout it
bridges and does nothing but hand the paperless_dirs fixture to TestCase
subclasses as self.dirs, so both halves of the suite get the same twelve
settings, the same directory shapes and cleanup owned by tmp_path.
The mixin moves to paperless_testing.dirs rather than staying in the documents
test utilities, because modules in paperless and paperless_mail import it
across the app boundary. The thirty-eight consuming modules change only their
import line; self.dirs.scratch_dir and its siblings keep working.
2026-09-21 10:57:12 -07:00
Trenton H
4c264651e8
Chore: State the test directory layout in one place ( #14171 )
...
The temp directory layout used by the tests was written out four separate
times: once in the documents conftest, once in the paperless checks tests,
once in a fixture local to the NFC upload tests, and once in the helper
behind the old paperless_environment context manager. Each copy covered a
different subset of the settings, so which directories a test actually got
depended on which copy it happened to reach.
The layout now lives in paperless_testing.dirs. build_paperless_dirs owns
where things go and creates them, dirs_settings maps them onto Django
setting names and is pure, and a paperless_dirs fixture in the root conftest
applies that mapping through pytest-django's settings fixture so every app
can reach it. Tests that need a second environment part way through a test
body use the paperless_environment context manager from the same module,
which expresses the identical layout through override_settings. The three
redundant implementations and the old media settings fixture are gone, and
their consumers now take paperless_dirs.
2026-09-21 10:57:11 -07:00
Trenton H
d02d1e1711
Chore: Remove unused test helpers ( #14166 )
2026-09-21 10:57:10 -07:00
Trenton H
14fe520319
Chore: Update typing and baselines again ( #12641 )
...
a
2026-04-28 09:28:05 -07:00
Trenton H
a2dbe17a78
Fix: Use FileResponse for file API responses ( #12638 )
...
* Updates code to use a FileResponse for streaming and unlink the file, but keep a handle to it
* Transitions the rest of the code to use FileResponse instead of a basic response, fixes up tests which assumed .content exists
* While here, let's add schema for it
2026-04-25 06:40:09 -07:00
Trenton H
fbf4e32646
Chore: Converts all call sites and test asserts to use apply_async and headers ( #12591 )
2026-04-20 11:40:04 -07:00
Trenton H
c2f02851da
Chore: Better typed status manager messages ( #12509 )
2026-04-03 21:18:01 +00:00
aed9abe48c
Feature: Replace Whoosh with tantivy search backend ( #12471 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Antoine Mérino <3023499+Merinorus@users.noreply.github.com >
2026-04-02 12:38:22 -07:00
Jan Kleine and shamoon
0bc032a67d
Development: improve test portability ( #12187 )
...
* Fix: improve test portability
* Make settings always consistent
* Make a few more tests deterministic wrt settings
* Dont pollute settings for this one
* Fix timezone issue with mail parser
* Update test_parser.py
* Uh, I guess OCR gives variants for this
---------
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com >
2026-02-27 23:24:11 +00:00
shamoon
00ef0837d2
Fix: re-run ASN check after barcode detection ( #11681 )
2026-02-02 23:23:37 +00:00
Sebastian Steinbeißer
3b5ffbf9fa
Chore(mypy): Annotate None returns for typing improvements ( #11213 )
2026-02-02 08:44:12 -08:00
shamoon and Trenton H
4cff907ba0
Feature: Nested Tags ( #10833 )
...
---------
Co-authored-by: Trenton H <797416+stumpylog@users.noreply.github.com >
2025-09-17 21:41:39 +00:00
shamoon
e97cfb9b5e
Chore: refactor consumer plugin checks to a pre-flight plugin ( #9994 )
2025-06-03 19:28:49 +00:00
Silvia Bigler and shamoon
71472a6a82
Enhancement: add layout options for email conversion ( #8907 )
...
---------
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com >
2025-02-07 18:32:35 +00:00
dependabot[bot] and shamoon
20ec8cb57b
Chore(deps-dev): Bump the development group with 2 updates ( #8841 )
...
* Chore(deps-dev): Bump the development group with 2 updates
Bumps the development group with 2 updates: [ruff](https://github.com/astral-sh/ruff ) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material ).
Updates `ruff` from 0.8.6 to 0.9.2
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.6...0.9.2 )
Updates `mkdocs-material` from 9.5.49 to 9.5.50
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases )
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG )
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.49...9.5.50 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: mkdocs-material
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update .pre-commit-config.yaml
* Run new ruff format
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com >
2025-01-21 19:22:25 +00:00
Trenton H
e6f59472e4
Chore: Drop Python 3.9 support ( #7774 )
2024-09-26 12:22:24 -07:00
Trenton H
085447e7c4
Feature: Allow a data only export/import cycle ( #6871 )
2024-06-01 18:22:59 -07:00
Trenton H
b720aa3cd1
Chore: Convert the consumer to a plugin ( #6361 )
2024-04-18 02:59:14 +00:00
dependabot[bot] and Trenton H
a196c14a58
Chore(deps-dev): Bump the development group with 3 updates ( #6079 )
...
* Chore(deps-dev): Bump the development group with 3 updates
Bumps the development group with 3 updates: [ruff](https://github.com/astral-sh/ruff ), [pytest](https://github.com/pytest-dev/pytest ) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material ).
Updates `ruff` from 0.3.0 to 0.3.2
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/v0.3.0...v0.3.2 )
Updates `pytest` from 8.0.2 to 8.1.1
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.2...8.1.1 )
Updates `mkdocs-material` from 9.5.12 to 9.5.13
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases )
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG )
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.12...9.5.13 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
- dependency-name: pytest
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: mkdocs-material
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
...
Signed-off-by: dependabot[bot] <support@github.com >
* Updates pre-commit hook versions and runs it against all files
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Trenton H <797416+stumpylog@users.noreply.github.com >
2024-03-12 07:56:01 -07:00
Trenton H
4813a7bc70
Chore: Adds additional rules for Ruff linter ( #5660 )
2024-02-05 21:46:59 +00:00
Trenton H
2da5e46386
Refactor file consumption task to allow beginnings of a plugin system ( #5367 )
2024-01-13 16:11:14 +00:00
shamoon
3b6ce16f1c
Feature: Workflows ( #5121 )
2024-01-03 08:19:19 +00:00
Trenton H
122e4141b0
Fix: Document metadata is lost during barcode splitting ( #4982 )
...
* Fixes barcode splitting dropping metadata that might be needed for the round 2
2023-12-15 09:17:25 -08:00
Trenton Holmes
650c816a7b
Removes support for Python 3.8 and lower from the code base
2023-09-10 11:42:59 -07:00
Trenton H
46a39190a4
Ignores coverage data in the error cases
2023-09-08 19:20:08 -07:00
Trenton H
a2f738772c
Fixes handling of exception chains in the util
2023-09-08 19:20:08 -07:00
Trenton H
a1697ff21c
Combine and extend the utility for calling the live services to be more robust against failures, reporting, etc
2023-09-08 19:20:08 -07:00
Trenton H
2c1cd25be4
Rewrites the email parsing to be more clear and concise.
...
Adds testing to use httpx mocked responses to stand in as a server even offline
2023-06-06 09:05:26 -07:00
Trenton H
6f163111ce
Upgrades black to v23, upgrades ruff
2023-04-26 09:35:27 -07:00
Trenton H
3bcbd05252
Fixes ruff not running isort against the codebase
2023-04-26 09:35:27 -07:00
Trenton H
3c2bbf244d
Creates a data model for the document consumption, allowing stronger typing of arguments and setting of some information about the file only once
2023-04-01 11:05:34 -07:00
Trenton H
41bcfcaffe
Changes out the settings and a decent amount of test code to be pathlib compatible
2023-03-06 09:16:07 -08:00
Trenton H
8df1324afd
Updates the latest test to use status codes
2023-02-20 10:25:21 -08:00
Trenton Holmes
0df91c31f1
Creates a mix-in for asserting file system states
2023-02-20 10:25:21 -08:00
Trenton H
4fce5aba63
Moves ASN barcode testing into a dedicated class
2023-01-27 12:24:47 -08:00
Trenton Holmes
cbe567069f
Fixes the whitenoise warning in the test suite
2022-07-02 16:19:22 +02:00
Trenton Holmes
3003bdd507
Runs pyupgrade to Python 3.8+ and adds a hook for it
2022-05-06 09:04:08 -07:00
Trenton Holmes
1771d18a21
Runs the pre-commit hooks over all the Python files
2022-03-11 11:34:28 -08:00
kpj
fc695896dd
Format Python code with black
2022-02-27 15:26:41 +01:00
jonaswinkler
1ba89ddd09
refactor migration tests to allow testing for exceptions while migrating
2021-02-09 19:47:50 +01:00
jonaswinkler
302ebf737e
refactor migration test case
2021-02-08 13:18:39 +01:00
jonaswinkler
fe435f6653
update API access for logs
2021-02-06 17:02:00 +01:00
jonaswinkler
b787983e42
more tests
2020-12-15 13:47:43 +01:00
jonaswinkler
bfbdd6e198
testing the importer
2020-12-05 13:19:14 +01:00
jonaswinkler
eeb63693c9
tests
2020-11-29 18:37:31 +01:00
jonaswinkler
51851ff15a
tests
2020-11-29 13:37:39 +01:00
jonaswinkler
bc4192e7d1
more tests and bugfixes.
2020-11-27 15:36:32 +01:00
jonaswinkler
6834e563a8
refactored the test cases to use a mixin for setting up temporary directories.
2020-11-27 14:00:41 +01:00
jonaswinkler
4bf0d834a0
improved test cases. Python 3.6 compatibility.
2020-11-26 22:17:14 +01:00