18 lines
602 B
Python
18 lines
602 B
Python
import pytest
|
|
from upload.backend.upload_refs.safe_name import safe_name
|
|
|
|
|
|
def test_safe_name_simple():
|
|
assert safe_name("test.txt") == "test.txt"
|
|
assert safe_name("folder/subfolder/file.pdf") == "folder/subfolder/file.pdf"
|
|
assert safe_name("folder\\subfolder\\file.pdf") == "folder/subfolder/file.pdf"
|
|
|
|
|
|
def test_safe_name_traversal():
|
|
assert safe_name("../etc/passwd") == ""
|
|
assert safe_name("folder/../../etc/passwd") == ""
|
|
assert safe_name("/root/file.txt") == "root/file.txt"
|
|
assert safe_name("..") == ""
|
|
assert safe_name("") == ""
|
|
assert safe_name(None) == ""
|