OpenMiInk/third_party/ci-notary-service/tests/test_util.py
Hellings b8c8ff98e2 Hi
2026-10-16 09:05:56 -04:00

55 lines
2.3 KiB
Python

# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: 2023 KDE e.V.
# SPDX-FileContributor: Ingo Klöcker <dev@ingo-kloecker.de>
import pytest
from sftpnotary import util
from sftpnotary.exceptions import Error, InvalidFileName
class TestUtil:
def test_collectArgumentsUpToSize(self):
assert list(util.collectArgumentsUpToSize(["1.exe"], 42)) == [["1.exe"]]
assert list(util.collectArgumentsUpToSize(["1.exe"], 5)) == [["1.exe"]]
with pytest.raises(Error):
list(util.collectArgumentsUpToSize(["1.exe"], 4))
assert list(util.collectArgumentsUpToSize(["1.exe", "11.exe"], 42)) == [["1.exe", "11.exe"]]
assert list(util.collectArgumentsUpToSize(["1.exe", "11.exe"], 6)) == [["1.exe"], ["11.exe"]]
with pytest.raises(Error):
list(util.collectArgumentsUpToSize(["1.exe", "11.exe"], 5))
assert list(util.collectArgumentsUpToSize(["1.exe", "2.exe", "3.exe"], 11)) == [["1.exe", "2.exe"], ["3.exe"]]
assert list(util.collectArgumentsUpToSize(["1.exe", "2.exe", "3.exe"], 10)) == [["1.exe"], ["2.exe"], ["3.exe"]]
def test_validateFileName(self):
util.validateFileName("foo.apk")
with pytest.raises(InvalidFileName):
util.validateFileName(None)
with pytest.raises(InvalidFileName):
util.validateFileName("")
with pytest.raises(InvalidFileName):
util.validateFileName("../../etc/passwd")
util.validateFileName("foo bar.apk")
util.validateFileName("foo\tbar.apk")
util.validateFileName("föö.apk")
def test_validateFileName_strict(self):
util.validateFileName("foo-arm64-v8a.apk", strict=True)
with pytest.raises(InvalidFileName):
util.validateFileName(None, strict=True)
with pytest.raises(InvalidFileName):
util.validateFileName("", strict=True)
with pytest.raises(InvalidFileName):
util.validateFileName("../../etc/passwd", strict=True)
with pytest.raises(InvalidFileName):
util.validateFileName("foo bar.apk", strict=True)
with pytest.raises(InvalidFileName):
util.validateFileName("foo\tbar.apk", strict=True)
with pytest.raises(InvalidFileName):
util.validateFileName("föö.apk", strict=True)