예제 #1
0
def test_populate_keywords(backend, servicename, service, keyword_name,
                           missing_keyword_name):
    """Test populate keywords"""
    from Cauldron import ktl
    client = ktl.Service(servicename, populate=True)
    assert keyword_name in client.populated()
    assert missing_keyword_name not in client.populated()
예제 #2
0
def test_async_read(dispatcher, servicename, keyword_name):
    """Aysnchronous writer"""
    dkwd = dispatcher[keyword_name]
    dkwd.modify('1')
    from Cauldron import ktl
    client = ktl.Service(servicename)
    task = client[keyword_name].read(wait=False)
    client[keyword_name].wait(sequence=task)
    assert client[keyword_name]['ascii'] == '1'
예제 #3
0
def test_async_write(dispatcher, servicename, keyword_name):
    """Aysnchronous writer"""
    dkwd = dispatcher[keyword_name]
    dkwd.modify('1')

    from Cauldron import ktl
    client = ktl.Service(servicename)
    task = client[keyword_name].write('2', wait=False)
    client[keyword_name].wait(sequence=task)
    assert dkwd.value == '2'
예제 #4
0
def test_broker(broker, backend, config, servicename):
    """Test the router."""
    from Cauldron import DFW
    svc = DFW.Service(servicename, config=config)
    
    from Cauldron import ktl
    client = ktl.Service(servicename)
    
    svc.shutdown()
    svc = DFW.Service(servicename, config=config)
    svc.shutdown()
예제 #5
0
def setup(service):
    """Setup the service."""
    kwd = DFW.Keyword.Keyword("TEST", service)
    print("Service setup")


disp = DFW.Service("testsvc", setup=setup, config=None)
dtest = disp["TEST"]
log.info("Dispatcher Keyword {0!r}".format(dtest))

VALUE = "SOMEVALUE"
time.sleep(1.0)
log.info("Starting KTL client...")
from Cauldron import ktl
svc = ktl.Service("testsvc")
log.info("Getting KTL keyword object...")
test = svc["TEST"]
log.info("Writing '{0}'".format(VALUE))
test.write(VALUE)
log.info("'{0}' =? '{1}'".format(VALUE, test.read()))
log.info("Done!")
svc
disp.shutdown()
log.info("Shutdown complete.")
import zmq
ctx = zmq.Context.instance().destroy()
disp.shutdown()

log.info("Context terminated.")
예제 #6
0
def local_client(local_service, servicename):
    """Test a client."""
    from Cauldron import ktl
    return ktl.Service(servicename)
예제 #7
0
def mock_client(servicename):
    """A 'mock' client, which doesn't even require a service backend."""
    from Cauldron import ktl
    return ktl.Service(servicename)
예제 #8
0
# -*- coding: utf-8 -*-
"""
Demonstrate REDIS read-write ability.
"""
import time
from lumberjack import setup_logging, setup_warnings_logger
from logging import getLogger

setup_logging(mode='stream', level=10)
setup_warnings_logger("")
log = getLogger("example.zmq")

# Get ready!
from Cauldron.api import use
use("zmq")

from Cauldron import DFW
disp = DFW.Service("testsvc", config=None)
dtest = disp["TEST"]
log.info(dtest)

VALUE = "SOMEVALUE"

from Cauldron import ktl
svc = ktl.Service("testsvc", populate=True)
log.info(svc)
log.info(svc.populated())
log.info("Done!")
disp.shutdown()
log.info("Shutdown complete.")
예제 #9
0
def redis_client(redis_service, servicename):
    """Test a client."""
    from Cauldron import ktl
    return ktl.Service(servicename)
예제 #10
0
def client(backend, servicename):
    """Test a client."""
    from Cauldron import ktl
    return ktl.Service(servicename)
예제 #11
0
def test_create_and_destroy_client(service):
    """Make a client object."""
    from Cauldron import ktl
    svc = ktl.Service(service.name)
    del svc