mirror of
https://github.com/sabnzbd/sabnzbd.git
synced 2025-12-24 00:00:12 -05:00
68 lines
2.6 KiB
Python
68 lines
2.6 KiB
Python
#!/usr/bin/python3 -OO
|
|
# Copyright 2007-2025 by The SABnzbd-Team (sabnzbd.org)
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
"""
|
|
tests.test_nzbobject - Testing functions in nzbobject.py
|
|
"""
|
|
from sabnzbd.nzb import NzbObject
|
|
from sabnzbd.config import ConfigCat
|
|
from sabnzbd.constants import NORMAL_PRIORITY
|
|
from sabnzbd.filesystem import globber
|
|
|
|
from tests.testhelper import *
|
|
|
|
|
|
@pytest.mark.usefixtures("clean_cache_dir")
|
|
class TestNZO:
|
|
@set_config({"download_dir": SAB_CACHE_DIR})
|
|
def test_nzo_basic(self):
|
|
# Need to create the Default category, as we would in normal instance
|
|
# Otherwise it will try to save the config
|
|
def_cat = ConfigCat("*", {"pp": 3, "script": "None", "priority": NORMAL_PRIORITY})
|
|
|
|
# Create empty object, normally used to grab URL's
|
|
nzo = NzbObject("test_basic")
|
|
assert nzo.work_name == "test_basic"
|
|
assert not nzo.files
|
|
|
|
# Create NZB-file to import
|
|
nzb_fp = create_and_read_nzb_fp("basic_rar5")
|
|
|
|
# Very basic test of NZO creation with data
|
|
nzo = NzbObject("test_basic_data", nzb_fp=nzb_fp)
|
|
assert nzo.final_name == "test_basic_data"
|
|
assert nzo.files
|
|
assert nzo.files[0].filename == "testfile.rar"
|
|
assert nzo.bytes == 283
|
|
assert nzo.files[0].bytes == 283
|
|
|
|
# work_name can be trimmed in Windows due to max-path-length
|
|
assert "test_basic_data".startswith(nzo.work_name)
|
|
assert os.path.exists(nzo.admin_path)
|
|
|
|
# Check if there's an nzf file and the backed-up nzb
|
|
assert globber(nzo.admin_path, "*.nzb.gz")
|
|
assert globber(nzo.admin_path, "SABnzbd_nzf*")
|
|
|
|
# Should have picked up the default category settings
|
|
assert nzo.cat == "*"
|
|
assert nzo.script == def_cat.script() == "None"
|
|
assert nzo.priority == def_cat.priority() == NORMAL_PRIORITY
|
|
assert nzo.repair and nzo.unpack and nzo.delete
|
|
|
|
# TODO: More checks!
|