Пример #1
0
    def _server_factory(permanent_keys=None):
        if permanent_keys is None:
            permanent_keys = server_permanent_keys

        # Setup server
        port = unused_tcp_port()
        coroutine = serve(
            util.create_ssl_context(
                pytest.saltyrtc.cert, keyfile=pytest.saltyrtc.key,
                dh_params_file=pytest.saltyrtc.dh_params),
            permanent_keys,
            host=pytest.saltyrtc.host,
            port=port,
            loop=event_loop,
            server_class=TestServer,
        )
        server_ = event_loop.run_until_complete(coroutine)
        # Inject timeout and address (little bit of a hack but meh...)
        server_.timeout = _get_timeout(request=request)
        server_.address = (pytest.saltyrtc.host, port)

        _server_instances.append(server_)

        def fin():
            server_.close()
            event_loop.run_until_complete(server_.wait_closed())
            _server_instances.remove(server_)
            if len(_server_instances) == 0:
                logging_handler.pop_application()

        request.addfinalizer(fin)
        return server_
Пример #2
0
    def _server_factory(permanent_keys=None):
        if permanent_keys is None:
            permanent_keys = server_permanent_keys

        # Setup server
        port = unused_tcp_port()
        coroutine = serve(util.create_ssl_context(pytest.saltyrtc.cert),
                          permanent_keys,
                          host=pytest.saltyrtc.ip,
                          port=port,
                          loop=event_loop)
        server_ = event_loop.run_until_complete(coroutine)
        # Inject address (little bit of a hack but meh...)
        server_.address = (pytest.saltyrtc.ip, port)

        _server_instances.append(server_)

        def fin():
            server_.close()
            event_loop.run_until_complete(server_.wait_closed())
            _server_instances.remove(server_)
            if pytest.saltyrtc.debug and len(_server_instances) == 0:
                logging_handler.pop_application()

        request.addfinalizer(fin)
        return server_
 def test_repeated_permanent_keys(self, server_permanent_keys):
     """
     Ensure the server does not accept repeated keys.
     """
     keys = server_permanent_keys + [server_permanent_keys[1]]
     with pytest.raises(server.ServerKeyError) as exc_info:
         yield from server.serve(None, keys)
     assert 'Repeated permanent keys' in str(exc_info.value)