Splitting MySQL and SSH tunnel bits. SSH tunnel is now tested.
This commit is contained in:
parent
e2e7f8fb93
commit
3564ae99f7
2 changed files with 65 additions and 45 deletions
|
|
@ -1,11 +1,15 @@
|
|||
import pathlib
|
||||
|
||||
from prefect.tasks.core.function import FunctionTask
|
||||
|
||||
from lolafect.lolaconfig import build_lolaconfig
|
||||
from lolafect.connections import (
|
||||
connect_to_trino,
|
||||
close_trino_connection,
|
||||
_temp_secret_file_from_s3,
|
||||
open_ssh_tunnel_with_s3_pkey,
|
||||
get_local_bind_address_from_ssh_tunnel,
|
||||
close_ssh_tunnel,
|
||||
)
|
||||
|
||||
# __ __ _____ _ _ _____ _ _ _____ _
|
||||
|
|
@ -80,15 +84,34 @@ def test_temporal_download_of_secret_file_works_properly_even_with_exception():
|
|||
|
||||
|
||||
def test_opening_and_closing_ssh_tunnel_works_properly():
|
||||
|
||||
test_local_bind_host = "127.0.0.1"
|
||||
test_local_bind_port = 12345
|
||||
|
||||
tunnel = open_ssh_tunnel_with_s3_pkey.run(
|
||||
s3_bucket_name=TEST_LOLACONFIG.S3_BUCKET_NAME,
|
||||
ssh_tunnel_credentials=TEST_LOLACONFIG.SSH_TUNNEL_CREDENTIALS,
|
||||
remote_target_host=TEST_LOLACONFIG.DW_CREDENTIALS["host"],
|
||||
remote_target_port=TEST_LOLACONFIG.DW_CREDENTIALS["port"],
|
||||
local_bind_host=test_local_bind_host,
|
||||
local_bind_port=test_local_bind_port,
|
||||
)
|
||||
tunnel_was_active = tunnel.is_active
|
||||
tunnel.close()
|
||||
|
||||
local_bind_host_matches = (
|
||||
get_local_bind_address_from_ssh_tunnel.run(tunnel)[0] == test_local_bind_host
|
||||
)
|
||||
local_bind_port_matches = (
|
||||
get_local_bind_address_from_ssh_tunnel.run(tunnel)[1] == test_local_bind_port
|
||||
)
|
||||
|
||||
close_ssh_tunnel.run(tunnel)
|
||||
|
||||
tunnel_is_no_longer_active = not tunnel.is_active
|
||||
|
||||
assert tunnel_was_active and tunnel_is_no_longer_active
|
||||
assert (
|
||||
tunnel_was_active
|
||||
and tunnel_is_no_longer_active
|
||||
and local_bind_host_matches
|
||||
and local_bind_port_matches
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue