Source code for ewokscore.tests.conftest
import pytest
from jupyter_client.kernelspec import KernelSpecManager
from ipykernel.kernelspec import install as install_kernel
from packaging.version import parse as parse_version
from ewokscore.graph.schema import SchemaMetadata, get_versions
[docs]
@pytest.fixture
def varinfo(tmpdir):
yield {"root_uri": str(tmpdir)}
[docs]
@pytest.fixture(scope="session")
def testkernel():
m = KernelSpecManager()
kernel_name = "pytest_kernel"
install_kernel(kernel_name=kernel_name, user=True)
yield kernel_name
m.remove_kernel_spec(kernel_name)
[docs]
@pytest.fixture
def use_test_schema_versions(monkeypatch):
from ewokscore.graph import schema
def no_update(graph):
pass
def backward_update(graph):
graph.graph["schema_version"] = "0.1"
def update_from_v0_2_to_1_0(graph):
graph.graph["schema_version"] = "1.0"
def get_test_versions():
return {
parse_version("0.1"): SchemaMetadata(("0.1.0-rc", None), no_update),
parse_version("0.2"): SchemaMetadata(
("0.1.0-rc", None), update_from_v0_2_to_1_0
),
parse_version("0.3"): SchemaMetadata(("0.1.0-rc", None), backward_update),
**get_versions(),
}
monkeypatch.setattr(schema, "get_versions", get_test_versions)