diff options
-rw-r--r-- | .github/workflows/build.yml | 2 | ||||
-rw-r--r-- | noxfile.py | 2 | ||||
-rw-r--r-- | tests/integration/test_gridfs.py | 40 | ||||
-rw-r--r-- | tests/integration/test_mongodb.py | 30 |
4 files changed, 31 insertions, 43 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29c85c7..7706173 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,7 +67,7 @@ jobs: run: | source $VENV pytest -rs -x tests/unit ${{ env.XDIST_ARGS }} ${{ env.COVERAGE_ARGS }} - pytest -rs -x tests/integration --cov-append ${{ env.COVERAGE_ARGS }} + pytest -rs -x tests/integration --cov-append ${{ env.XDIST_ARGS }} ${{ env.COVERAGE_ARGS }} # Latest python version: send coverage report to coveralls - name: Run coveralls @@ -45,7 +45,7 @@ def clean(session): def coverage(session): """Run tests and generate coverage report""" cmd_1 = f'pytest {UNIT_TESTS} -rs {XDIST_ARGS} {COVERAGE_ARGS}' - cmd_2 = f'pytest {INTEGRATION_TESTS} -rs {COVERAGE_ARGS} --cov-append' + cmd_2 = f'pytest {INTEGRATION_TESTS} -rs {XDIST_ARGS} {COVERAGE_ARGS} --cov-append' session.run(*cmd_1.split(' ')) session.run(*cmd_2.split(' ')) diff --git a/tests/integration/test_gridfs.py b/tests/integration/test_gridfs.py deleted file mode 100644 index 0594071..0000000 --- a/tests/integration/test_gridfs.py +++ /dev/null @@ -1,40 +0,0 @@ -from unittest.mock import patch - -import pytest -from pymongo import MongoClient - -from requests_cache.backends import GridFSCache, GridFSPickleDict, get_valid_kwargs -from tests.conftest import fail_if_no_connection -from tests.integration.base_cache_test import BaseCacheTest -from tests.integration.base_storage_test import BaseStorageTest - - -@pytest.fixture(scope='module', autouse=True) -@fail_if_no_connection -def ensure_connection(): - """Fail all tests in this module if MongoDB is not running""" - from pymongo import MongoClient - - client = MongoClient(serverSelectionTimeoutMS=200) - client.server_info() - - -class TestGridFSPickleDict(BaseStorageTest): - storage_class = GridFSPickleDict - picklable = True - num_instances = 1 # Only test a single collecton instead of multiple - - @patch('requests_cache.backends.gridfs.GridFS') - @patch('requests_cache.backends.gridfs.MongoClient') - @patch( - 'requests_cache.backends.gridfs.get_valid_kwargs', - side_effect=lambda cls, kwargs: get_valid_kwargs(MongoClient, kwargs), - ) - def test_connection_kwargs(self, mock_get_valid_kwargs, mock_client, mock_gridfs): - """A spot check to make sure optional connection kwargs gets passed to connection""" - GridFSPickleDict('test', host='http://0.0.0.0', port=1234, invalid_kwarg='???') - mock_client.assert_called_with(host='http://0.0.0.0', port=1234) - - -class TestGridFSCache(BaseCacheTest): - backend_class = GridFSCache diff --git a/tests/integration/test_mongodb.py b/tests/integration/test_mongodb.py index 20f7fca..40689e9 100644 --- a/tests/integration/test_mongodb.py +++ b/tests/integration/test_mongodb.py @@ -3,7 +3,14 @@ from unittest.mock import patch import pytest from pymongo import MongoClient -from requests_cache.backends import MongoCache, MongoDict, MongoPickleDict, get_valid_kwargs +from requests_cache.backends import ( + GridFSCache, + GridFSPickleDict, + MongoCache, + MongoDict, + MongoPickleDict, + get_valid_kwargs, +) from tests.conftest import fail_if_no_connection from tests.integration.base_cache_test import BaseCacheTest from tests.integration.base_storage_test import BaseStorageTest @@ -40,3 +47,24 @@ class TestMongoPickleDict(BaseStorageTest): class TestMongoCache(BaseCacheTest): backend_class = MongoCache + + +class TestGridFSPickleDict(BaseStorageTest): + storage_class = GridFSPickleDict + picklable = True + num_instances = 1 # Only test a single collecton instead of multiple + + @patch('requests_cache.backends.gridfs.GridFS') + @patch('requests_cache.backends.gridfs.MongoClient') + @patch( + 'requests_cache.backends.gridfs.get_valid_kwargs', + side_effect=lambda cls, kwargs: get_valid_kwargs(MongoClient, kwargs), + ) + def test_connection_kwargs(self, mock_get_valid_kwargs, mock_client, mock_gridfs): + """A spot check to make sure optional connection kwargs gets passed to connection""" + GridFSPickleDict('test', host='http://0.0.0.0', port=1234, invalid_kwarg='???') + mock_client.assert_called_with(host='http://0.0.0.0', port=1234) + + +class TestGridFSCache(BaseCacheTest): + backend_class = GridFSCache |