31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import unittest
|
|
|
|
from pydantic import ValidationError
|
|
|
|
from B03_FileInput.B03_FileInput_Schema import FileUploadDescriptor
|
|
from config.config_system import UPLOAD_MAX_MB
|
|
|
|
|
|
class FileUploadDescriptorTest(unittest.TestCase):
|
|
def test_file_upload_descriptor(self) -> None:
|
|
descriptor = FileUploadDescriptor(
|
|
original_filename="cloud_merged.LAS",
|
|
size_bytes=1024,
|
|
)
|
|
self.assertEqual(descriptor.original_filename, "cloud_merged.LAS")
|
|
|
|
invalid_values = (
|
|
{"original_filename": "../cloud.las", "size_bytes": 1024},
|
|
{"original_filename": "nested/cloud.las", "size_bytes": 1024},
|
|
{"original_filename": "cloud.exe", "size_bytes": 1024},
|
|
{
|
|
"original_filename": "cloud.las",
|
|
"size_bytes": UPLOAD_MAX_MB * 1024 * 1024 + 1,
|
|
},
|
|
{"original_filename": "cloud.las", "size_bytes": 0},
|
|
)
|
|
for invalid_value in invalid_values:
|
|
with self.subTest(invalid_value=invalid_value):
|
|
with self.assertRaises(ValidationError):
|
|
FileUploadDescriptor(**invalid_value)
|