def test_server_can_send_to_trustable_peer_identity(): """ Uses internal metadata of zmq.Frame.get() to fetch identity of sender """ from pseud._gevent import Client, Server server_id = 'server' endpoint = 'tcp://127.0.0.1:8989' server_public, server_secret = zmq.curve_keypair() security_plugin = 'trusted_curve' server = Server( server_id, security_plugin=security_plugin, public_key=server_public, secret_key=server_secret, ) server.bind(endpoint) bob_public, bob_secret = server.auth_backend.known_identities['bob'] client = Client( server_id, user_id='bob', security_plugin=security_plugin, public_key=bob_public, secret_key=bob_secret, peer_public_key=server_public, ) client.connect(endpoint) assert server.socket.mechanism == zmq.CURVE assert client.socket.mechanism == zmq.CURVE server.start() client.start() @server.register_rpc(with_identity=True) def echo(peer_identity, message): return peer_identity, message result = client.echo('one').get() if zmq.zmq_version_info() >= (4, 1, 0): assert result == ('bob', 'one') else: assert result == ('', 'one') server.stop() client.stop()
def test_server_can_send_to_trustable_peer_identity(): """ Uses internal metadata of zmq.Frame.get() to fetch identity of sender """ from pseud._gevent import Client, Server server_id = 'server' endpoint = 'tcp://127.0.0.1:8989' server_public, server_secret = zmq.curve_keypair() security_plugin = 'trusted_curve' server = Server(server_id, security_plugin=security_plugin, public_key=server_public, secret_key=server_secret, ) server.bind(endpoint) bob_public, bob_secret = server.auth_backend.known_identities['bob'] client = Client(server_id, user_id='bob', security_plugin=security_plugin, public_key=bob_public, secret_key=bob_secret, peer_public_key=server_public, ) client.connect(endpoint) assert server.socket.mechanism == zmq.CURVE assert client.socket.mechanism == zmq.CURVE server.start() client.start() @server.register_rpc(with_identity=True) def echo(peer_identity, message): return peer_identity, message result = client.echo('one').get() if zmq.zmq_version_info() >= (4, 1, 0): assert result == ('bob', 'one') else: assert result == ('', 'one') server.stop() client.stop()