Updated to 0.2.1
Some checks failed
Tests / test (3.10) (push) Failing after 55s
Tests / test (3.11) (push) Failing after 5s
Tests / test (3.8) (push) Failing after 6s
Tests / test (3.9) (push) Failing after 5s

This commit is contained in:
2023-08-06 19:11:16 +02:00
parent 461642a529
commit 64aa2686ea
24 changed files with 176 additions and 69 deletions

20
tests/conftest.py Normal file
View File

@@ -0,0 +1,20 @@
from pathlib import Path
import pytest
from libbot.i18n import BotLocale
@pytest.fixture()
def location_config() -> Path:
return Path("tests/config.json")
@pytest.fixture()
def location_locale() -> Path:
return Path("tests/data/locale/")
@pytest.fixture()
def bot_locale(location_locale: Path) -> BotLocale:
return BotLocale(locales_root=location_locale)

View File

@@ -5,8 +5,6 @@ import pytest
from libbot.i18n import BotLocale
bot_locale = BotLocale(Path("tests/data/locale"))
@pytest.mark.parametrize(
"key, args, locale, expected",
@@ -20,7 +18,11 @@ bot_locale = BotLocale(Path("tests/data/locale"))
],
)
def test_bot_locale_get(
key: str, args: List[str], locale: Union[str, None], expected: Any
key: str,
args: List[str],
locale: Union[str, None],
expected: Any,
bot_locale: BotLocale,
):
assert (
bot_locale._(key, *args, locale=locale)
@@ -37,7 +39,9 @@ def test_bot_locale_get(
("nested", ["callbacks", "default"], ["sure", "авжеж"]),
],
)
def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
def test_i18n_in_all_locales(
key: str, args: List[str], expected: Any, bot_locale: BotLocale
):
assert (bot_locale.in_all_locales(key, *args)) == expected
@@ -49,5 +53,7 @@ def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
("nested", ["callbacks", "default"], {"en": "sure", "uk": "авжеж"}),
],
)
def test_i18n_in_every_locale(key: str, args: List[str], expected: Any):
def test_i18n_in_every_locale(
key: str, args: List[str], expected: Any, bot_locale: BotLocale
):
assert (bot_locale.in_every_locale(key, *args)) == expected

View File

@@ -14,11 +14,8 @@ from libbot import config_get, config_set
(["bot_token", "bot"], "sample_token"),
],
)
async def test_config_get_valid(args: List[str], expected: str):
assert (
await config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
== expected
)
async def test_config_get_valid(args: List[str], expected: str, location_config: Path):
assert await config_get(args[0], *args[1:], config_file=location_config) == expected
@pytest.mark.asyncio
@@ -28,10 +25,12 @@ async def test_config_get_valid(args: List[str], expected: str):
(["bot_stonks", "bot"], pytest.raises(KeyError)),
],
)
async def test_config_get_invalid(args: List[str], expected: Any):
async def test_config_get_invalid(
args: List[str], expected: Any, location_config: Path
):
with expected:
assert (
await config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
await config_get(args[0], *args[1:], config_file=location_config)
== expected
)
@@ -44,6 +43,6 @@ async def test_config_get_invalid(args: List[str], expected: Any):
("bot_token", ["bot"], "sample_token"),
],
)
async def test_config_set(key: str, path: List[str], value: Any):
await config_set(key, value, *path, config_file=Path("tests/config.json"))
assert await config_get(key, *path, config_file=Path("tests/config.json")) == value
async def test_config_set(key: str, path: List[str], value: Any, location_config: Path):
await config_set(key, value, *path, config_file=location_config)
assert await config_get(key, *path, config_file=location_config) == value

View File

@@ -13,11 +13,8 @@ from libbot import sync
(["bot_token", "bot"], "sample_token"),
],
)
def test_config_get_valid(args: List[str], expected: str):
assert (
sync.config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
== expected
)
def test_config_get_valid(args: List[str], expected: str, location_config: Path):
assert sync.config_get(args[0], *args[1:], config_file=location_config) == expected
@pytest.mark.parametrize(
@@ -26,11 +23,10 @@ def test_config_get_valid(args: List[str], expected: str):
(["bot_stonks", "bot"], pytest.raises(KeyError)),
],
)
def test_config_get_invalid(args: List[str], expected: Any):
def test_config_get_invalid(args: List[str], expected: Any, location_config: Path):
with expected:
assert (
sync.config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
== expected
sync.config_get(args[0], *args[1:], config_file=location_config) == expected
)
@@ -41,6 +37,6 @@ def test_config_get_invalid(args: List[str], expected: Any):
("bot_token", ["bot"], "sample_token"),
],
)
def test_config_set(key: str, path: List[str], value: Any):
sync.config_set(key, value, *path, config_file=Path("tests/config.json"))
assert sync.config_get(key, *path, config_file=Path("tests/config.json")) == value
def test_config_set(key: str, path: List[str], value: Any, location_config: Path):
sync.config_set(key, value, *path, config_file=location_config)
assert sync.config_get(key, *path, config_file=location_config) == value

View File

@@ -19,12 +19,16 @@ from libbot import i18n
],
)
async def test_i18n_get(
key: str, args: List[str], locale: Union[str, None], expected: Any
key: str,
args: List[str],
locale: Union[str, None],
expected: Any,
location_locale: Path,
):
assert (
await i18n._(key, *args, locale=locale, locales_root=Path("tests/data/locale"))
await i18n._(key, *args, locale=locale, locales_root=location_locale)
if locale is not None
else await i18n._(key, *args, locales_root=Path("tests/data/locale"))
else await i18n._(key, *args, locales_root=location_locale)
) == expected
@@ -37,9 +41,11 @@ async def test_i18n_get(
("nested", ["callbacks", "default"], ["sure", "авжеж"]),
],
)
async def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
async def test_i18n_in_all_locales(
key: str, args: List[str], expected: Any, location_locale: Path
):
assert (
await i18n.in_all_locales(key, *args, locales_root=Path("tests/data/locale"))
await i18n.in_all_locales(key, *args, locales_root=location_locale)
) == expected
@@ -52,7 +58,9 @@ async def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
("nested", ["callbacks", "default"], {"en": "sure", "uk": "авжеж"}),
],
)
async def test_i18n_in_every_locale(key: str, args: List[str], expected: Any):
async def test_i18n_in_every_locale(
key: str, args: List[str], expected: Any, location_locale: Path
):
assert (
await i18n.in_every_locale(key, *args, locales_root=Path("tests/data/locale"))
await i18n.in_every_locale(key, *args, locales_root=location_locale)
) == expected

View File

@@ -17,11 +17,17 @@ from libbot.i18n import sync
("nested", ["callbacks", "default"], "uk", "авжеж"),
],
)
def test_i18n_get(key: str, args: List[str], locale: Union[str, None], expected: Any):
def test_i18n_get(
key: str,
args: List[str],
locale: Union[str, None],
expected: Any,
location_locale: Path,
):
assert (
sync._(key, *args, locale=locale, locales_root=Path("tests/data/locale"))
sync._(key, *args, locale=locale, locales_root=location_locale)
if locale is not None
else sync._(key, *args, locales_root=Path("tests/data/locale"))
else sync._(key, *args, locales_root=location_locale)
) == expected
@@ -33,10 +39,10 @@ def test_i18n_get(key: str, args: List[str], locale: Union[str, None], expected:
("nested", ["callbacks", "default"], ["sure", "авжеж"]),
],
)
def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
assert (
sync.in_all_locales(key, *args, locales_root=Path("tests/data/locale"))
) == expected
def test_i18n_in_all_locales(
key: str, args: List[str], expected: Any, location_locale: Path
):
assert (sync.in_all_locales(key, *args, locales_root=location_locale)) == expected
@pytest.mark.parametrize(
@@ -47,7 +53,7 @@ def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
("nested", ["callbacks", "default"], {"en": "sure", "uk": "авжеж"}),
],
)
def test_i18n_in_every_locale(key: str, args: List[str], expected: Any):
assert (
sync.in_every_locale(key, *args, locales_root=Path("tests/data/locale"))
) == expected
def test_i18n_in_every_locale(
key: str, args: List[str], expected: Any, location_locale: Path
):
assert (sync.in_every_locale(key, *args, locales_root=location_locale)) == expected