diff --git a/setup.py b/setup.py index dddebde631cb1cf942d64b8b402b5f58ebb732cf..c1eb161a61958776aedf6ebd830b0757a3189577 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ requirements=[] setup_requirements = ['pytest-runner', 'pytest'] if TESTING else [] -test_requirements = ['pytest-cov', 'mock'] +test_requirements = ['pytest-cov', 'pytest', 'mock', 'nosqltangodb'] setup( author="Clemence Muzelle", diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..eb0344cf6017f5848fe962e2307e4836d491d2ea --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,28 @@ +import pytest +import os +import contextlib +from nosqltangodb import helper + + +@contextlib.contextmanager +def context_yaml_db_server(): + + test_root = os.path.dirname(__file__) + yaml_root = os.path.join(test_root, "tangodb") + + with helper.running_db( + name="2", + db_access="yaml", + port="auto", + debug_protocol=True, + yaml_root=yaml_root, + update_tango_host=True, + timeout=10, + ) as db: + yield db.port + + +@pytest.fixture(scope="session") +def db_server(): + with context_yaml_db_server() as s: + yield s diff --git a/tests/tangodb/sample_changer.yml b/tests/tangodb/sample_changer.yml new file mode 100644 index 0000000000000000000000000000000000000000..eb4e56c773d623bac2f27dcceeda7e822164eb29 --- /dev/null +++ b/tests/tangodb/sample_changer.yml @@ -0,0 +1,9 @@ +personal_name: sample_changer +server: TomoSampleChanger +device: +- class: TomoSampleChanger + tango_name: id00/tango/sample_changer + properties: + # one of sim, bm05, id19 + robot_controller: sim + robot_host: 127.0.0.1.mocked diff --git a/tests/tangodb/samples.yml b/tests/tangodb/samples.yml new file mode 100644 index 0000000000000000000000000000000000000000..6273eded2504cae82332a7b67be1a4a49158e5c7 --- /dev/null +++ b/tests/tangodb/samples.yml @@ -0,0 +1,122 @@ +personal_name: samples +server: TomoSamples +device: +- class: TomoSamples + tango_name: id00/tango/samples + +- class: TomoSample + tango_name: id00/tomo-sample/A0 +- class: TomoSample + tango_name: id00/tomo-sample/A1 +- class: TomoSample + tango_name: id00/tomo-sample/A2 +- class: TomoSample + tango_name: id00/tomo-sample/A3 +- class: TomoSample + tango_name: id00/tomo-sample/A4 +- class: TomoSample + tango_name: id00/tomo-sample/A5 +- class: TomoSample + tango_name: id00/tomo-sample/A6 +# - class: TomoSample +# tango_name: id00/tomo-sample/A7 +# - class: TomoSample +# tango_name: id00/tomo-sample/A8 +- class: TomoSample + tango_name: id00/tomo-sample/A9 +- class: TomoSample + tango_name: id00/tomo-sample/A10 +- class: TomoSample + tango_name: id00/tomo-sample/A11 +- class: TomoSample + tango_name: id00/tomo-sample/A12 +- class: TomoSample + tango_name: id00/tomo-sample/A13 +- class: TomoSample + tango_name: id00/tomo-sample/A14 +- class: TomoSample + tango_name: id00/tomo-sample/A15 +- class: TomoSample + tango_name: id00/tomo-sample/A16 +- class: TomoSample + tango_name: id00/tomo-sample/A17 +- class: TomoSample + tango_name: id00/tomo-sample/A18 + +- class: TomoSample + tango_name: id00/tomo-sample/B0 +- class: TomoSample + tango_name: id00/tomo-sample/B1 +- class: TomoSample + tango_name: id00/tomo-sample/B2 +- class: TomoSample + tango_name: id00/tomo-sample/B3 +- class: TomoSample + tango_name: id00/tomo-sample/B4 +- class: TomoSample + tango_name: id00/tomo-sample/B5 +- class: TomoSample + tango_name: id00/tomo-sample/B6 +# - class: TomoSample +# tango_name: id00/tomo-sample/B7 +# - class: TomoSample +# tango_name: id00/tomo-sample/B8 +- class: TomoSample + tango_name: id00/tomo-sample/B9 +- class: TomoSample + tango_name: id00/tomo-sample/B10 +- class: TomoSample + tango_name: id00/tomo-sample/B11 +- class: TomoSample + tango_name: id00/tomo-sample/B12 +- class: TomoSample + tango_name: id00/tomo-sample/B13 +- class: TomoSample + tango_name: id00/tomo-sample/B14 +- class: TomoSample + tango_name: id00/tomo-sample/B15 +- class: TomoSample + tango_name: id00/tomo-sample/B16 +- class: TomoSample + tango_name: id00/tomo-sample/B17 +- class: TomoSample + tango_name: id00/tomo-sample/B18 + +- class: TomoSample + tango_name: id00/tomo-sample/C0 +- class: TomoSample + tango_name: id00/tomo-sample/C1 +- class: TomoSample + tango_name: id00/tomo-sample/C2 +- class: TomoSample + tango_name: id00/tomo-sample/C3 +- class: TomoSample + tango_name: id00/tomo-sample/C4 +- class: TomoSample + tango_name: id00/tomo-sample/C5 +- class: TomoSample + tango_name: id00/tomo-sample/C6 +# - class: TomoSample +# tango_name: id00/tomo-sample/C7 +# - class: TomoSample +# tango_name: id00/tomo-sample/C8 +- class: TomoSample + tango_name: id00/tomo-sample/C9 +- class: TomoSample + tango_name: id00/tomo-sample/C10 +- class: TomoSample + tango_name: id00/tomo-sample/C11 +- class: TomoSample + tango_name: id00/tomo-sample/C12 +- class: TomoSample + tango_name: id00/tomo-sample/C13 +- class: TomoSample + tango_name: id00/tomo-sample/C14 +- class: TomoSample + tango_name: id00/tomo-sample/C15 +- class: TomoSample + tango_name: id00/tomo-sample/C16 +- class: TomoSample + tango_name: id00/tomo-sample/C17 +- class: TomoSample + tango_name: id00/tomo-sample/C18 diff --git a/tests/test_sample_changer.py b/tests/test_sample_changer.py new file mode 100644 index 0000000000000000000000000000000000000000..b70a86bcc3d14fc5e3779fbc649280d56c19d788 --- /dev/null +++ b/tests/test_sample_changer.py @@ -0,0 +1,28 @@ +import os +import sys +import pytest +import tango +from nosqltangodb.utils import tango_utils + + +@pytest.fixture +def sample_changer_tango_server(db_server): + tango_host = os.environ["TANGO_HOST"] + db_host, db_port = tango_host.split(":") + device_name = "id00/tango/sample_changer" + device_fqdn = f"tango://{db_host}:{db_port}/{device_name}" + with tango_utils.start_tango_server( + sys.executable, + "-u", + "-m", + "samplechanger.sample_changer_ds.TomoSampleChanger", + "sample_changer", + device_fqdn=device_fqdn, + state=tango.DevState.ON, + ) as dev_proxy: + yield device_fqdn, dev_proxy + + +def test_sample_changer(sample_changer_tango_server): + sample_changer_proxy = sample_changer_tango_server[1] + assert sample_changer_proxy \ No newline at end of file diff --git a/tests/test_samples.py b/tests/test_samples.py new file mode 100644 index 0000000000000000000000000000000000000000..cfc4eb9d3c4a067759ac46e8ac79140dc3595736 --- /dev/null +++ b/tests/test_samples.py @@ -0,0 +1,28 @@ +import os +import sys +import pytest +import tango +from nosqltangodb.utils import tango_utils + + +@pytest.fixture +def samples_tango_server(db_server): + tango_host = os.environ["TANGO_HOST"] + db_host, db_port = tango_host.split(":") + device_name = "id00/tango/samples" + device_fqdn = f"tango://{db_host}:{db_port}/{device_name}" + with tango_utils.start_tango_server( + sys.executable, + "-u", + "-m", + "samplechanger.samples_ds.TomoSamples", + "samples", + device_fqdn=device_fqdn, + state=tango.DevState.DISABLE, + ) as dev_proxy: + yield device_fqdn, dev_proxy + + +def test_samples(samples_tango_server): + samples_proxy = samples_tango_server[1] + assert samples_proxy \ No newline at end of file