""" Unit tests for testing CORE EMANE networks. """ import pytest from conftest import EMANE_SERVICES from core.data import ConfigData from core.emane.bypass import EmaneBypassModel from core.emane.commeffect import EmaneCommEffectModel from core.emane.ieee80211abg import EmaneIeee80211abgModel from core.emane.nodes import EmaneNode from core.emane.rfpipe import EmaneRfPipeModel from core.emane.tdma import EmaneTdmaModel _EMANE_MODELS = [ EmaneIeee80211abgModel, EmaneRfPipeModel, EmaneBypassModel, EmaneCommEffectModel, EmaneTdmaModel, ] class TestEmane: @pytest.mark.parametrize("model", _EMANE_MODELS) def test_models(self, core, model): """ Test emane models within a basic network. :param conftest.Core core: core fixture to test with :param model: emane model to test :param func setup: setup function to configure emane node """ # create emane node for networking the core nodes emane_node = core.session.add_object(name="emane", cls=EmaneNode) emane_node.setposition(x=80, y=50) # set the emane model core.set_emane_model(emane_node, model) # create nodes core.create_node("n1", objid=1, position=(150, 150), services=EMANE_SERVICES, model="mdr") core.create_node("n2", objid=2, position=(300, 150), services=EMANE_SERVICES, model="mdr") # add interfaces to nodes core.add_interface(emane_node, "n1") core.add_interface(emane_node, "n2") # instantiate session core.session.instantiate() # assert node directories created core.assert_nodes() # ping n2 from n1 and assert success status = core.ping("n1", "n2") assert not status