import os, sys sys.path.append(os.path.split(os.path.realpath(__file__))[0] + "/../lib") from cnstream import * from cnstream_cpptest import * # in order to determine whether the python function is called by cpp open_param = "" process_called = False close_called = False on_eos_called = False class CustomModule(Module): def __init__(self, name): Module.__init__(self, name) def open(self, params): global open_param open_param = params["param"] return True def close(self): global close_called close_called = True def process(self, data): global process_called process_called = True return 1 def on_eos(self, stream_id): global on_eos_called on_eos_called = True class CustomModuleEx(ModuleEx): def __init__(self, name): ModuleEx.__init__(self, name) class TestModule: def test_transmit_permissions(self): module = CustomModule("test_module") assert not module.has_transmit() module = CustomModuleEx("test_module") assert module.has_transmit() def test_get_name(self): module = CustomModule("test_module") assert "test_module" == module.get_name() module = CustomModuleEx("test_module") assert "test_module" == module.get_name() def test_pymodule(self): global open_param global process_called global close_called global on_eos_called open_param = "" process_called = False close_called = False on_eos_called = False params = {"pyclass_name" : "test.module_test.CustomModule", "param" : "value"} assert cpptest_pymodule(params) assert "value" == open_param assert process_called assert close_called assert on_eos_called