Added tests for running file with combinations of multiple default env files, env files, and env vars. Also reorganized environment directory in examples.
This commit is contained in:
@ -83,12 +83,6 @@ def read(filename, module, install=False, quiet=False, verbose=False, default_en
|
|||||||
for f in default_env_file:
|
for f in default_env_file:
|
||||||
env_file_path = env_dir.joinpath(f)
|
env_file_path = env_dir.joinpath(f)
|
||||||
load_dotenv(env_file_path)
|
load_dotenv(env_file_path)
|
||||||
else:
|
|
||||||
try:
|
|
||||||
env_file_path = env_dir.joinpath('.env')
|
|
||||||
load_dotenv(env_file_path)
|
|
||||||
except FileNotFoundError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if default_env:
|
if default_env:
|
||||||
for e in default_env:
|
for e in default_env:
|
||||||
|
|||||||
2
bonobo/examples/environment/env_files/.env2
Normal file
2
bonobo/examples/environment/env_files/.env2
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
TEST_USER_PASSWORD='not_sweet_password'
|
||||||
|
PATH='abril'
|
||||||
@ -6,10 +6,9 @@ import bonobo
|
|||||||
def extract():
|
def extract():
|
||||||
my_secret = os.getenv('MY_SECRET')
|
my_secret = os.getenv('MY_SECRET')
|
||||||
test_user_password = os.getenv('TEST_USER_PASSWORD')
|
test_user_password = os.getenv('TEST_USER_PASSWORD')
|
||||||
user = os.getenv('USERNAME')
|
|
||||||
path = os.getenv('PATH')
|
path = os.getenv('PATH')
|
||||||
|
|
||||||
return my_secret, test_user_password, user, path
|
return my_secret, test_user_password, path
|
||||||
|
|
||||||
|
|
||||||
def load(s: str):
|
def load(s: str):
|
||||||
0
bonobo/examples/environment/env_vars/__init__.py
Normal file
0
bonobo/examples/environment/env_vars/__init__.py
Normal file
@ -99,38 +99,92 @@ def test_version(runner, capsys):
|
|||||||
|
|
||||||
|
|
||||||
@all_runners
|
@all_runners
|
||||||
def test_run_module_with_default_env_file(runner, capsys):
|
def test_run_file_with_default_env_file(runner, capsys):
|
||||||
runner(
|
runner(
|
||||||
'run', '--quiet', get_examples_path('env_vars/get_passed_env_file.py')
|
'run', '--quiet', '--default-env-file', '.env',
|
||||||
|
get_examples_path('environment/env_files/get_passed_env_file.py')
|
||||||
)
|
)
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
out = out.split('\n')
|
out = out.split('\n')
|
||||||
assert out[0] == '321'
|
assert out[0] == '321'
|
||||||
assert out[1] == 'sweetpassword'
|
assert out[1] == 'sweetpassword'
|
||||||
assert out[2] != 'not_cwandrews_123'
|
assert out[2] != 'marzo'
|
||||||
assert out[3] != 'marzo'
|
|
||||||
|
|
||||||
|
|
||||||
# @all_runners
|
|
||||||
# def test_run_with_env_file(runner, capsys):
|
|
||||||
# runner(
|
|
||||||
# 'run', '--quiet',
|
|
||||||
# get_examples_path('env_vars/get_passed_env.py'), '--env', 'ENV_TEST_NUMBER=123', '--env',
|
|
||||||
# 'ENV_TEST_USER=cwandrews', '--env', "ENV_TEST_STRING='my_test_string'"
|
|
||||||
# )
|
|
||||||
# out, err = capsys.readouterr()
|
|
||||||
# out = out.split('\n')
|
|
||||||
# assert out[0] == 'cwandrews'
|
|
||||||
# assert out[1] == '123'
|
|
||||||
# assert out[2] == 'my_test_string'
|
|
||||||
|
|
||||||
|
|
||||||
@all_runners
|
@all_runners
|
||||||
def test_run_with_env(runner, capsys):
|
def test_run_file_with_multiple_default_env_files(runner, capsys):
|
||||||
|
runner(
|
||||||
|
'run', '--quiet', '--default-env-file', '.env',
|
||||||
|
'--default-env-file', '.env2',
|
||||||
|
get_examples_path('environment/env_files/get_passed_env_file.py')
|
||||||
|
)
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
out = out.split('\n')
|
||||||
|
assert out[0] == '321'
|
||||||
|
assert out[1] == 'sweetpassword'
|
||||||
|
assert out[2] != 'marzo'
|
||||||
|
|
||||||
|
|
||||||
|
@all_runners
|
||||||
|
def test_run_file_with_env_file(runner, capsys):
|
||||||
|
runner(
|
||||||
|
'run', '--quiet', '--env-file', '.env',
|
||||||
|
get_examples_path('environment/env_files/get_passed_env_file.py')
|
||||||
|
)
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
out = out.split('\n')
|
||||||
|
assert out[0] == '321'
|
||||||
|
assert out[1] == 'sweetpassword'
|
||||||
|
assert out[2] == 'marzo'
|
||||||
|
|
||||||
|
|
||||||
|
@all_runners
|
||||||
|
def test_run_file_with_multiple_env_files(runner, capsys):
|
||||||
|
runner(
|
||||||
|
'run', '--quiet', '--env-file', '.env', '--env-file', '.env2',
|
||||||
|
get_examples_path('environment/env_files/get_passed_env_file.py')
|
||||||
|
)
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
out = out.split('\n')
|
||||||
|
assert out[0] == '321'
|
||||||
|
assert out[1] == 'not_sweet_password'
|
||||||
|
assert out[2] == 'abril'
|
||||||
|
|
||||||
|
|
||||||
|
@all_runners
|
||||||
|
def test_run_file_with_default_env_file_and_env_file(runner, capsys):
|
||||||
|
runner(
|
||||||
|
'run', '--quiet', '--default-env-file', '.env', '--env-file', '.env2',
|
||||||
|
get_examples_path('environment/env_files/get_passed_env_file.py')
|
||||||
|
)
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
out = out.split('\n')
|
||||||
|
assert out[0] == '321'
|
||||||
|
assert out[1] == 'not_sweet_password'
|
||||||
|
assert out[2] == 'abril'
|
||||||
|
|
||||||
|
|
||||||
|
@all_runners
|
||||||
|
def test_run_file_with_default_env_file_and_env_file_and_env_vars(runner, capsys):
|
||||||
|
runner(
|
||||||
|
'run', '--quiet', '--default-env-file', '.env', '--env-file', '.env2',
|
||||||
|
'--env', 'TEST_USER_PASSWORD=SWEETpass', '--env', 'MY_SECRET=444',
|
||||||
|
get_examples_path('environment/env_files/get_passed_env_file.py')
|
||||||
|
)
|
||||||
|
out, err = capsys.readouterr()
|
||||||
|
out = out.split('\n')
|
||||||
|
assert out[0] == '444'
|
||||||
|
assert out[1] == 'SWEETpass'
|
||||||
|
assert out[2] == 'abril'
|
||||||
|
|
||||||
|
|
||||||
|
@all_runners
|
||||||
|
def test_run_file_with_env_vars(runner, capsys):
|
||||||
runner(
|
runner(
|
||||||
'run', '--quiet',
|
'run', '--quiet',
|
||||||
get_examples_path('env_vars/get_passed_env.py'), '--env', 'ENV_TEST_NUMBER=123', '--env',
|
get_examples_path('environment/env_vars/get_passed_env.py'),
|
||||||
'ENV_TEST_USER=cwandrews', '--env', "ENV_TEST_STRING='my_test_string'"
|
'--env', 'ENV_TEST_NUMBER=123', '--env', 'ENV_TEST_USER=cwandrews',
|
||||||
|
'--env', "ENV_TEST_STRING='my_test_string'"
|
||||||
)
|
)
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
out = out.split('\n')
|
out = out.split('\n')
|
||||||
@ -140,10 +194,12 @@ def test_run_with_env(runner, capsys):
|
|||||||
|
|
||||||
|
|
||||||
@all_runners
|
@all_runners
|
||||||
def test_run_module_with_env(runner, capsys):
|
def test_run_module_with_env_vars(runner, capsys):
|
||||||
runner(
|
runner(
|
||||||
'run', '--quiet', '-m', 'bonobo.examples.env_vars.get_passed_env', '--env', 'ENV_TEST_NUMBER=123', '--env',
|
'run', '--quiet', '-m',
|
||||||
'ENV_TEST_USER=cwandrews', '--env', "ENV_TEST_STRING='my_test_string'"
|
'bonobo.examples.environment.env_vars.get_passed_env',
|
||||||
|
'--env', 'ENV_TEST_NUMBER=123', '--env', 'ENV_TEST_USER=cwandrews',
|
||||||
|
'--env', "ENV_TEST_STRING='my_test_string'"
|
||||||
)
|
)
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
out = out.split('\n')
|
out = out.split('\n')
|
||||||
|
|||||||
Reference in New Issue
Block a user