Source code for libmuscle.test.test_peer_info

import pytest
from ymmsl.v0_2 import Conduit, Operator, Port
from ymmsl.v0_2 import Identifier as Id
from ymmsl.v0_2 import Reference as Ref

from libmuscle.peer_info import PeerInfo


[docs] @pytest.fixture def peer_info() -> PeerInfo: kernel = Ref("kernel") index = [13] conduits = [Conduit("kernel.out", "other.in"), Conduit("other.out", "kernel.in")] peer_dims = {Ref("other"): []} peer_locations = {Ref("other"): ["tcp:other"]} ymmsl_ports = [Port(Id("out"), Operator.O_I), Port(Id("in"), Operator.S)] return PeerInfo(kernel, index, conduits, peer_dims, peer_locations, ymmsl_ports)
[docs] @pytest.fixture def peer_info2() -> PeerInfo: kernel = Ref("other") index = [] conduits = [Conduit("kernel.out", "other.in"), Conduit("other.out", "kernel.in")] peer_dims = {Ref("kernel"): [20]} peer_locations = {Ref("kernel"): ["tcp:kernel"]} ymmsl_ports = [Port(Id("out"), Operator.O_F), Port(Id("in"), Operator.F_INIT)] return PeerInfo(kernel, index, conduits, peer_dims, peer_locations, ymmsl_ports)
[docs] @pytest.fixture def peer_info3() -> PeerInfo: kernel = Ref("kernel") index = [] conduits = [Conduit("kernel.out", "other.in"), Conduit("other.out", "kernel.in")] peer_dims = {Ref("other"): []} peer_locations = {Ref("other"): ["tcp:other"]} ymmsl_ports = [Port(Id("out"), Operator.O_I), Port(Id("in"), Operator.S)] return PeerInfo(kernel, index, conduits, peer_dims, peer_locations, ymmsl_ports)
[docs] def test_create_peer_info(peer_info) -> None: assert True
[docs] def test_is_connected(peer_info) -> None: assert peer_info.is_connected(Id("out")) assert peer_info.is_connected(Id("in")) assert not peer_info.is_connected(Id("not_connected"))
[docs] def test_get_peer_port(peer_info, peer_info2, peer_info3) -> None: assert peer_info.get_peer_ports(Id("out")) == [Ref("other.in")] assert peer_info.get_peer_ports(Id("in")) == [Ref("other.out")] assert peer_info2.get_peer_ports(Id("out")) == [Ref("kernel.in")] assert peer_info2.get_peer_ports(Id("in")) == [Ref("kernel.out")] assert peer_info3.get_peer_ports(Id("out")) == [Ref("other.in")] assert peer_info3.get_peer_ports(Id("in")) == [Ref("other.out")]
[docs] def test_get_peer_dims(peer_info, peer_info2, peer_info3) -> None: assert peer_info.get_peer_dims(Ref("other")) == [] assert peer_info2.get_peer_dims(Ref("kernel")) == [20] assert peer_info3.get_peer_dims(Ref("other")) == []
[docs] def test_get_peer_locations(peer_info, peer_info2, peer_info3) -> None: assert peer_info.get_peer_locations(Ref("other")) == ["tcp:other"] assert peer_info2.get_peer_locations(Ref("kernel")) == ["tcp:kernel"] assert peer_info3.get_peer_locations(Ref("other")) == ["tcp:other"]
[docs] def test_get_peer_endpoint(peer_info, peer_info2, peer_info3) -> None: assert str(peer_info.get_peer_endpoints(Id("out"), [])[0]) == "other.in[13]" assert str(peer_info.get_peer_endpoints(Id("in"), [])[0]) == "other.out[13]" assert str(peer_info2.get_peer_endpoints(Id("out"), [11])[0]) == "kernel[11].in" assert str(peer_info2.get_peer_endpoints(Id("in"), [11])[0]) == "kernel[11].out" assert str(peer_info3.get_peer_endpoints(Id("out"), [42])[0]) == "other.in[42]" assert str(peer_info3.get_peer_endpoints(Id("in"), [42])[0]) == "other.out[42]"
[docs] def test_get_ymmsl_ports(peer_info) -> None: assert peer_info.list_ymmsl_ports() == [ Port(Id("out"), Operator.O_I), Port(Id("in"), Operator.S), ]