from ocs.base import OpCode

from ocs.testing import (
    create_agent_runner_fixture,
    create_client_fixture,
)

from integration.util import (
    create_crossbar_fixture
)

pytest_plugins = ("docker_compose")


wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture('../agents/host_master/host_master.py',
                                        'master-host-1',
                                        args=['--log-dir',
                                              os.path.join(os.getcwd(),
                                                           'log/')])
client = create_client_fixture('master-host-1')


@pytest.mark.integtest
def test_host_master_agent_master(wait_for_crossbar, run_agent, client):
    # Startup is always true, so let's check it's running
    resp = client.master.status()
    print(resp)
    assert resp.session['op_code'] == OpCode.RUNNING.value
import pytest

import ocs
from ocs.base import OpCode

from ocs.testing import (
    create_agent_runner_fixture,
    create_client_fixture,
)

from integration.util import (create_crossbar_fixture)

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/influxdb_publisher/influxdb_publisher.py', 'influxagent-local')
client = create_client_fixture('influxagent-local')


@pytest.mark.integtest
def test_influxdb_publisher_agent_record(wait_for_crossbar, run_agent, client):
    resp = client.record.start(test_mode=True)
    print(resp)
    assert resp.status == ocs.OK

    resp = client.record.wait(timeout=20)
    assert resp.status == ocs.OK
    assert resp.session['op_code'] == OpCode.SUCCEEDED.value
Beispiel #3
0
import ocs
from ocs.base import OpCode
from ocs.testing import create_agent_runner_fixture, create_client_fixture

from integration.util import create_crossbar_fixture

from socs.testing.device_emulator import create_device_emulator

pytest_plugins = ("docker_compose")

# Set the OCS_CONFIG_DIR so we read the local default.yaml file always
os.environ['OCS_CONFIG_DIR'] = os.getcwd()

run_agent = create_agent_runner_fixture(
    '../agents/lakeshore372/LS372_agent.py', 'ls372')
client = create_client_fixture('LSASIM')
wait_for_crossbar = create_crossbar_fixture()


def build_init_responses():
    values = {
        '*IDN?': 'LSCI,MODEL372,LSASIM,1.3',
        'SCAN?': '01,1',
        'INSET? A': '0,010,003,00,1',
        'INNAME? A': 'Input A',
        'INTYPE? A': '1,04,0,15,0,2',
        'TLIMIT? A': '+0000',
        'OUTMODE? 0': '2,6,1,0,0,001',
        'HTRSET? 0': '+120.000,8,+0000.00,1',
        'OUTMODE? 2': '4,16,1,0,0,001',
        'HTRSET? 2': '+120.000,8,+0000.00,1'
from ocs.testing import (
    create_agent_runner_fixture,
    create_client_fixture,
)

from integration.util import (create_crossbar_fixture)

from socs.testing.device_emulator import create_device_emulator

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/lakeshore240/LS240_agent.py', 'ls240_agent')
client = create_client_fixture('LSA240S')

initial_responses = {
    '*IDN?': 'LSCI,MODEL240,LSA240S,1.3',
    'MODNAME?': 'LSA240S',
    'INTYPE? 1': '1,1,0,0,1,1',
    'INNAME? 1': 'Channel 1',
    'INTYPE? 2': '1,1,0,0,1,1',
    'INNAME? 2': 'Channel 2',
    'INTYPE? 3': '1,1,0,0,1,1',
    'INNAME? 3': 'Channel 3',
    'INTYPE? 4': '1,1,0,0,1,1',
    'INNAME? 4': 'Channel 4',
    'INTYPE? 5': '1,1,0,0,1,1',
    'INNAME? 5': 'Channel 5',
    'INTYPE? 6': '1,1,0,0,1,1',
import pytest

import ocs
from ocs.base import OpCode

from ocs.testing import (
    create_agent_runner_fixture,
    create_client_fixture,
)

from integration.util import (create_crossbar_fixture)

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/aggregator/aggregator_agent.py', 'aggregator-local')
client = create_client_fixture('aggregator-local')


@pytest.mark.dependency(depends=["so3g"], scope='session')
@pytest.mark.integtest
def test_aggregator_agent_record(wait_for_crossbar, run_agent, client):
    resp = client.record.start(test_mode=True)
    assert resp.status == ocs.OK

    resp = client.record.wait(timeout=20)
    assert resp.status == ocs.OK
    assert resp.session['op_code'] == OpCode.SUCCEEDED.value
from ocs.testing import (
    create_agent_runner_fixture,
    create_client_fixture,
)

from integration.util import (
    create_crossbar_fixture,
)

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/fake_data/fake_data_agent.py', 'fake_data')
client = create_client_fixture('fake-data-local')


@pytest.mark.integtest
def test_fake_data_agent_delay_task(wait_for_crossbar, run_agent, client):
    resp = client.delay_task(delay=0.01)
    # print(resp)
    assert resp.status == ocs.OK
    # print(resp.session)
    assert resp.session['op_code'] == OpCode.SUCCEEDED.value


@pytest.mark.integtest
def test_fake_data_agent_set_heartbeat(wait_for_crossbar, run_agent, client):
    resp = client.set_heartbeat(heartbeat=True)
    assert resp.status == ocs.OK
from integration.util import (create_crossbar_fixture)

from socs.testing.device_emulator import create_device_emulator

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/hwp_rotation/rotation_agent.py',
    'hwp_rotation_agent',
    args=['--log-dir', './logs/'])
run_agent_idle = create_agent_runner_fixture(
    '../agents/hwp_rotation/rotation_agent.py',
    'hwp_rotation_agent',
    args=['--mode', 'idle', '--log-dir', './logs/'])
client = create_client_fixture('rotator')
kikusui_emu = create_device_emulator({'SYST:REM': ''},
                                     relay_type='tcp',
                                     port=2000)
pid_emu = create_device_emulator({'*W02400000': 'W02\r'},
                                 relay_type='tcp',
                                 port=2001)


@pytest.mark.integtest
def test_testing(wait_for_crossbar):
    """Just a quick test to make sure we can bring up crossbar."""
    assert True


# This ends up hanging for some reason that I can't figure out at the moment.
Beispiel #8
0
    create_client_fixture,
)

from integration.util import (
    create_crossbar_fixture
)

from ocs.base import OpCode

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture('../agents/registry/registry.py',
                                        'registry',
                                        args=['--log-dir',
                                              os.path.join(os.getcwd(),
                                                           'log/')])
client = create_client_fixture('registry')


@pytest.mark.integtest
def test_registry_agent_main(wait_for_crossbar, run_agent, client):
    # Startup is always true, so let's check it's running
    resp = client.main.status()
    print(resp)
    assert resp.session['op_code'] == OpCode.RUNNING.value

    client.main.stop()
    resp = client.main.status()
    assert resp.session['op_code'] == OpCode.STOPPING.value
Beispiel #9
0
    Parameters:
        data (str): Data string to package into telegram.

    Returns:
        str: The full telegram string that is emulating the response from the
            TC400.

    """
    return chksum_msg('001' + '10' + '010' + '{:02d}'.format(len(data)) + data)


wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/pfeiffer_tc400/pfeiffer_tc400_agent.py', 'tc400_agent')
client = create_client_fixture('pfeifferturboA')
emulator = create_device_emulator({}, relay_type='tcp')


@pytest.mark.integtest
def test_pfeiffer_tc400_init_lakeshore(wait_for_crossbar, emulator, run_agent,
                                       client):
    resp = client.init()
    print(resp)
    assert resp.status == ocs.OK
    print(resp.session)
    assert resp.session['op_code'] == OpCode.SUCCEEDED.value


@pytest.mark.integtest
def test_pfeiffer_tc400_turn_turbo_on(wait_for_crossbar, emulator, run_agent,
Beispiel #10
0
)

from integration.util import (
    create_crossbar_fixture
)

from socs.testing.device_emulator import create_device_emulator

pytest_plugins = ("docker_compose")

wait_for_crossbar = create_crossbar_fixture()
run_agent = create_agent_runner_fixture(
    '../agents/lakeshore425/LS425_agent.py', 'ls425_agent')
run_agent_acq = create_agent_runner_fixture(
    '../agents/lakeshore425/LS425_agent.py', 'ls425_agent', args=['--mode', 'acq'])
client = create_client_fixture('LS425')
emulator = create_device_emulator({'*IDN?': 'LSCI,MODEL425,LSA425T,1.3'},
                                  relay_type='serial')


@pytest.mark.integtest
def test_testing(wait_for_crossbar):
    """Just a quick test to make sure we can bring up crossbar."""
    assert True


@pytest.mark.integtest
def test_ls425_init_lakeshore(wait_for_crossbar, emulator, run_agent, client):
    resp = client.init_lakeshore()
    # print(resp)
    assert resp.status == ocs.OK