def test_use_ssl_only_if_all_three_files(keyfile, certfile, ca_certs, expected_use_ssl): conn = connection.GearmanConnection(host='localhost', keyfile=keyfile, certfile=certfile, ca_certs=ca_certs) assert conn.use_ssl == expected_use_ssl
def test_send_commands_to_buffer(): conn = connection.GearmanConnection(host='localhost') assert conn.send_commands_to_buffer() is None assert conn._outgoing_buffer == b'' conn._outgoing_commands.append((GEARMAN_COMMAND_ECHO_REQ, { "data": "test" })) conn.send_commands_to_buffer() assert conn._outgoing_buffer == b"\x00REQ\x00\x00\x00\x10\x00\x00\x00\x04test" if compat.PY3: assert isinstance(conn._outgoing_buffer, compat.binary_type) else: assert isinstance(conn._outgoing_buffer, compat.binary_type) conn._reset_connection() conn._outgoing_commands.append((GEARMAN_COMMAND_TEXT_COMMAND, { "raw_text": "raw---text" })) conn.send_commands_to_buffer() assert conn._outgoing_buffer == b"raw---text" if compat.PY3: assert isinstance(conn._outgoing_buffer, compat.binary_type) else: assert isinstance(conn._outgoing_buffer, compat.binary_type)
def test_no_host_is_ServerUnavailable(): with pytest.raises(ServerUnavailable): connection.GearmanConnection(host=None)
def test_no_socket_means_no_fileno(): conn = connection.GearmanConnection(host='localhost') with pytest.raises(ConnectionError, match='no socket set'): conn.fileno()