21 lines
729 B
Python
21 lines
729 B
Python
"""Unit tests for input size limits covering scenarios IN-001 to IN-015."""
|
|
|
|
import pytest
|
|
|
|
from src.runtime.core.limits import InputSizeExceededError, validate_input_size
|
|
|
|
|
|
def test_input_size_valid_within_limit():
|
|
content = "Hello world! This is a valid input article payload."
|
|
size = validate_input_size(content, max_bytes=1000)
|
|
assert size == len(content.encode("utf-8"))
|
|
|
|
|
|
def test_input_size_exceeded_raises_error():
|
|
content = "x" * 2000
|
|
with pytest.raises(InputSizeExceededError) as exc_info:
|
|
validate_input_size(content, max_bytes=1000)
|
|
assert exc_info.value.actual_bytes == 2000
|
|
assert exc_info.value.max_bytes == 1000
|
|
assert exc_info.value.error_code == "INVALID_ARTICLE_SCHEMA"
|