Create context manager for temp download of ssh key file. Tests.
This commit is contained in:
parent
e4e1f42309
commit
f75b832903
2 changed files with 69 additions and 3 deletions
|
|
@ -1,5 +1,7 @@
|
|||
import pathlib
|
||||
|
||||
from lolafect.lolaconfig import build_lolaconfig
|
||||
from lolafect.connections import connect_to_trino, close_trino_connection
|
||||
from lolafect.connections import connect_to_trino, close_trino_connection, _temp_secret_file_from_s3
|
||||
|
||||
# __ __ _____ _ _ _____ _ _ _____ _
|
||||
# \ \ / /\ | __ \| \ | |_ _| \ | |/ ____| |
|
||||
|
|
@ -25,3 +27,37 @@ def test_that_trino_connect_and_disconnect_works_properly():
|
|||
connection.cursor().execute("SELECT 1")
|
||||
|
||||
close_trino_connection.run(trino_connection=connection)
|
||||
|
||||
|
||||
def test_temporal_download_of_secret_file_works_properly_in_happy_path():
|
||||
|
||||
temp_file_name = "test_temp_file"
|
||||
|
||||
with _temp_secret_file_from_s3(
|
||||
TEST_LOLACONFIG.S3_BUCKET_NAME,
|
||||
s3_file_key="env/env_prd.json", # Not a secret file, but then again, this is a test,
|
||||
local_temp_file_path=temp_file_name
|
||||
) as temp:
|
||||
temp_file_found_when_in_context_manager = pathlib.Path(temp).exists()
|
||||
|
||||
temp_file_missing_when_outside_context_manager = not pathlib.Path(temp_file_name).exists()
|
||||
|
||||
assert temp_file_found_when_in_context_manager and temp_file_missing_when_outside_context_manager
|
||||
|
||||
def test_temporal_download_of_secret_file_works_properly_even_with_exception():
|
||||
temp_file_name = "test_temp_file"
|
||||
|
||||
try:
|
||||
with _temp_secret_file_from_s3(
|
||||
TEST_LOLACONFIG.S3_BUCKET_NAME,
|
||||
s3_file_key="env/env_prd.json", # Not a secret file, but then again, this is a test,
|
||||
local_temp_file_path=temp_file_name
|
||||
) as temp:
|
||||
temp_file_found_when_in_context_manager = pathlib.Path(temp).exists()
|
||||
raise Exception # Something nasty happens within the context manager
|
||||
except:
|
||||
pass # We go with the test, ignoring the forced exception
|
||||
|
||||
temp_file_missing_when_outside_context_manager = not pathlib.Path(temp_file_name).exists()
|
||||
|
||||
assert temp_file_found_when_in_context_manager and temp_file_missing_when_outside_context_manager
|
||||
Loading…
Add table
Add a link
Reference in a new issue