49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import pytest
|
|
from pydantic import ValidationError
|
|
|
|
from aare.common.models import DataCollectionParameters
|
|
|
|
|
|
def test_directory_defaults_when_missing():
|
|
params = DataCollectionParameters()
|
|
assert params.directory is None
|
|
|
|
|
|
def test_directory_blank_defaults_to_macro_path():
|
|
params = DataCollectionParameters(directory="")
|
|
assert params.directory == "{date}/{prefix}"
|
|
|
|
|
|
def test_directory_spaces_are_replaced():
|
|
params = DataCollectionParameters(directory="my folder/run 1")
|
|
assert params.directory == "my_folder/run_1"
|
|
|
|
|
|
def test_directory_rejects_invalid_characters():
|
|
with pytest.raises(ValidationError):
|
|
DataCollectionParameters(directory="bad|path")
|
|
|
|
|
|
def test_exposure_accepts_values_above_1_after_refactor():
|
|
params = DataCollectionParameters(exposure=1.5)
|
|
assert params.exposure == 1.5
|
|
|
|
|
|
def test_cloud_blank_defaults_to_true():
|
|
params = DataCollectionParameters(cloud="")
|
|
assert params.cloud is True
|
|
|
|
|
|
def test_directory_accepts_valid_macros():
|
|
params = DataCollectionParameters(directory="{date}/{prefix}/run")
|
|
assert params.directory == "{date}/{prefix}/run"
|
|
|
|
|
|
def test_aperture_accepts_float_string():
|
|
params = DataCollectionParameters(aperture="2.0")
|
|
assert params.aperture == 2
|
|
|
|
|
|
def test_processingpipeline_accepts_unknown_value_after_refactor():
|
|
params = DataCollectionParameters(processingpipeline="xia2")
|
|
assert params.processingpipeline == "xia2" |