X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_common%2Ftests%2Ftest_fsmongo.py;h=7e1e47ce7f4b01d9afa864364e47f3465e6c0299;hb=7da9795a4b73c72e81ac4880a9e9507e441aa90f;hp=da01ff30e7d7f43b14f866ca12d849a6c1dbd663;hpb=98fc8f01d18d1a05c16fed7ccee355611a6e20ce;p=osm%2Fcommon.git diff --git a/osm_common/tests/test_fsmongo.py b/osm_common/tests/test_fsmongo.py index da01ff3..7e1e47c 100644 --- a/osm_common/tests/test_fsmongo.py +++ b/osm_common/tests/test_fsmongo.py @@ -16,23 +16,20 @@ # contact: eduardo.sousa@canonical.com ## +from io import BytesIO import logging -import pytest -import tempfile -import tarfile import os +from pathlib import Path import subprocess - -from pymongo import MongoClient -from gridfs import GridFSBucket - -from io import BytesIO - +import tarfile +import tempfile from unittest.mock import Mock +from gridfs import GridFSBucket from osm_common.fsbase import FsException from osm_common.fsmongo import FsMongo -from pathlib import Path +from pymongo import MongoClient +import pytest __author__ = "Eduardo Sousa " @@ -47,7 +44,7 @@ def invalid_path(): @pytest.fixture(scope="function", params=[True, False]) def fs_mongo(request, monkeypatch): - def mock_mongoclient_constructor(a, b, c): + def mock_mongoclient_constructor(a, b): pass def mock_mongoclient_getitem(a, b): @@ -60,9 +57,7 @@ def fs_mongo(request, monkeypatch): monkeypatch.setattr(MongoClient, "__getitem__", mock_mongoclient_getitem) monkeypatch.setattr(GridFSBucket, "__init__", mock_gridfs_constructor) fs = FsMongo(lock=request.param) - fs.fs_connect( - {"path": valid_path(), "host": "mongo", "port": 27017, "collection": "files"} - ) + fs.fs_connect({"path": valid_path(), "uri": "mongo:27017", "collection": "files"}) return fs @@ -143,17 +138,6 @@ def test_get_params(fs_mongo, monkeypatch): "fs_mongo", valid_path(), ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "fs_mongo", - valid_path(), - ), ( { "logger_name": "fs_mongo", @@ -164,47 +148,16 @@ def test_get_params(fs_mongo, monkeypatch): "fs_mongo", valid_path(), ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path()[:-1], - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "fs_mongo", - valid_path(), - ), ( {"path": valid_path(), "uri": "mongo:27017", "collection": "files"}, "fs", valid_path(), ), - ( - { - "path": valid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "fs", - valid_path(), - ), ( {"path": valid_path()[:-1], "uri": "mongo:27017", "collection": "files"}, "fs", valid_path(), ), - ( - { - "path": valid_path()[:-1], - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "fs", - valid_path(), - ), ], ) def test_fs_connect_with_valid_config(config, exp_logger, exp_path): @@ -228,16 +181,6 @@ def test_fs_connect_with_valid_config(config, exp_logger, exp_path): }, fs_connect_exception_message(invalid_path()), ), - ( - { - "logger_name": "fs_mongo", - "path": invalid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - fs_connect_exception_message(invalid_path()), - ), ( { "logger_name": "fs_mongo", @@ -247,44 +190,16 @@ def test_fs_connect_with_valid_config(config, exp_logger, exp_path): }, fs_connect_exception_message(invalid_path()[:-1]), ), - ( - { - "logger_name": "fs_mongo", - "path": invalid_path()[:-1], - "host": "mongo", - "port": 27017, - "collection": "files", - }, - fs_connect_exception_message(invalid_path()[:-1]), - ), ( {"path": invalid_path(), "uri": "mongo:27017", "collection": "files"}, fs_connect_exception_message(invalid_path()), ), - ( - { - "path": invalid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - fs_connect_exception_message(invalid_path()), - ), ( {"path": invalid_path()[:-1], "uri": "mongo:27017", "collection": "files"}, fs_connect_exception_message(invalid_path()[:-1]), ), ( - { - "path": invalid_path()[:-1], - "host": "mongo", - "port": 27017, - "collection": "files", - }, - fs_connect_exception_message(invalid_path()[:-1]), - ), - ( - {"path": "/", "host": "mongo", "port": 27017, "collection": "files"}, + {"path": "/", "uri": "mongo:27017", "collection": "files"}, generic_fs_exception_message( "Invalid configuration param at '[storage]': path '/' is not writable" ), @@ -305,50 +220,14 @@ def test_fs_connect_with_invalid_path(config, exp_exception_message): {"logger_name": "fs_mongo", "uri": "mongo:27017", "collection": "files"}, 'Missing parameter "path"', ), - ( - { - "logger_name": "fs_mongo", - "host": "mongo", - "port": 27017, - "collection": "files", - }, - 'Missing parameter "path"', - ), ( {"logger_name": "fs_mongo", "path": valid_path(), "collection": "files"}, - 'Missing parameters: "uri" or "host" + "port"', - ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "port": 27017, - "collection": "files", - }, - 'Missing parameters: "uri" or "host" + "port"', - ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "host": "mongo", - "collection": "files", - }, - 'Missing parameters: "uri" or "host" + "port"', + 'Missing parameters: "uri"', ), ( {"logger_name": "fs_mongo", "path": valid_path(), "uri": "mongo:27017"}, 'Missing parameter "collection"', ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "host": "mongo", - "port": 27017, - }, - 'Missing parameter "collection"', - ), ], ) def test_fs_connect_with_missing_parameters(config, exp_exception_message): @@ -370,22 +249,12 @@ def test_fs_connect_with_missing_parameters(config, exp_exception_message): }, "MongoClient crashed", ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "MongoClient crashed", - ), ], ) def test_fs_connect_with_invalid_mongoclient( config, exp_exception_message, monkeypatch ): - def generate_exception(a, b, c=None): + def generate_exception(a, b=None): raise Exception(exp_exception_message) monkeypatch.setattr(MongoClient, "__init__", generate_exception) @@ -408,22 +277,12 @@ def test_fs_connect_with_invalid_mongoclient( }, "Collection unavailable", ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "Collection unavailable", - ), ], ) def test_fs_connect_with_invalid_mongo_collection( config, exp_exception_message, monkeypatch ): - def mock_mongoclient_constructor(a, b, c=None): + def mock_mongoclient_constructor(a, b=None): pass def generate_exception(a, b): @@ -450,22 +309,12 @@ def test_fs_connect_with_invalid_mongo_collection( }, "GridFsBucket crashed", ), - ( - { - "logger_name": "fs_mongo", - "path": valid_path(), - "host": "mongo", - "port": 27017, - "collection": "files", - }, - "GridFsBucket crashed", - ), ], ) def test_fs_connect_with_invalid_gridfsbucket( config, exp_exception_message, monkeypatch ): - def mock_mongoclient_constructor(a, b, c=None): + def mock_mongoclient_constructor(a, b=None): pass def mock_mongoclient_getitem(a, b):