Skip to content

Commit

Permalink
Disable pytest plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
lk-geimfari committed Feb 29, 2024
1 parent ef79a85 commit f41535b
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 67 deletions.
70 changes: 35 additions & 35 deletions mimesis/plugins/pytest.py
@@ -1,35 +1,35 @@
from typing import Callable

from mimesis.locales import Locale
from mimesis.schema import Field

try:
import pytest
except ImportError:
raise ImportError("pytest is required to use this plugin")

_CacheCallable = Callable[[Locale], Field]


@pytest.fixture(scope="session")
def _mimesis_cache() -> _CacheCallable:
cached_instances: dict[Locale, Field] = {}

def factory(locale: Locale) -> Field:
if locale not in cached_instances:
cached_instances[locale] = Field(locale)
return cached_instances[locale]

return factory


@pytest.fixture()
def mimesis_locale() -> Locale:
"""Specifies which locale to use."""
return Locale.DEFAULT


@pytest.fixture()
def mimesis(_mimesis_cache: _CacheCallable, mimesis_locale: Locale) -> Field:
"""Mimesis fixture to provide fake data using all built-in providers."""
return _mimesis_cache(mimesis_locale)
# from typing import Callable
#
# from mimesis.locales import Locale
# from mimesis.schema import Field
#
# try:
# import pytest
# except ImportError:
# raise ImportError("pytest is required to use this plugin")
#
# _CacheCallable = Callable[[Locale], Field]
#
#
# @pytest.fixture(scope="session")
# def _mimesis_cache() -> _CacheCallable:
# cached_instances: dict[Locale, Field] = {}
#
# def factory(locale: Locale) -> Field:
# if locale not in cached_instances:
# cached_instances[locale] = Field(locale)
# return cached_instances[locale]
#
# return factory
#
#
# @pytest.fixture()
# def mimesis_locale() -> Locale:
# """Specifies which locale to use."""
# return Locale.DEFAULT
#
#
# @pytest.fixture()
# def mimesis(_mimesis_cache: _CacheCallable, mimesis_locale: Locale) -> Field:
# """Mimesis fixture to provide fake data using all built-in providers."""
# return _mimesis_cache(mimesis_locale)
4 changes: 2 additions & 2 deletions pyproject.toml
Expand Up @@ -85,8 +85,8 @@ factory = ["factory-boy"]
[tool.poetry.plugins."pytest_randomly.random_seeder"]
mimesis = "mimesis.entrypoints:pytest_randomly_reseed"

[tool.poetry.plugins.pytest11]
mimesis = "mimesis.plugins.pytest"
#[tool.poetry.plugins.pytest11]
#mimesis = "mimesis.plugins.pytest"

[tool.pytest.ini_options]
testpaths = [
Expand Down
60 changes: 30 additions & 30 deletions tests/test_plugins/test_pytest.py
@@ -1,30 +1,30 @@
import string

import pytest

from mimesis.locales import Locale


def test_locale(mimesis_locale, mimesis):
assert mimesis_locale == Locale.DEFAULT
assert mimesis._generic.locale == Locale.DEFAULT


@pytest.mark.parametrize("mimesis_locale", [Locale.DE])
def test_locale_override(mimesis_locale, mimesis):
assert mimesis_locale == Locale.DE
assert mimesis._generic.locale == Locale.DE


def test_mimesis_fixture(mimesis):
assert mimesis("birthdate", min_year=2023, max_year=2023).year == 2023
assert len(mimesis("full_name").split(" ")) > 1


@pytest.mark.parametrize("mimesis_locale", [Locale.RU])
def test_mimesis_fixture_with_overridden_locale(mimesis, mimesis_locale):
assert mimesis._generic.locale == Locale.RU

name = mimesis("full_name")
for letter in name: # russian letters are not in ASCII:
assert letter not in string.ascii_letters
# import string
#
# import pytest
#
# from mimesis.locales import Locale
#
#
# def test_locale(mimesis_locale, mimesis):
# assert mimesis_locale == Locale.DEFAULT
# assert mimesis._generic.locale == Locale.DEFAULT
#
#
# @pytest.mark.parametrize("mimesis_locale", [Locale.DE])
# def test_locale_override(mimesis_locale, mimesis):
# assert mimesis_locale == Locale.DE
# assert mimesis._generic.locale == Locale.DE
#
#
# def test_mimesis_fixture(mimesis):
# assert mimesis("birthdate", min_year=2023, max_year=2023).year == 2023
# assert len(mimesis("full_name").split(" ")) > 1
#
#
# @pytest.mark.parametrize("mimesis_locale", [Locale.RU])
# def test_mimesis_fixture_with_overridden_locale(mimesis, mimesis_locale):
# assert mimesis._generic.locale == Locale.RU
#
# name = mimesis("full_name")
# for letter in name: # russian letters are not in ASCII:
# assert letter not in string.ascii_letters

0 comments on commit f41535b

Please sign in to comment.