diff --git a/tests/conftest.py b/tests/conftest.py index 0471be9..b38d0e8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,5 +1,5 @@ """ -Configuration for tests. +Global pytest configuration. """ @@ -22,51 +22,4 @@ Configuration for tests. # -from unittest.mock import MagicMock - -import pytest - -from fimfarchive.fetchers import Fetcher -from fimfarchive.flavors import Flavor -from fimfarchive.stories import Story - - -@pytest.fixture -def fetcher(): - """ - Returns a parially mocked fetcher instance. - """ - fetcher = Fetcher() - - fetcher.fetch_meta = MagicMock(method='fetch_meta') # type: ignore - fetcher.fetch_data = MagicMock(method='fetch_data') # type: ignore - - return fetcher - - -@pytest.fixture -def flavor(): - """ - Returns a flavor with A and B members. - """ - class MyFlavor(Flavor): - A = () - B = () - - return MyFlavor - - -@pytest.fixture -def story(flavor): - """ - Returns a non-lazy dummy story. - """ - story = Story( - key=1, - fetcher=None, - meta={'id': 1}, - data=b'', - flavors={flavor.A}, - ) - - return story +from .fixtures import * # noqa diff --git a/tests/fixtures/__init__.py b/tests/fixtures/__init__.py new file mode 100644 index 0000000..dbb1057 --- /dev/null +++ b/tests/fixtures/__init__.py @@ -0,0 +1,32 @@ +""" +Global pytest fixtures. +""" + + +# +# Fimfarchive, preserves stories from Fimfiction. +# Copyright (C) 2015 Joakim Soderlund +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + +from .common import fetcher, flavor, story + + +__all__ = ( + 'fetcher', + 'flavor', + 'story', +) diff --git a/tests/fixtures/common.py b/tests/fixtures/common.py new file mode 100644 index 0000000..4a97efc --- /dev/null +++ b/tests/fixtures/common.py @@ -0,0 +1,72 @@ +""" +Common pytest fixtures. +""" + + +# +# Fimfarchive, preserves stories from Fimfiction. +# Copyright (C) 2015 Joakim Soderlund +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + +from unittest.mock import MagicMock + +import pytest + +from fimfarchive.fetchers import Fetcher +from fimfarchive.flavors import Flavor +from fimfarchive.stories import Story + + +@pytest.fixture +def fetcher(): + """ + Returns a parially mocked fetcher instance. + """ + fetcher = Fetcher() + + fetcher.fetch_meta = MagicMock(method='fetch_meta') # type: ignore + fetcher.fetch_data = MagicMock(method='fetch_data') # type: ignore + + return fetcher + + +@pytest.fixture +def flavor(): + """ + Returns a flavor with A and B members. + """ + class MyFlavor(Flavor): + A = () + B = () + + return MyFlavor + + +@pytest.fixture +def story(flavor): + """ + Returns a non-lazy dummy story. + """ + story = Story( + key=1, + fetcher=None, + meta={'id': 1}, + data=b'', + flavors={flavor.A}, + ) + + return story