lolafect/tests/test_unit/test_lolaconfig.py

111 lines
3.1 KiB
Python
Raw Normal View History

2023-01-09 13:38:49 +01:00
from types import SimpleNamespace
from lolafect.lolaconfig import LolaConfig
def test_lolaconfig_instantiates_with_defaults_properly():
lolaconfig = LolaConfig(flow_name="some-flow")
def test_lolaconfig_instantiates_without_defaults_proplery():
lolaconfig = LolaConfig(
flow_name="some-flow",
env_s3_bucket="bucket",
kubernetes_labels=["some_label"],
kubernetes_image="loliloli:latest",
slack_webhooks_file="the_file/is/here.json",
)
def test_lolaconfig_fetches_webhooks_properly():
lolaconfig = LolaConfig(flow_name="some-flow")
fake_s3_reader = SimpleNamespace()
def mock_read_json_from_s3_file(bucket, key):
return {"a-channel-name": "a-channel-url.com"}
fake_s3_reader.read_json_from_s3_file = mock_read_json_from_s3_file
lolaconfig.fetch_slack_webhooks(s3_reader=fake_s3_reader)
assert type(lolaconfig.SLACK_WEBHOOKS) is dict
2023-01-13 14:56:36 +01:00
def test_lolaconfig_fetches_trino_creds_properly():
lolaconfig = LolaConfig(flow_name="some-flow")
fake_s3_reader = SimpleNamespace()
def mock_read_json_from_s3_file(bucket, key):
return {
"trino_host": "some_host",
"trino_user": "some_user",
"trino_pass": "some_password",
"trino_port": "some_port",
}
fake_s3_reader.read_json_from_s3_file = mock_read_json_from_s3_file
lolaconfig.fetch_trino_credentials(s3_reader=fake_s3_reader)
assert type(lolaconfig.TRINO_CREDENTIALS) is dict
2023-01-13 15:37:02 +01:00
def test_lolaconfig_fetches_ssh_tunnel_creds_properly():
lolaconfig = LolaConfig(flow_name="some-flow")
fake_s3_reader = SimpleNamespace()
def mock_read_json_from_s3_file(bucket, key):
return {
"pt_ssh_pkey_path": "some-path",
"pt_ssh_pkey_passphrase": "some-password",
"pt_ssh_username": "some-username",
"pt_ssh_jumphost_port": "some-port",
"pt_ssh_jumphost": "some-jumphost",
}
fake_s3_reader.read_json_from_s3_file = mock_read_json_from_s3_file
lolaconfig.fetch_ssh_tunnel_credentials(s3_reader=fake_s3_reader)
assert type(lolaconfig.SSH_TUNNEL_CREDENTIALS) is dict
2023-01-16 13:57:34 +01:00
def test_lolaconfig_fetches_dw_creds_properly():
lolaconfig = LolaConfig(flow_name="some-flow")
fake_s3_reader = SimpleNamespace()
def mock_read_json_from_s3_file(bucket, key):
return {
"datadw_host": "some_host",
"datadw_user": "some_user",
"datadw_pass": "some_password",
"datadw_port": "some_port",
}
fake_s3_reader.read_json_from_s3_file = mock_read_json_from_s3_file
lolaconfig.fetch_dw_credentials(s3_reader=fake_s3_reader)
assert type(lolaconfig.DW_CREDENTIALS) is dict
2023-01-16 14:03:12 +01:00
def test_lolaconfig_fetches_prefect_host_properly():
lolaconfig = LolaConfig(flow_name="some-flow")
fake_s3_reader = SimpleNamespace()
def mock_read_json_from_s3_file(bucket, key):
return {
"prefect_host": "some_host",
}
fake_s3_reader.read_json_from_s3_file = mock_read_json_from_s3_file
lolaconfig.fetch_prefect_host(s3_reader=fake_s3_reader)
assert type(lolaconfig.PREFECT_HOST) is str