Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TEST] Disable pytest plugin #1502

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 35 additions & 35 deletions mimesis/plugins/pytest.py
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
@@ -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
Loading