Move test cases to the testing package

Add comments to tests
This commit is contained in:
Timmy Welch 2022-12-06 16:51:10 -08:00
parent 53445759f7
commit e9cef87154
No known key found for this signature in database
2 changed files with 226 additions and 216 deletions

214
testing/settings.py Normal file
View File

@ -0,0 +1,214 @@
from __future__ import annotations
settings_cases = [
(
(
("--test",),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="tst",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "tst",
"help": None,
"internal_name": "tst_test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": ("--test",),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": "tst_test",
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
(
(
(
"-t",
"--test",
),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="tst",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "tst",
"help": None,
"internal_name": "tst_test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": (
"-t",
"--test",
),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": "tst_test",
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
(
(
("test",),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="tst",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "tst",
"help": None,
"internal_name": "tst_test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": ("tst_test",),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": None,
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
(
(
("--test",),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "",
"help": None,
"internal_name": "test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": ("--test",),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": "test",
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
]

View File

@ -6,6 +6,7 @@ import json
import pytest
import comictaggerlib.settings.manager
from testing.settings import settings_cases
def test_settings_manager():
@ -14,220 +15,6 @@ def test_settings_manager():
assert manager is not None and defaults is not None
settings_cases = [
(
(
("--test",),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="tst",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "tst",
"help": None,
"internal_name": "tst_test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": ("--test",),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": "tst_test",
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
(
(
(
"-t",
"--test",
),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="tst",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "tst",
"help": None,
"internal_name": "tst_test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": (
"-t",
"--test",
),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": "tst_test",
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
(
(
("test",),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="tst",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "tst",
"help": None,
"internal_name": "tst_test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": ("tst_test",),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": None,
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
(
(
("--test",),
dict(
action=None,
nargs=None,
const=None,
default=None,
type=None,
choices=None,
required=None,
help=None,
metavar=None,
dest=None,
cmdline=True,
file=True,
group="",
exclusive=False,
),
),
{
"action": None,
"choices": None,
"cmdline": True,
"const": None,
"default": None,
"dest": "test",
"exclusive": False,
"file": True,
"group": "",
"help": None,
"internal_name": "test",
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
"argparse_args": ("--test",),
"argparse_kwargs": {
"action": None,
"choices": None,
"const": None,
"default": None,
"dest": "test",
"help": None,
"metavar": "TEST",
"nargs": None,
"required": None,
"type": None,
},
},
),
]
@pytest.mark.parametrize("arguments, expected", settings_cases)
def test_setting(arguments, expected):
assert vars(comictaggerlib.settings.manager.Setting(*arguments[0], **arguments[1])) == expected
@ -289,6 +76,7 @@ def test_normalize(settings_manager):
assert "tst" in normalized
assert "test" in normalized["tst"]
assert normalized["tst"]["test"] == "hello"
assert not hasattr(normalized_namespace, "test")
assert hasattr(normalized_namespace, "tst_test")
assert normalized_namespace.tst_test == "hello"
@ -313,13 +101,21 @@ def test_normalize_merge(raw, raw2, expected, settings_manager):
def test_parse_options(settings_manager, tmp_path):
settings_file = tmp_path / "settings.json"
settings_file.write_text(json.dumps({"tst2": {"test2": "success"}}))
settings_file.write_text(json.dumps({"tst2": {"test2": "success"}, "tst3": {"test3": "fail"}}))
settings_manager.add_group("tst", lambda parser: parser.add_setting("--test", default="hello", file=False))
settings_manager.add_group("tst2", lambda parser: parser.add_setting("--test2", default="hello", cmdline=False))
settings_manager.add_group("tst3", lambda parser: parser.add_setting("--test3", default="hello"))
normalized = settings_manager.parse_options(settings_file, ["--test", "success"])
normalized = settings_manager.parse_options(settings_file, ["--test", "success", "--test3", "success"])
# Tests that the cli will override the default
assert "test" in normalized["tst"]
assert normalized["tst"]["test"] == "success"
# Tests that the settings file will override the default
assert "test2" in normalized["tst2"]
assert normalized["tst2"]["test2"] == "success"
# Tests that the cli will override the settings file
assert "test3" in normalized["tst3"]
assert normalized["tst3"]["test3"] == "success"