DMSC Integration Testing

Last updated: September 15, 2025 23:36:07

Test: nexusjsontemplate-beamlime|odin|nexus_json_template|

nexus_json_template = PosixPath('odin-dynamic.json')

def test_nexus_json_template(nexus_json_template: pathlib.Path) -> None:
downloaded = json.loads(nexus_json_template.read_text())
assert "children" in downloaded # Check if the file was downloaded correctly
# collect_streaming_modules will validate the structure
# that is required by `beamlime`.
# It is currently removed from `beamlime` package.
# We should update the method that is used by `beamlime` once it is added back
# or updated in `beamlime`.
> collect_streaming_modules(downloaded)

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:180: in collect_streaming_modules
_validate_f144_module_spec(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

module_spec = StreamModuleValue(path=('entry', 'instrument', 'bpc2', 'delay'), parent={'name': 'delay', 'type': 'group', 'attributes...f144', 'config': {'source': 'source5', 'topic': 'odin_choppers', 'value_units': 'ns'}}]}, dtype=None, value_units='ns')

def _validate_f144_module_spec(
module_spec: StreamModuleValue,
) -> None:
"""Validate the f144 module."""
if len(module_spec.parent["children"]) != 1:
raise InvalidNexusStructureError(
"Group containing f144 module should have exactly one child"
)
if module_spec.dtype is None or module_spec.value_units is None:
> raise InvalidNexusStructureError(
"f144 module spec should have dtype and value_units"
)
E tests.nexusjsontemplate-beamlime.nexus_json_template_test.InvalidNexusStructureError: f144 module spec should have dtype and value_units

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:121: InvalidNexusStructureError

nexus_json_template = PosixPath('odin-dynamic.json')

def test_nexus_json_template(nexus_json_template: pathlib.Path) -> None:
downloaded = json.loads(nexus_json_template.read_text())
assert "children" in downloaded # Check if the file was downloaded correctly
# collect_streaming_modules will validate the structure
# that is required by `beamlime`.
# It is currently removed from `beamlime` package.
# We should update the method that is used by `beamlime` once it is added back
# or updated in `beamlime`.
> collect_streaming_modules(downloaded)

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:180: in collect_streaming_modules
_validate_f144_module_spec(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

module_spec = StreamModuleValue(path=('entry', 'instrument', 'bpc2', 'delay'), parent={'name': 'delay', 'type': 'group', 'attributes...f144', 'config': {'source': 'source5', 'topic': 'odin_choppers', 'value_units': 'ns'}}]}, dtype=None, value_units='ns')

def _validate_f144_module_spec(
module_spec: StreamModuleValue,
) -> None:
"""Validate the f144 module."""
if len(module_spec.parent["children"]) != 1:
raise InvalidNexusStructureError(
"Group containing f144 module should have exactly one child"
)
if module_spec.dtype is None or module_spec.value_units is None:
> raise InvalidNexusStructureError(
"f144 module spec should have dtype and value_units"
)
E tests.nexusjsontemplate-beamlime.nexus_json_template_test.InvalidNexusStructureError: f144 module spec should have dtype and value_units

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:121: InvalidNexusStructureError

nexus_json_template = PosixPath('odin-dynamic.json')

def test_nexus_json_template(nexus_json_template: pathlib.Path) -> None:
downloaded = json.loads(nexus_json_template.read_text())
assert "children" in downloaded # Check if the file was downloaded correctly
# collect_streaming_modules will validate the structure
# that is required by `beamlime`.
# It is currently removed from `beamlime` package.
# We should update the method that is used by `beamlime` once it is added back
# or updated in `beamlime`.
> collect_streaming_modules(downloaded)

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:180: in collect_streaming_modules
_validate_f144_module_spec(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

module_spec = StreamModuleValue(path=('entry', 'instrument', 'bpc2', 'delay'), parent={'name': 'delay', 'type': 'group', 'attributes...f144', 'config': {'source': 'source5', 'topic': 'odin_choppers', 'value_units': 'ns'}}]}, dtype=None, value_units='ns')

def _validate_f144_module_spec(
module_spec: StreamModuleValue,
) -> None:
"""Validate the f144 module."""
if len(module_spec.parent["children"]) != 1:
raise InvalidNexusStructureError(
"Group containing f144 module should have exactly one child"
)
if module_spec.dtype is None or module_spec.value_units is None:
> raise InvalidNexusStructureError(
"f144 module spec should have dtype and value_units"
)
E tests.nexusjsontemplate-beamlime.nexus_json_template_test.InvalidNexusStructureError: f144 module spec should have dtype and value_units

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:121: InvalidNexusStructureError

nexus_json_template = PosixPath('odin-dynamic.json')

def test_nexus_json_template(nexus_json_template: pathlib.Path) -> None:
downloaded = json.loads(nexus_json_template.read_text())
assert "children" in downloaded # Check if the file was downloaded correctly
# collect_streaming_modules will validate the structure
# that is required by `beamlime`.
# It is currently removed from `beamlime` package.
# We should update the method that is used by `beamlime` once it is added back
# or updated in `beamlime`.
> collect_streaming_modules(downloaded)

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:180: in collect_streaming_modules
_validate_f144_module_spec(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

module_spec = StreamModuleValue(path=('entry', 'instrument', 'bpc2', 'delay'), parent={'name': 'delay', 'type': 'group', 'attributes...f144', 'config': {'source': 'source5', 'topic': 'odin_choppers', 'value_units': 'ns'}}]}, dtype=None, value_units='ns')

def _validate_f144_module_spec(
module_spec: StreamModuleValue,
) -> None:
"""Validate the f144 module."""
if len(module_spec.parent["children"]) != 1:
raise InvalidNexusStructureError(
"Group containing f144 module should have exactly one child"
)
if module_spec.dtype is None or module_spec.value_units is None:
> raise InvalidNexusStructureError(
"f144 module spec should have dtype and value_units"
)
E tests.nexusjsontemplate-beamlime.nexus_json_template_test.InvalidNexusStructureError: f144 module spec should have dtype and value_units

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:121: InvalidNexusStructureError

nexus_json_template = PosixPath('odin-dynamic.json')

def test_nexus_json_template(nexus_json_template: pathlib.Path) -> None:
downloaded = json.loads(nexus_json_template.read_text())
assert "children" in downloaded # Check if the file was downloaded correctly
# collect_streaming_modules will validate the structure
# that is required by `beamlime`.
# It is currently removed from `beamlime` package.
# We should update the method that is used by `beamlime` once it is added back
# or updated in `beamlime`.
> collect_streaming_modules(downloaded)

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:180: in collect_streaming_modules
_validate_f144_module_spec(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

module_spec = StreamModuleValue(path=('entry', 'instrument', 'bpc2', 'delay'), parent={'name': 'delay', 'type': 'group', 'attributes...f144', 'config': {'source': 'source5', 'topic': 'odin_choppers', 'value_units': 'ns'}}]}, dtype=None, value_units='ns')

def _validate_f144_module_spec(
module_spec: StreamModuleValue,
) -> None:
"""Validate the f144 module."""
if len(module_spec.parent["children"]) != 1:
raise InvalidNexusStructureError(
"Group containing f144 module should have exactly one child"
)
if module_spec.dtype is None or module_spec.value_units is None:
> raise InvalidNexusStructureError(
"f144 module spec should have dtype and value_units"
)
E tests.nexusjsontemplate-beamlime.nexus_json_template_test.InvalidNexusStructureError: f144 module spec should have dtype and value_units

tests/nexusjsontemplate-beamlime/nexus_json_template_test.py:121: InvalidNexusStructureError