47 Commits

Author SHA1 Message Date
Safihre
c47dbfdc26 Let unrar handle rename of chars invalid on Windows filesystem
Closes #1574

Add tests for long paths

Make sure long path is >260

Add rar test file with invalid Windows filenames

Add rar_unpack tests for unicode and passworded sets

Simplify Unrar command building

Add test for rar_invalid_windows

Remove check for 260 chars in rar_unpack

Should never happen anymore

Let Unrar rename invalid filenames

Check full path output if rar_unpack

Add helper for check

Correct test_rar_unpack_invalid_windows_filenames

Apply changes also to Direct Unpacker

Extend testing to make sure full paths are tested

Add tests for long paths inside rar

Unrar auto-rename message is different on Linux
2025-10-05 22:37:22 +02:00
Safihre
50c2d5e2ab Add time_added to History output and interface
Closes #2914
2025-08-07 16:41:01 +02:00
Safihre
552bfd4b72 Add time_added to queue output 2025-08-07 14:41:40 +02:00
Michael Nightingale
d129eec4a7 Filter rss enclosures by application/x-nzb mimetype (#3093)
* Filter rss enclosures by application/x-nzb mimetype

* Add tests and fix the failing one

* Change empty RSS entry logging to info
2025-05-22 20:44:30 +02:00
Safihre
07b64b4abb Update tests for change in webpage mounting 2024-09-04 12:09:07 +03:00
Safihre
9c8d21f6db Remove warning about AppRise
Closes #2875
2024-06-09 21:22:52 +02:00
Safihre
a4540b8deb Allow moving to archive 2024-02-23 16:19:06 +01:00
Safihre
335ae82a3d Remove text output formatting from API
Closes #2785
2024-01-26 16:20:44 +01:00
Safihre
fc756ed23d Add smarter duplicate detection (#2736)
Restore pre-queue
2023-11-28 15:30:46 +01:00
Safihre
16803b9f17 Remove build_history to unpack_history hack and make output consistent
`id` is only internal id, external apps cannot use it for anything and should use `nzo_id`
`script_log` is always empty
2023-10-06 10:20:18 +02:00
jcfp
8d6cc8c86a Fix sorting for #2551 (#2598)
* fix #2551

* add test data dirs

* move sorting test data into subdir

* undo change to sabnews.create_nzb
2023-06-23 09:06:57 +02:00
Safihre
517d6e3e1a Update tests for ppslots 2023-06-02 21:48:44 +02:00
Sander
c4216a4075 Deobfuscate filenames ON by default (#2493)
* Deobfuscate ON by default

* Correct data test set: filename that is not obfuscated. Except test_par2file

* Correct data test set: filename that is not obfuscated. Except test_par2file

* Commented out test in test_par2file.py

* Commented out test in test_par2file.py

* assert for unicode_rar 我喜欢编程 now working too

---------

Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
2023-03-15 22:31:09 +01:00
jcfp
d651f8db34 Replace series/date/movie sorters with a generic one + season pack handling (#2461)
* replace series/date/movie sorters with a generic sorter

* fix test_eval_sort on windoze

* unbreak and de-uglify the fix

* add special setting for season pack sorting

* remove unused import

* replace series/date/movie sorters with a generic sorter

* fix test_eval_sort on windoze

* unbreak and de-uglify the fix

* add special setting for season pack sorting

* remove unused import

* correct type for sort_type entries

* standardize ui

* add visual hints for drag-n-drop

* move presets directly below sort string field

* replace hex with ascii letters to avoid random occurences of (cd|e)[0-9]+

* Some styling things

---------

Co-authored-by: Safihre <safihre@sabnzbd.org>
2023-03-06 22:13:12 +01:00
jcfp
21b3b85e6e convert tests to tavern 2.0.0+ (#2468) 2023-02-20 17:08:22 +00:00
Safihre
ef2d243fa8 Move sysload indicator to status window 2022-09-22 12:48:58 +02:00
Safihre
9472d65af9 Update output tests to match removed API fields 2022-09-15 22:49:36 +02:00
Sander
3b8d6dd3c8 detect and log fully encrypted (obfuscated) rars (#2266)
* detect fully encrypted rars

* debug.warning working, nzo.fail_msg alas is overwritten

* a bit of clean-up

* a bit of clean-up

* the real clean-up

* no intermediate variable

Co-authored-by: Safihre <safihre@sabnzbd.org>

* Shorter message

Co-authored-by: Safihre <safihre@sabnzbd.org>

* more clean-up

* unittest

Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
Co-authored-by: Safihre <safihre@sabnzbd.org>
2022-08-17 02:00:26 +02:00
Safihre
8efce7430f Refactor queue-API data collection and XML output changes 2022-05-02 12:51:56 +02:00
Safihre
ff1f0986cf Remove "eta" API-fields from main queue and slots
Please let me know if this is a problem.
2022-04-28 22:11:33 +02:00
Safihre
776b0367a5 Remove Indexer Integration
Closes #2118
Closes #1317
2022-04-07 21:54:12 +02:00
Safihre
7f2ab5d629 Remove cache_max, refresh_rate, rating_enable from queue API-call
They are not queue related information
2022-03-14 16:26:35 +01:00
Safihre
bb46b474c3 Small API cleanup 2022-03-14 16:08:05 +01:00
Safihre
49ba555fc0 Revert "Change timeleft format from 0:00:00 to 0:00"
Reverts 1d3a922a7b
2022-01-08 09:45:20 +01:00
Safihre
1d3a922a7b Change timeleft format from 0:00:00 to 0:00 2022-01-06 22:10:55 +01:00
Safihre
beb8f627ee Add unit tests for par2 filejoin 2022-01-04 14:40:44 +01:00
Safihre
60b746e4dd Refactor par2cmdline processing 2022-01-04 10:16:21 +01:00
Safihre
dbef9af0df Add unit tests for Multipar and par2cmdline processing 2022-01-04 10:16:21 +01:00
Sander
1f4c7239d7 Continue after par2 renaming (#1921)
* record new files generated based on par2

* record new files generated based on par2

* test first par2 based renaming, then deobfuscate obfuscated names

* remove commented-out line

* corrected contents zip-file

* try again, github

* try again, github
2021-07-05 16:54:50 +03:00
Sander
9b870e64d2 Use puremagic to deobfuscate file extensions (#1914)
* correct_extension: basics, including unittest

* correct_extension: basics, including unittest

* correct_extension: puremagic into requirements.txt

* correct_extension: introduce a main for testing from CLI

* correct_extension: parse all parameters on CLI as files

* correct_extension: parse all parameters on CLI as files

* correct_extension: CLI parameter "-p" for privacy output

* correct_extension: has_common_extension() and most_likely_extension()

* correct_extension: has_common_extension() and most_likely_extension()

* correct_extension: add extension if file has no commonly used extension

* correct_extension: Black happy ... hopefully

* correct_extension: Black happy ... hopefully

* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples

* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples

* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples

* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples

* correct_extension: cleaned up

* correct_extension: cleaned up ... github-black now happy?

* correct_extension: cleaned up ... github-black now happy?

* correct_extension: cleaned up ... github-black now happy?

* correct_extension: cleaned up ... github-black now happy?

* correct_extension: cleaned up ... github-black now happy?

* correct_extension: easier if-then-logic, check if new_extension_to_add is filled.

* correct_extension: if puremagic does recoging txt or nzb, check ourselves

* correct_extension: if puremagic does recoging txt or nzb, check ourselves

* correct_extension: only files!

* correct_extension: only files!

* correct_extension: rNN files not common extension, plus easier testing

* correct_extension: clean-up ... no more boolean extension_too

* correct_extension: requirements.txt, solved a TODO, and use get_ext()

* correct_extension: a comment added

* correct_extension: correct typing, correct txt and nzb extension

* correct_extension: extensions always with dots, bug fix in what_is_most_likely_extension()

* correct_extension: back on track?

* correct_extension: back on track?

* correct_extension: better comments
2021-06-29 08:27:08 +03:00
Safihre
b0eaf93331 Extend unit test for par2file to check logging of par2 creator 2021-05-01 12:24:11 +02:00
Safihre
c4f0753f5a Add basic unit tests for par2file 2021-05-01 12:03:31 +02:00
puzzledsab
a56c522068 Save all interface values if useGlobalOptions is true (#1761)
* Save all interface values if useGlobalOptions is true

* Try to fix the tests

* New test test

* Another test test

* Remove default value for interface_settings
2021-01-21 19:31:33 +01:00
Safihre
9f2a9c32c0 Switch to GitHub Actions for CI
Removed the par2 files for the unicode job, they caused too much problems. It's a bad "fix" for #1509.
2020-12-12 16:52:43 +01:00
Sander
81089fc20a obfuscated rar sets: better handling missing rars (#1688)
* obfuscated rar sets: better handlin missing rars

* obfuscated rar sets: make black happy

* rarset: cleanup unused code

* rarset: cleanup unused code

* rarset: wrong is_obfuscated_filename
2020-12-06 16:39:43 +01:00
jcfp
5ea6a31bc2 Api tests (#1668)
* fix deprecation warning in sabnews regex

* enable text, xml returns from get_api_result

* add api tests

* add functional api tests

* add tavern.yaml files to test data

* explicitly add lxml to work around pip dependency issues

* prevent pytest from picking up the tavern files

* Revert "fix deprecation warning in sabnews regex"

This reverts commit 4f0b7131e7.

* address minor issues

* integrate fixtures into conftest

* black :/

* harden queue repair test

* try a workaround for extremely slow test runs on windoze

* Correct server detection in functional tests

* move scripts dir inside SAB_CACHE_DIR

* also relocate the generated script

Co-authored-by: Safihre <safihre@sabnzbd.org>
2020-11-08 18:37:48 +01:00
Safihre
4c4ffb2f54 For reliability use internal webserver to test RSS feed parsing
We already have all the dependencies due to pytest-httpbin
2020-10-02 11:34:43 +02:00
Safihre
64b78bddd6 CI pipeline optimizations
Remove PPA (not needed)
Remove LGTM (not used)
Stop logging all API-requests
2020-09-29 22:37:15 +02:00
Safihre
f54c173479 Refactor Deobfuscate final filenames
Now uses standard SABnzbd functions.
@sanderjo
2020-08-22 17:14:26 +02:00
Safihre
48d18b3866 Replace test files with smaller files
Closes #1511
2020-06-17 22:33:21 +02:00
Safihre
92efc9ed8a Improve automated download-testing
- Catch all Selenium exceptions while waiting for the download to complete
- Correctly set autodisconnect=0
- Make job-name even more unique
- Wait for the RSS-added job to finish fetching
- Move sabnzbd.basic.ini to data folder
- Use new SAB_DATA_DIR
- Optimized imports
2020-06-17 22:33:21 +02:00
Sander Jonkers
51f361f8d9 tests/data/unicode_rar: simplied chinese chars at two levels: rar and par2, and payload itself 2020-06-09 20:59:11 +02:00
Safihre
d84444ae73 Convert tests to sabnews 2020-06-09 12:35:27 +02:00
Sander
d40cebd34d pytest: postproc -> rar_renamer() (#1469)
* pytest: postproc -> rar_renamer()

* pytest: postproc -> rar_renamer(): remove trailing slash

* pytest: postproc -> rar_renamer(): remove trailing slash

* pytest: postproc -> rar_renamer(): check on matching filenames

* pytest: postproc -> rar_renamer(): appveyor Windows compatible, cleaner coding

* pytest: postproc -> rar_renamer(): appveyor Windows compatible, cleaner coding

* pytest: postproc -> rar_renamer(): try without minus

* pytest: postproc -> rar_renamer(): try with distutils.dir_util.copy_tree() instead of shutil.copytree()

* pytest: postproc -> rar_renamer(): formatting to make Travis happy

* pytest: postproc -> rar_renamer(): correct printing in pytest.fail()
2020-06-01 20:54:23 +02:00
Sander
f0ef984276 find and use obfuscated SFV files (#1459)
* isSFVfile(): Checks if given file is a SFV file, and returns result as boolean

* Obfuscated SFV files: find and use them

* Obfuscated SFV files: rename to is_sfv_file()

* is_sfv_file(): regexp based, minor stuff, pytest

* is_sfv_file(): pytest according to black
2020-05-26 10:52:58 +02:00
Safihre
973483930b Py3: Fix parsing of newznab/nZEDb/nntmux in feedparser and added tests 2019-03-04 15:35:18 +01:00
Safihre
408b84e02d Basic NZB adding via upload or from disk 2017-09-08 10:28:01 +02:00