Added tests for configoptions.py
This commit is contained in:
@@ -3974,6 +3974,7 @@ def test_save_load_config():
|
||||
cwd = os.getcwd()
|
||||
# pylint: disable=not-context-manager
|
||||
with runner.isolated_filesystem():
|
||||
# test save config file
|
||||
result = runner.invoke(
|
||||
export,
|
||||
[
|
||||
@@ -3993,6 +3994,7 @@ def test_save_load_config():
|
||||
files = glob.glob("*")
|
||||
assert "config.toml" in files
|
||||
|
||||
# test load config file
|
||||
result = runner.invoke(
|
||||
export,
|
||||
[
|
||||
@@ -4007,3 +4009,55 @@ def test_save_load_config():
|
||||
assert "Loaded options from file" in result.output
|
||||
assert "Skipped up to date XMP sidecar" in result.output
|
||||
|
||||
# test overwrite existing config file
|
||||
result = runner.invoke(
|
||||
export,
|
||||
[
|
||||
os.path.join(cwd, CLI_PHOTOS_DB),
|
||||
".",
|
||||
"-V",
|
||||
"--sidecar",
|
||||
"XMP",
|
||||
"--touch-file",
|
||||
"--not-live",
|
||||
"--update",
|
||||
"--save-config",
|
||||
"config.toml",
|
||||
],
|
||||
)
|
||||
assert result.exit_code == 0
|
||||
assert "Saving options to file" in result.output
|
||||
files = glob.glob("*")
|
||||
assert "config.toml" in files
|
||||
|
||||
# test load config file with incompat command line option
|
||||
result = runner.invoke(
|
||||
export,
|
||||
[
|
||||
os.path.join(cwd, CLI_PHOTOS_DB),
|
||||
".",
|
||||
"-V",
|
||||
"--load-config",
|
||||
"config.toml",
|
||||
"--live",
|
||||
],
|
||||
)
|
||||
assert result.exit_code != 0
|
||||
assert "Incompatible export options" in result.output
|
||||
|
||||
# test load config file with command line override
|
||||
result = runner.invoke(
|
||||
export,
|
||||
[
|
||||
os.path.join(cwd, CLI_PHOTOS_DB),
|
||||
".",
|
||||
"-V",
|
||||
"--load-config",
|
||||
"config.toml",
|
||||
"--sidecar",
|
||||
"json",
|
||||
],
|
||||
)
|
||||
assert result.exit_code == 0
|
||||
assert "Writing exiftool JSON sidecar" in result.output
|
||||
assert "Writing XMP sidecar" not in result.output
|
||||
|
||||
Reference in New Issue
Block a user