updates to how test fixtures are created
This commit is contained in:
parent
ade1d980a8
commit
4a6a87b931
1 changed files with 49 additions and 41 deletions
|
@ -17,6 +17,7 @@ from core.api.tlv.coreserver import CoreServer
|
||||||
from core.emulator.coreemu import CoreEmu
|
from core.emulator.coreemu import CoreEmu
|
||||||
from core.emulator.emudata import IpPrefixes
|
from core.emulator.emudata import IpPrefixes
|
||||||
from core.emulator.enumerations import CORE_API_PORT, ConfigTlvs, EventTlvs, EventTypes
|
from core.emulator.enumerations import CORE_API_PORT, ConfigTlvs, EventTlvs, EventTypes
|
||||||
|
from core.emulator.session import Session
|
||||||
from core.nodes import ipaddress
|
from core.nodes import ipaddress
|
||||||
from core.nodes.base import CoreNode
|
from core.nodes.base import CoreNode
|
||||||
|
|
||||||
|
@ -128,56 +129,34 @@ class PatchManager:
|
||||||
p.stop()
|
p.stop()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="module")
|
|
||||||
def module_grpc(global_coreemu):
|
|
||||||
grpc_server = CoreGrpcServer(global_coreemu)
|
|
||||||
thread = threading.Thread(target=grpc_server.listen, args=("localhost:50051",))
|
|
||||||
thread.daemon = True
|
|
||||||
thread.start()
|
|
||||||
time.sleep(0.1)
|
|
||||||
yield grpc_server
|
|
||||||
grpc_server.server.stop(None)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def grpc_server(module_grpc):
|
|
||||||
yield module_grpc
|
|
||||||
module_grpc.coreemu.shutdown()
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def global_coreemu():
|
def patcher(request):
|
||||||
coreemu = CoreEmu(config={"emane_prefix": "/usr"})
|
|
||||||
yield coreemu
|
|
||||||
coreemu.shutdown()
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
|
||||||
def global_session(request, global_coreemu):
|
|
||||||
patch_manager = PatchManager()
|
patch_manager = PatchManager()
|
||||||
if request.config.getoption("mock"):
|
if request.config.getoption("mock"):
|
||||||
patch_manager.patch("os.mkdir")
|
patch_manager.patch("os.mkdir")
|
||||||
patch_manager.patch("core.utils.cmd")
|
patch_manager.patch("core.utils.cmd")
|
||||||
patch_manager.patch("core.nodes.netclient.get_net_client")
|
patch_manager.patch("core.nodes.netclient.get_net_client")
|
||||||
patch_manager.patch_obj(CoreNode, "nodefile")
|
patch_manager.patch_obj(CoreNode, "nodefile")
|
||||||
session = global_coreemu.create_session(_id=1000)
|
patch_manager.patch_obj(Session, "write_state")
|
||||||
yield session
|
yield patch_manager
|
||||||
patch_manager.shutdown()
|
patch_manager.shutdown()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="session")
|
||||||
|
def global_coreemu(patcher):
|
||||||
|
coreemu = CoreEmu(config={"emane_prefix": "/usr"})
|
||||||
|
yield coreemu
|
||||||
|
coreemu.shutdown()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="session")
|
||||||
|
def global_session(request, patcher, global_coreemu):
|
||||||
|
mkdir = not request.config.getoption("mock")
|
||||||
|
session = Session(1000, {"emane_prefix": "/usr"}, mkdir)
|
||||||
|
yield session
|
||||||
session.shutdown()
|
session.shutdown()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def session(global_session):
|
|
||||||
global_session.write_state = MagicMock()
|
|
||||||
global_session.set_state(EventTypes.CONFIGURATION_STATE)
|
|
||||||
yield global_session
|
|
||||||
global_session.clear()
|
|
||||||
global_session.location.reset()
|
|
||||||
global_session.services.reset()
|
|
||||||
global_session.mobility.config_reset()
|
|
||||||
global_session.emane.config_reset()
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def ip_prefixes():
|
def ip_prefixes():
|
||||||
return IpPrefixes(ip4_prefix="10.83.0.0/16")
|
return IpPrefixes(ip4_prefix="10.83.0.0/16")
|
||||||
|
@ -189,13 +168,42 @@ def interface_helper():
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="module")
|
@pytest.fixture(scope="module")
|
||||||
def module_cored():
|
def module_grpc(global_coreemu):
|
||||||
server = CoreServerTest()
|
grpc_server = CoreGrpcServer(global_coreemu)
|
||||||
|
thread = threading.Thread(target=grpc_server.listen, args=("localhost:50051",))
|
||||||
|
thread.daemon = True
|
||||||
|
thread.start()
|
||||||
|
time.sleep(0.1)
|
||||||
|
yield grpc_server
|
||||||
|
grpc_server.server.stop(None)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="module")
|
||||||
|
def module_cored(request, patcher):
|
||||||
|
mkdir = not request.config.getoption("mock")
|
||||||
|
server = CoreServerTest(mkdir)
|
||||||
server.setup_handler()
|
server.setup_handler()
|
||||||
yield server
|
yield server
|
||||||
server.shutdown()
|
server.shutdown()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def grpc_server(module_grpc):
|
||||||
|
yield module_grpc
|
||||||
|
module_grpc.coreemu.shutdown()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def session(global_session):
|
||||||
|
global_session.set_state(EventTypes.CONFIGURATION_STATE)
|
||||||
|
yield global_session
|
||||||
|
global_session.clear()
|
||||||
|
global_session.location.reset()
|
||||||
|
global_session.services.reset()
|
||||||
|
global_session.mobility.config_reset()
|
||||||
|
global_session.emane.config_reset()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def cored(module_cored):
|
def cored(module_cored):
|
||||||
session = module_cored.session
|
session = module_cored.session
|
||||||
|
|
Loading…
Add table
Reference in a new issue