From 501238505fee7eb2c7068e6965f604271682135f Mon Sep 17 00:00:00 2001 From: Eva Lott Date: Mon, 30 Sep 2024 11:26:51 +0100 Subject: [PATCH] tried to add test --- event_model/documents/event_descriptor.py | 13 ++++++++++-- event_model/schemas/event_descriptor.json | 4 ++-- event_model/tests/test_auth.py | 26 +++++++++++++++++++++++ 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/event_model/documents/event_descriptor.py b/event_model/documents/event_descriptor.py index 1d810bea..a029391a 100644 --- a/event_model/documents/event_descriptor.py +++ b/event_model/documents/event_descriptor.py @@ -23,7 +23,14 @@ class Limits(TypedDict): warning: NotRequired[Annotated[LimitsRange, Field(description="Warning limits.")]] alarm: NotRequired[Annotated[LimitsRange, Field(description="Alarm limits.")]] -_ConstrainedDtype = Annotated[str, Field(description="A numpy dtype e.g `][tbiufcmMOSUV][0-9]+", "type": "string" }, @@ -78,7 +78,7 @@ "type": "string" }, { - "description": "A numpy dtype e.g `][tbiufcmMOSUV][0-9]+", "type": "string" } diff --git a/event_model/tests/test_auth.py b/event_model/tests/test_auth.py index 0dcae50a..458acfdd 100644 --- a/event_model/tests/test_auth.py +++ b/event_model/tests/test_auth.py @@ -73,3 +73,29 @@ def test_dots_not_allowed_in_keys(): doc.update({".b": "c"}) with pytest.raises(jsonschema.ValidationError): schema_validators[DocumentNames.stop].validate(doc) + + +@pytest.mark.parametrize( + "dtype_numpy", [ + "Z", + "i", + "i4", + "4i", + "i>4", + ">i", + [("some_str", "Z")], + ] +) +def test_bad_numpy_datakeys(dtype_numpy): + descriptor = { + "time": 0, + "uid": new_uid(), + "data_keys": { + "a": { + "source": "", "dtype": "number", "shape": [], "dtype_numpy": dtype_numpy + } + }, + "run_start": new_uid(), + } + with pytest.raises(jsonschema.ValidationError): + schema_validators[DocumentNames.descriptor].validate(descriptor) \ No newline at end of file