Source code for esrf_ontologies.tests.test_single_technique_metadata
import pytest
from ..technique import get_technique_metadata
[docs]
def test_get_dataset_metadata():
metadata = get_technique_metadata("XAS")
dataset_metadata = {
"definition": "XAS",
"technique_pid": "http://purl.org/pan-science/ESRFET#XAS",
}
assert metadata.get_dataset_metadata() == dataset_metadata
[docs]
def test_fill_dataset_metadata():
metadata = get_technique_metadata("XAS")
dataset_metadata = {
"definition": "XAS",
"technique_pid": "http://purl.org/pan-science/ESRFET#XAS",
}
dataset = {}
metadata.fill_dataset_metadata(dataset)
assert dataset == dataset_metadata
dataset = dict(dataset_metadata)
metadata.fill_dataset_metadata(dataset_metadata)
assert dataset == dataset_metadata
[docs]
def test_get_scan_info():
metadata = get_technique_metadata("XAS")
scan_info = {
"scan_meta_categories": ["techniques"],
"techniques": {
"@NX_class": "NXnote",
"names": ["XAS"],
"iris": ["http://purl.org/pan-science/ESRFET#XAS"],
},
}
assert metadata.get_scan_info() == scan_info
assert metadata.get_scan_metadata() == scan_info["techniques"]
[docs]
def test_fill_scan_info():
metadata = get_technique_metadata("XAS")
scan_info = {
"scan_meta_categories": ["techniques"],
"techniques": {
"@NX_class": "NXnote",
"names": ["XAS"],
"iris": ["http://purl.org/pan-science/ESRFET#XAS"],
},
}
info = {}
metadata.fill_scan_info(info)
assert info == scan_info
scan_info = {
"scan_meta_categories": ["techniques", "technique"],
"techniques": {
"@NX_class": "NXnote",
"names": ["XAS", "XRF"],
"iris": [
"http://purl.org/pan-science/ESRFET#XAS",
"http://purl.org/pan-science/ESRFET#XRF",
],
},
}
info = {
"scan_meta_categories": ["techniques", "technique"],
"techniques": {
"@NX_class": "NXnote",
"names": ["XRF"],
"iris": ["http://purl.org/pan-science/ESRFET#XRF"],
},
}
metadata.fill_scan_info(info)
assert info == scan_info
[docs]
def test_wrong_technique_metadata():
with pytest.raises(KeyError, match="'WRONG' is not a known technique name"):
get_technique_metadata("XAS", "WRONG")
[docs]
def test_empty_technique_metadata():
metadata = get_technique_metadata()
assert metadata.get_dataset_metadata() == dict()
assert metadata.get_scan_info() == dict()
assert metadata.get_scan_metadata() is None