def test_add(self): interface.add(simple, lambda arg1: arg1, dict(name='added'), [dict(name='arg1', type=int)]) assert(interface.call('added arg1=1') == 1) assert(expect_exception(lambda: interface.call('added arg1=a'), HandledException)) del simple.__ec_member__.Members['added'] # remove the added member
def inject(sharedBase=None, **Settings): import sys from json import dumps from urllib import quote from ec import interface from ec.ec import settings import delegator # #Note: An ec module is used, instead of making the call directly, so to utilize ec's features like debugging etc. if sharedBase: delegator.setSharedBase(sharedBase) if Settings: settings(**Settings) Args = sys.argv[1:] interface.setBase(delegator) interface.call('makeCall %s %s' % (Args[0], quote(dumps(Args[1:]))), silent=False)
def test_call_with_input(self): from support.helpers import RawInputHook as RIH RIH.values(2, 3) assert(interface.call('task1 arg1=1', True) == (1, 2))
def test_unhandled_exception(self): assert(expect_exception(lambda: interface.call('ex'), ZeroDivisionError))
def test_handled_exception(self): assert(expect_exception(lambda: interface.call('task2'), HandledException))
def test_mixed_args(self): assert(interface.call('task1 1 arg2=1') == (1, 1))
def test_positional_args(self): assert(interface.call('task1 1') == (1, 2))
def test_call(self): assert(interface.call('task1 arg1=1') == (1, 2))
""" An example for wrapping ec based modules. """ from ec import interface import simple # the ec-ed script interface.setBase(simple) interface.call('task1 arg2=1', True)