Source code for esrf_ontologies.tests.test_single_technique_metadata

import pytest

from ..technique import BLISS_SCANINFO_CATEGORY
from ..technique import get_ontology_version
from ..technique import get_ontology_version_number
from ..technique import get_technique_metadata


[docs] def test_get_dataset_metadata(): metadata = get_technique_metadata("XAS") ontology_version = get_ontology_version_number(metadata) dataset_metadata = { "definition": "XAS", "technique_pid": "https://w3id.org/PaN/ESRFET#XAS", "technique_pid_esrfet_version": ontology_version, } assert metadata.get_dataset_metadata() == dataset_metadata
[docs] def test_fill_dataset_metadata(): metadata = get_technique_metadata("XAS") ontology_version = get_ontology_version_number(metadata) dataset_metadata = { "definition": "XAS", "technique_pid": "https://w3id.org/PaN/ESRFET#XAS", "technique_pid_esrfet_version": ontology_version, } 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") ontology_version = get_ontology_version(metadata) scan_info = { "scan_meta_categories": [BLISS_SCANINFO_CATEGORY], BLISS_SCANINFO_CATEGORY: { "identifier_technique_1": f"https://w3id.org/PaN/ESRFET/{ontology_version}/#XAS", "identifier_technique_1@type": "W3ID", }, } assert metadata.get_scan_info() == scan_info assert metadata.get_scan_metadata() == scan_info[BLISS_SCANINFO_CATEGORY]
[docs] def test_fill_scan_info(): metadata = get_technique_metadata("XAS") ontology_version = get_ontology_version(metadata) scan_info = { "scan_meta_categories": [BLISS_SCANINFO_CATEGORY], BLISS_SCANINFO_CATEGORY: { "identifier_technique_1": f"https://w3id.org/PaN/ESRFET/{ontology_version}/#XAS", "identifier_technique_1@type": "W3ID", }, } info = {} metadata.fill_scan_info(info) assert info == scan_info scan_info = { "scan_meta_categories": [BLISS_SCANINFO_CATEGORY, "technique"], BLISS_SCANINFO_CATEGORY: { "identifier_technique_1": f"https://w3id.org/PaN/ESRFET/{ontology_version}/#XRF", "identifier_technique_1@type": "W3ID", "identifier_technique_2": f"https://w3id.org/PaN/ESRFET/{ontology_version}/#XAS", "identifier_technique_2@type": "W3ID", }, } info = { "scan_meta_categories": [BLISS_SCANINFO_CATEGORY, "technique"], BLISS_SCANINFO_CATEGORY: { "identifier_technique_1": f"https://w3id.org/PaN/ESRFET/{ontology_version}/#XRF", "identifier_technique_1@type": "W3ID", }, } 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