Spaces:
Sleeping
Sleeping
File size: 565 Bytes
9c1c0ef | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import pytest
from datapilot.safety import UnsafeCodeError, validate_generated_expression
def test_accepts_scalar_expression():
tree = validate_generated_expression("(revenue - cost) / revenue")
assert tree is not None
@pytest.mark.parametrize(
"expression",
[
"__import__('os').system('whoami')",
"open('secret.txt').read()",
"(1).__class__.__mro__",
],
)
def test_blocks_unsafe_expression(expression):
with pytest.raises(UnsafeCodeError):
validate_generated_expression(expression)
|