Source: flask-mongoengine
Version: 1.0.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240115 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules build
> dh build --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:305: python3.12 setup.py config 
> running config
> I: pybuild base:305: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:305: /usr/bin/python3.12 setup.py build 
> running build
> running build_py
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/operation_tracker.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/json.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/pagination.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/panels.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/sessions.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/connection.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/models.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/fields.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/base.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/orm.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/wtf
> running egg_info
> creating flask_mongoengine.egg-info
> writing flask_mongoengine.egg-info/PKG-INFO
> writing dependency_links to flask_mongoengine.egg-info/dependency_links.txt
> writing requirements to flask_mongoengine.egg-info/requires.txt
> writing top-level names to flask_mongoengine.egg-info/top_level.txt
> writing manifest file 'flask_mongoengine.egg-info/SOURCES.txt'
> reading manifest file 'flask_mongoengine.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found under directory 
> 'docs'
> warning: no previously-included files matching '*.pyo' found under directory 
> 'docs'
> no previously-included directories found matching 'docs/_build'
> no previously-included directories found matching 'docs/_themes/.git'
> adding license file 'LICENSE'
> adding license file 'AUTHORS'
> writing manifest file 'flask_mongoengine.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:204: _Warning: 
> Package 'flask_mongoengine.templates.panels' is absent from the `packages` 
> configuration.
> !!
> 
>         
> ********************************************************************************
>         ############################
>         # Package would be ignored #
>         ############################
>         Python recognizes 'flask_mongoengine.templates.panels' as an 
> importable package[^1],
>         but it is absent from setuptools' `packages` configuration.
> 
>         This leads to an ambiguous overall configuration. If you want to 
> distribute this
>         package, please make sure that 'flask_mongoengine.templates.panels' 
> is explicitly added
>         to the `packages` configuration field.
> 
>         Alternatively, you can also rely on setuptools' discovery methods
>         (for example by using `find_namespace_packages(...)`/`find_namespace:`
>         instead of `find_packages(...)`/`find:`).
> 
>         You can read more about "package discovery" on setuptools 
> documentation page:
> 
>         - 
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
> 
>         If you don't want 'flask_mongoengine.templates.panels' to be 
> distributed and are
>         already explicitly excluding 'flask_mongoengine.templates.panels' via
>         `find_namespace_packages(...)/find_namespace` or 
> `find_packages(...)/find`,
>         you can try to use `exclude_package_data`, or 
> `include-package-data=False` in
>         combination with a more fine grained `package-data` configuration.
> 
>         You can read more about "package data files" on setuptools 
> documentation page:
> 
>         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
> 
> 
>         [^1]: For Python, any directory (with suitable naming) can be 
> imported,
>               even if it does not contain any `.py` files.
>               On the other hand, currently there is no concept of package data
>               directory, all directories are treated like packages.
>         
> ********************************************************************************
> 
> !!
>   check.warn(importable)
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/templates
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/templates/panels
> copying flask_mongoengine/templates/panels/mongo-panel.html -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/templates/panels
> I: pybuild base:305: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/operation_tracker.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/json.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/pagination.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/panels.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/sessions.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> copying flask_mongoengine/connection.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/models.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/fields.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/base.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/wtf
> copying flask_mongoengine/wtf/orm.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/wtf
> running egg_info
> writing flask_mongoengine.egg-info/PKG-INFO
> writing dependency_links to flask_mongoengine.egg-info/dependency_links.txt
> writing requirements to flask_mongoengine.egg-info/requires.txt
> writing top-level names to flask_mongoengine.egg-info/top_level.txt
> reading manifest file 'flask_mongoengine.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found under directory 
> 'docs'
> warning: no previously-included files matching '*.pyo' found under directory 
> 'docs'
> no previously-included directories found matching 'docs/_build'
> no previously-included directories found matching 'docs/_themes/.git'
> adding license file 'LICENSE'
> adding license file 'AUTHORS'
> writing manifest file 'flask_mongoengine.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:204: _Warning: 
> Package 'flask_mongoengine.templates.panels' is absent from the `packages` 
> configuration.
> !!
> 
>         
> ********************************************************************************
>         ############################
>         # Package would be ignored #
>         ############################
>         Python recognizes 'flask_mongoengine.templates.panels' as an 
> importable package[^1],
>         but it is absent from setuptools' `packages` configuration.
> 
>         This leads to an ambiguous overall configuration. If you want to 
> distribute this
>         package, please make sure that 'flask_mongoengine.templates.panels' 
> is explicitly added
>         to the `packages` configuration field.
> 
>         Alternatively, you can also rely on setuptools' discovery methods
>         (for example by using `find_namespace_packages(...)`/`find_namespace:`
>         instead of `find_packages(...)`/`find:`).
> 
>         You can read more about "package discovery" on setuptools 
> documentation page:
> 
>         - 
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
> 
>         If you don't want 'flask_mongoengine.templates.panels' to be 
> distributed and are
>         already explicitly excluding 'flask_mongoengine.templates.panels' via
>         `find_namespace_packages(...)/find_namespace` or 
> `find_packages(...)/find`,
>         you can try to use `exclude_package_data`, or 
> `include-package-data=False` in
>         combination with a more fine grained `package-data` configuration.
> 
>         You can read more about "package data files" on setuptools 
> documentation page:
> 
>         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
> 
> 
>         [^1]: For Python, any directory (with suitable naming) can be 
> imported,
>               even if it does not contain any `.py` files.
>               On the other hand, currently there is no concept of package data
>               directory, all directories are treated like packages.
>         
> ********************************************************************************
> 
> !!
>   check.warn(importable)
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/templates
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/templates/panels
> copying flask_mongoengine/templates/panels/mongo-panel.html -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/templates/panels
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:305: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build; python3.12 
> -m pytest --override-ini=addopts=--verbose tests/test_base.py 
> tests/test_connection.py -k 'not test_multiple_connections'
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.1, pytest-7.4.4, pluggy-1.3.0 -- 
> /usr/bin/python3.12
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collecting ... collected 17 items / 1 deselected / 16 selected
> 
> tests/test_base.py::test_mongoengine_class__should_raise_type_error__if_config_not_dict
>  PASSED [  6%]
> tests/test_base.py::test_init_app__should_raise_type_error__if_config_not_dict[None]
>  PASSED [ 12%]
> tests/test_base.py::test_init_app__should_raise_type_error__if_config_not_dict[Not
>  dict type] PASSED [ 18%]
> tests/test_connection.py::test_connection__should_use_defaults__if_no_settings_provided
>  PASSED [ 25%]
> tests/test_connection.py::test_connection__should_pass_alias__if_provided[Dict
>  format] PASSED [ 31%]
> tests/test_connection.py::test_connection__should_pass_alias__if_provided[Config
>  variable format] PASSED [ 37%]
> tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Dict
>  format] PASSED [ 43%]
> tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Config
>  variable format] PASSED [ 50%]
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as URI] FAILED [ 56%]
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as Param] FAILED [ 62%]
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Config
>  variable format as URI] FAILED [ 68%]
> tests/test_connection.py::test_connection__should_raise__if_uri_not_properly_formatted[Dict
>  format as URI] PASSED [ 75%]
> tests/test_connection.py::test_connection__should_raise__if_uri_not_properly_formatted[Config
>  variable format as URI] PASSED [ 81%]
> tests/test_connection.py::test_connection__should_accept_host_as_list PASSED 
> [ 87%]
> tests/test_connection.py::test_ingnored_mongodb_prefix_config PASSED     [ 
> 93%]
> tests/test_connection.py::test_connection_kwargs PASSED                  
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _ test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict 
> format as URI] _
> 
> app = <Flask 'tests.conftest'>
> config_extension = {'MONGODB_SETTINGS': {'HOST': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db'}}
> 
>     @pytest.mark.parametrize(
>         ("config_extension"),
>         [
>             {
>                 "MONGODB_SETTINGS": {
>                     "HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"
>                 }
>             },
>             {
>                 "MONGODB_SETTINGS": {
>                     "ALIAS": "simple_conn",
>                     "HOST": "localhost",
>                     "PORT": 27017,
>                     "DB": "flask_mongoengine_test_db",
>                     "IS_MOCK": True,
>                 }
>             },
>             {"MONGODB_HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"},
>         ],
>         ids=("Dict format as URI", "Dict format as Param", "Config variable 
> format as URI"),
>     )
>     def test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings(
>         app, config_extension
>     ):
>         """Make sure a simple connection pass ALIAS setting variable."""
>         db = MongoEngine()
>         app.config.update(config_extension)
>     
>         # Verify no extension for Mongoengine yet created for app
>         assert app.extensions == {}
>         assert current_mongoengine_instance() is None
>     
>         # Create db connection. Should return None.
>     
>         with pytest.raises(RuntimeError) as error:
> >           assert db.init_app(app) is None
> 
> tests/test_connection.py:167: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> flask_mongoengine/__init__.py:132: in init_app
>     connections = create_connections(config)
> flask_mongoengine/connection.py:140: in create_connections
>     return _connect(conn_settings)
> flask_mongoengine/connection.py:148: in _connect
>     return mongoengine.connect(db_name, **conn_settings)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:436: in connect
>     register_connection(alias, db, **kwargs)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:224: in 
> register_connection
>     conn_settings = _get_connection_settings(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> db = 'flask_mongoengine_test_db', name = None
> host = 'mongomock://localhost:27017/flask_mongoengine_test_db', port = 27017
> read_preference = Primary(), username = None, password = None
> authentication_source = None, authentication_mechanism = None
> authmechanismproperties = None, kwargs = {}
> conn_settings = {'authentication_mechanism': None, 'authentication_source': 
> None, 'authmechanismproperties': None, 'host': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db', ...}
> conn_host = ['mongomock://localhost:27017/flask_mongoengine_test_db']
> resolved_hosts = []
> entity = 'mongomock://localhost:27017/flask_mongoengine_test_db'
> 
>     def _get_connection_settings(
>         db=None,
>         name=None,
>         host=None,
>         port=None,
>         read_preference=READ_PREFERENCE,
>         username=None,
>         password=None,
>         authentication_source=None,
>         authentication_mechanism=None,
>         authmechanismproperties=None,
>         **kwargs,
>     ):
>         """Get the connection settings as a dict
>     
>         :param db: the name of the database to use, for compatibility with 
> connect
>         :param name: the name of the specific database to use
>         :param host: the host name of the: program: `mongod` instance to 
> connect to
>         :param port: the port that the: program: `mongod` instance is running 
> on
>         :param read_preference: The read preference for the collection
>         :param username: username to authenticate with
>         :param password: password to authenticate with
>         :param authentication_source: database to authenticate against
>         :param authentication_mechanism: database authentication mechanisms.
>             By default, use SCRAM-SHA-1 with MongoDB 3.0 and later,
>             MONGODB-CR (MongoDB Challenge Response protocol) for older 
> servers.
>         :param mongo_client_class: using alternative connection client other 
> than
>             pymongo.MongoClient, e.g. mongomock, montydb, that provides 
> pymongo alike
>             interface but not necessarily for connecting to a real mongo 
> instance.
>         :param kwargs: ad-hoc parameters to be passed into the pymongo driver,
>             for example maxpoolsize, tz_aware, etc. See the documentation
>             for pymongo's `MongoClient` for a full list.
>         """
>         conn_settings = {
>             "name": name or db or DEFAULT_DATABASE_NAME,
>             "host": host or DEFAULT_HOST,
>             "port": port or DEFAULT_PORT,
>             "read_preference": read_preference,
>             "username": username,
>             "password": password,
>             "authentication_source": authentication_source,
>             "authentication_mechanism": authentication_mechanism,
>             "authmechanismproperties": authmechanismproperties,
>         }
>     
>         _check_db_name(conn_settings["name"])
>         conn_host = conn_settings["host"]
>     
>         # Host can be a list or a string, so if string, force to a list.
>         if isinstance(conn_host, str):
>             conn_host = [conn_host]
>     
>         resolved_hosts = []
>         for entity in conn_host:
>             # Reject old mongomock integration
>             # To be removed in a few versions after 0.27.0
>             if entity.startswith("mongomock://") or kwargs.get("is_mock"):
> >               raise Exception(
>                     "Use of mongomock:// URI or 'is_mock' were removed in 
> favor of 'mongo_client_class=mongomock.MongoClient'. "
>                     "Check the CHANGELOG for more info"
>                 )
> E               Exception: Use of mongomock:// URI or 'is_mock' were removed 
> in favor of 'mongo_client_class=mongomock.MongoClient'. Check the CHANGELOG 
> for more info
> 
> /usr/lib/python3/dist-packages/mongoengine/connection.py:108: Exception
> _ test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict 
> format as Param] _
> 
> app = <Flask 'tests.conftest'>
> config_extension = {'MONGODB_SETTINGS': {'ALIAS': 'simple_conn', 'DB': 
> 'flask_mongoengine_test_db', 'HOST': 'localhost', 'IS_MOCK': True, ...}}
> 
>     @pytest.mark.parametrize(
>         ("config_extension"),
>         [
>             {
>                 "MONGODB_SETTINGS": {
>                     "HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"
>                 }
>             },
>             {
>                 "MONGODB_SETTINGS": {
>                     "ALIAS": "simple_conn",
>                     "HOST": "localhost",
>                     "PORT": 27017,
>                     "DB": "flask_mongoengine_test_db",
>                     "IS_MOCK": True,
>                 }
>             },
>             {"MONGODB_HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"},
>         ],
>         ids=("Dict format as URI", "Dict format as Param", "Config variable 
> format as URI"),
>     )
>     def test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings(
>         app, config_extension
>     ):
>         """Make sure a simple connection pass ALIAS setting variable."""
>         db = MongoEngine()
>         app.config.update(config_extension)
>     
>         # Verify no extension for Mongoengine yet created for app
>         assert app.extensions == {}
>         assert current_mongoengine_instance() is None
>     
>         # Create db connection. Should return None.
>     
>         with pytest.raises(RuntimeError) as error:
> >           assert db.init_app(app) is None
> 
> tests/test_connection.py:167: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> flask_mongoengine/__init__.py:132: in init_app
>     connections = create_connections(config)
> flask_mongoengine/connection.py:140: in create_connections
>     return _connect(conn_settings)
> flask_mongoengine/connection.py:148: in _connect
>     return mongoengine.connect(db_name, **conn_settings)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:436: in connect
>     register_connection(alias, db, **kwargs)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:224: in 
> register_connection
>     conn_settings = _get_connection_settings(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> db = 'flask_mongoengine_test_db', name = None, host = 'localhost', port = 
> 27017
> read_preference = Primary(), username = None, password = None
> authentication_source = None, authentication_mechanism = None
> authmechanismproperties = None, kwargs = {'is_mock': True}
> conn_settings = {'authentication_mechanism': None, 'authentication_source': 
> None, 'authmechanismproperties': None, 'host': 'localhost', ...}
> conn_host = ['localhost'], resolved_hosts = [], entity = 'localhost'
> 
>     def _get_connection_settings(
>         db=None,
>         name=None,
>         host=None,
>         port=None,
>         read_preference=READ_PREFERENCE,
>         username=None,
>         password=None,
>         authentication_source=None,
>         authentication_mechanism=None,
>         authmechanismproperties=None,
>         **kwargs,
>     ):
>         """Get the connection settings as a dict
>     
>         :param db: the name of the database to use, for compatibility with 
> connect
>         :param name: the name of the specific database to use
>         :param host: the host name of the: program: `mongod` instance to 
> connect to
>         :param port: the port that the: program: `mongod` instance is running 
> on
>         :param read_preference: The read preference for the collection
>         :param username: username to authenticate with
>         :param password: password to authenticate with
>         :param authentication_source: database to authenticate against
>         :param authentication_mechanism: database authentication mechanisms.
>             By default, use SCRAM-SHA-1 with MongoDB 3.0 and later,
>             MONGODB-CR (MongoDB Challenge Response protocol) for older 
> servers.
>         :param mongo_client_class: using alternative connection client other 
> than
>             pymongo.MongoClient, e.g. mongomock, montydb, that provides 
> pymongo alike
>             interface but not necessarily for connecting to a real mongo 
> instance.
>         :param kwargs: ad-hoc parameters to be passed into the pymongo driver,
>             for example maxpoolsize, tz_aware, etc. See the documentation
>             for pymongo's `MongoClient` for a full list.
>         """
>         conn_settings = {
>             "name": name or db or DEFAULT_DATABASE_NAME,
>             "host": host or DEFAULT_HOST,
>             "port": port or DEFAULT_PORT,
>             "read_preference": read_preference,
>             "username": username,
>             "password": password,
>             "authentication_source": authentication_source,
>             "authentication_mechanism": authentication_mechanism,
>             "authmechanismproperties": authmechanismproperties,
>         }
>     
>         _check_db_name(conn_settings["name"])
>         conn_host = conn_settings["host"]
>     
>         # Host can be a list or a string, so if string, force to a list.
>         if isinstance(conn_host, str):
>             conn_host = [conn_host]
>     
>         resolved_hosts = []
>         for entity in conn_host:
>             # Reject old mongomock integration
>             # To be removed in a few versions after 0.27.0
>             if entity.startswith("mongomock://") or kwargs.get("is_mock"):
> >               raise Exception(
>                     "Use of mongomock:// URI or 'is_mock' were removed in 
> favor of 'mongo_client_class=mongomock.MongoClient'. "
>                     "Check the CHANGELOG for more info"
>                 )
> E               Exception: Use of mongomock:// URI or 'is_mock' were removed 
> in favor of 'mongo_client_class=mongomock.MongoClient'. Check the CHANGELOG 
> for more info
> 
> /usr/lib/python3/dist-packages/mongoengine/connection.py:108: Exception
> _ test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Config 
> variable format as URI] _
> 
> app = <Flask 'tests.conftest'>
> config_extension = {'MONGODB_HOST': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db'}
> 
>     @pytest.mark.parametrize(
>         ("config_extension"),
>         [
>             {
>                 "MONGODB_SETTINGS": {
>                     "HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"
>                 }
>             },
>             {
>                 "MONGODB_SETTINGS": {
>                     "ALIAS": "simple_conn",
>                     "HOST": "localhost",
>                     "PORT": 27017,
>                     "DB": "flask_mongoengine_test_db",
>                     "IS_MOCK": True,
>                 }
>             },
>             {"MONGODB_HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"},
>         ],
>         ids=("Dict format as URI", "Dict format as Param", "Config variable 
> format as URI"),
>     )
>     def test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings(
>         app, config_extension
>     ):
>         """Make sure a simple connection pass ALIAS setting variable."""
>         db = MongoEngine()
>         app.config.update(config_extension)
>     
>         # Verify no extension for Mongoengine yet created for app
>         assert app.extensions == {}
>         assert current_mongoengine_instance() is None
>     
>         # Create db connection. Should return None.
>     
>         with pytest.raises(RuntimeError) as error:
> >           assert db.init_app(app) is None
> 
> tests/test_connection.py:167: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> flask_mongoengine/__init__.py:132: in init_app
>     connections = create_connections(config)
> flask_mongoengine/connection.py:140: in create_connections
>     return _connect(conn_settings)
> flask_mongoengine/connection.py:148: in _connect
>     return mongoengine.connect(db_name, **conn_settings)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:436: in connect
>     register_connection(alias, db, **kwargs)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:224: in 
> register_connection
>     conn_settings = _get_connection_settings(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> db = 'flask_mongoengine_test_db', name = None
> host = 'mongomock://localhost:27017/flask_mongoengine_test_db', port = 27017
> read_preference = Primary(), username = None, password = None
> authentication_source = None, authentication_mechanism = None
> authmechanismproperties = None, kwargs = {}
> conn_settings = {'authentication_mechanism': None, 'authentication_source': 
> None, 'authmechanismproperties': None, 'host': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db', ...}
> conn_host = ['mongomock://localhost:27017/flask_mongoengine_test_db']
> resolved_hosts = []
> entity = 'mongomock://localhost:27017/flask_mongoengine_test_db'
> 
>     def _get_connection_settings(
>         db=None,
>         name=None,
>         host=None,
>         port=None,
>         read_preference=READ_PREFERENCE,
>         username=None,
>         password=None,
>         authentication_source=None,
>         authentication_mechanism=None,
>         authmechanismproperties=None,
>         **kwargs,
>     ):
>         """Get the connection settings as a dict
>     
>         :param db: the name of the database to use, for compatibility with 
> connect
>         :param name: the name of the specific database to use
>         :param host: the host name of the: program: `mongod` instance to 
> connect to
>         :param port: the port that the: program: `mongod` instance is running 
> on
>         :param read_preference: The read preference for the collection
>         :param username: username to authenticate with
>         :param password: password to authenticate with
>         :param authentication_source: database to authenticate against
>         :param authentication_mechanism: database authentication mechanisms.
>             By default, use SCRAM-SHA-1 with MongoDB 3.0 and later,
>             MONGODB-CR (MongoDB Challenge Response protocol) for older 
> servers.
>         :param mongo_client_class: using alternative connection client other 
> than
>             pymongo.MongoClient, e.g. mongomock, montydb, that provides 
> pymongo alike
>             interface but not necessarily for connecting to a real mongo 
> instance.
>         :param kwargs: ad-hoc parameters to be passed into the pymongo driver,
>             for example maxpoolsize, tz_aware, etc. See the documentation
>             for pymongo's `MongoClient` for a full list.
>         """
>         conn_settings = {
>             "name": name or db or DEFAULT_DATABASE_NAME,
>             "host": host or DEFAULT_HOST,
>             "port": port or DEFAULT_PORT,
>             "read_preference": read_preference,
>             "username": username,
>             "password": password,
>             "authentication_source": authentication_source,
>             "authentication_mechanism": authentication_mechanism,
>             "authmechanismproperties": authmechanismproperties,
>         }
>     
>         _check_db_name(conn_settings["name"])
>         conn_host = conn_settings["host"]
>     
>         # Host can be a list or a string, so if string, force to a list.
>         if isinstance(conn_host, str):
>             conn_host = [conn_host]
>     
>         resolved_hosts = []
>         for entity in conn_host:
>             # Reject old mongomock integration
>             # To be removed in a few versions after 0.27.0
>             if entity.startswith("mongomock://") or kwargs.get("is_mock"):
> >               raise Exception(
>                     "Use of mongomock:// URI or 'is_mock' were removed in 
> favor of 'mongo_client_class=mongomock.MongoClient'. "
>                     "Check the CHANGELOG for more info"
>                 )
> E               Exception: Use of mongomock:// URI or 'is_mock' were removed 
> in favor of 'mongo_client_class=mongomock.MongoClient'. Check the CHANGELOG 
> for more info
> 
> /usr/lib/python3/dist-packages/mongoengine/connection.py:108: Exception
> =============================== warnings summary 
> ===============================
> ../../../../../../usr/lib/python3/dist-packages/bson/__init__.py:116
>   /usr/lib/python3/dist-packages/bson/__init__.py:116: DeprecationWarning: 
> datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal 
> in a future version. Use timezone-aware objects to represent datetimes in 
> UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
>     EPOCH_NAIVE = datetime.datetime.utcfromtimestamp(0)
> 
> ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373
>   /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373: 
> PytestConfigWarning: Unknown config option: env_override_existing_values
>   
>     self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
> 
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py: 26 
> warnings
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build/flask_mongoengine/json.py:38:
>  DeprecationWarning: 'app.json_encoder' is deprecated and will be removed in 
> Flask 2.3. Customize 'app.json_provider_class' or 'app.json' instead.
>     app.json_encoder = _make_encoder(app.json_encoder)
> 
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection__should_use_defaults__if_no_settings_provided
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection__should_pass_alias__if_provided[Dict
>  format]
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection__should_pass_alias__if_provided[Config
>  variable format]
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Dict
>  format]
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Config
>  variable format]
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection__should_accept_host_as_list
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_ingnored_mongodb_prefix_config
> .pybuild/cpython3_3.12_flask-mongoengine/build/tests/test_connection.py::test_connection_kwargs
>   /usr/lib/python3/dist-packages/mongoengine/connection.py:174: 
> DeprecationWarning: No uuidRepresentation is specified! Falling back to 
> 'pythonLegacy' which is the default for pymongo 3.x. For compatibility with 
> other MongoDB drivers this should be specified as 'standard' or 
> '{java,csharp}Legacy' to work with older drivers in those languages. This 
> will be changed to 'unspecified' in a future release.
>     warnings.warn(
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED 
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as URI]
> FAILED 
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as Param]
> FAILED 
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Config
>  variable format as URI]
> =========== 3 failed, 13 passed, 1 deselected, 36 warnings in 0.20s 
> ============
> E: pybuild pybuild:391: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_flask-mongoengine/build; python3.12 
> -m pytest --override-ini=addopts=--verbose tests/test_base.py 
> tests/test_connection.py -k 'not test_multiple_connections'
> I: pybuild base:305: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build; python3.11 
> -m pytest --override-ini=addopts=--verbose tests/test_base.py 
> tests/test_connection.py -k 'not test_multiple_connections'
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.4, pluggy-1.3.0 -- 
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collecting ... collected 17 items / 1 deselected / 16 selected
> 
> tests/test_base.py::test_mongoengine_class__should_raise_type_error__if_config_not_dict
>  PASSED [  6%]
> tests/test_base.py::test_init_app__should_raise_type_error__if_config_not_dict[None]
>  PASSED [ 12%]
> tests/test_base.py::test_init_app__should_raise_type_error__if_config_not_dict[Not
>  dict type] PASSED [ 18%]
> tests/test_connection.py::test_connection__should_use_defaults__if_no_settings_provided
>  PASSED [ 25%]
> tests/test_connection.py::test_connection__should_pass_alias__if_provided[Dict
>  format] PASSED [ 31%]
> tests/test_connection.py::test_connection__should_pass_alias__if_provided[Config
>  variable format] PASSED [ 37%]
> tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Dict
>  format] PASSED [ 43%]
> tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Config
>  variable format] PASSED [ 50%]
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as URI] FAILED [ 56%]
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as Param] FAILED [ 62%]
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Config
>  variable format as URI] FAILED [ 68%]
> tests/test_connection.py::test_connection__should_raise__if_uri_not_properly_formatted[Dict
>  format as URI] PASSED [ 75%]
> tests/test_connection.py::test_connection__should_raise__if_uri_not_properly_formatted[Config
>  variable format as URI] PASSED [ 81%]
> tests/test_connection.py::test_connection__should_accept_host_as_list PASSED 
> [ 87%]
> tests/test_connection.py::test_ingnored_mongodb_prefix_config PASSED     [ 
> 93%]
> tests/test_connection.py::test_connection_kwargs PASSED                  
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _ test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict 
> format as URI] _
> 
> app = <Flask 'tests.conftest'>
> config_extension = {'MONGODB_SETTINGS': {'HOST': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db'}}
> 
>     @pytest.mark.parametrize(
>         ("config_extension"),
>         [
>             {
>                 "MONGODB_SETTINGS": {
>                     "HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"
>                 }
>             },
>             {
>                 "MONGODB_SETTINGS": {
>                     "ALIAS": "simple_conn",
>                     "HOST": "localhost",
>                     "PORT": 27017,
>                     "DB": "flask_mongoengine_test_db",
>                     "IS_MOCK": True,
>                 }
>             },
>             {"MONGODB_HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"},
>         ],
>         ids=("Dict format as URI", "Dict format as Param", "Config variable 
> format as URI"),
>     )
>     def test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings(
>         app, config_extension
>     ):
>         """Make sure a simple connection pass ALIAS setting variable."""
>         db = MongoEngine()
>         app.config.update(config_extension)
>     
>         # Verify no extension for Mongoengine yet created for app
>         assert app.extensions == {}
>         assert current_mongoengine_instance() is None
>     
>         # Create db connection. Should return None.
>     
>         with pytest.raises(RuntimeError) as error:
> >           assert db.init_app(app) is None
> 
> tests/test_connection.py:167: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> flask_mongoengine/__init__.py:132: in init_app
>     connections = create_connections(config)
> flask_mongoengine/connection.py:140: in create_connections
>     return _connect(conn_settings)
> flask_mongoengine/connection.py:148: in _connect
>     return mongoengine.connect(db_name, **conn_settings)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:436: in connect
>     register_connection(alias, db, **kwargs)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:224: in 
> register_connection
>     conn_settings = _get_connection_settings(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> db = 'flask_mongoengine_test_db', name = None
> host = 'mongomock://localhost:27017/flask_mongoengine_test_db', port = 27017
> read_preference = Primary(), username = None, password = None
> authentication_source = None, authentication_mechanism = None
> authmechanismproperties = None, kwargs = {}
> conn_settings = {'authentication_mechanism': None, 'authentication_source': 
> None, 'authmechanismproperties': None, 'host': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db', ...}
> conn_host = ['mongomock://localhost:27017/flask_mongoengine_test_db']
> resolved_hosts = []
> entity = 'mongomock://localhost:27017/flask_mongoengine_test_db'
> 
>     def _get_connection_settings(
>         db=None,
>         name=None,
>         host=None,
>         port=None,
>         read_preference=READ_PREFERENCE,
>         username=None,
>         password=None,
>         authentication_source=None,
>         authentication_mechanism=None,
>         authmechanismproperties=None,
>         **kwargs,
>     ):
>         """Get the connection settings as a dict
>     
>         :param db: the name of the database to use, for compatibility with 
> connect
>         :param name: the name of the specific database to use
>         :param host: the host name of the: program: `mongod` instance to 
> connect to
>         :param port: the port that the: program: `mongod` instance is running 
> on
>         :param read_preference: The read preference for the collection
>         :param username: username to authenticate with
>         :param password: password to authenticate with
>         :param authentication_source: database to authenticate against
>         :param authentication_mechanism: database authentication mechanisms.
>             By default, use SCRAM-SHA-1 with MongoDB 3.0 and later,
>             MONGODB-CR (MongoDB Challenge Response protocol) for older 
> servers.
>         :param mongo_client_class: using alternative connection client other 
> than
>             pymongo.MongoClient, e.g. mongomock, montydb, that provides 
> pymongo alike
>             interface but not necessarily for connecting to a real mongo 
> instance.
>         :param kwargs: ad-hoc parameters to be passed into the pymongo driver,
>             for example maxpoolsize, tz_aware, etc. See the documentation
>             for pymongo's `MongoClient` for a full list.
>         """
>         conn_settings = {
>             "name": name or db or DEFAULT_DATABASE_NAME,
>             "host": host or DEFAULT_HOST,
>             "port": port or DEFAULT_PORT,
>             "read_preference": read_preference,
>             "username": username,
>             "password": password,
>             "authentication_source": authentication_source,
>             "authentication_mechanism": authentication_mechanism,
>             "authmechanismproperties": authmechanismproperties,
>         }
>     
>         _check_db_name(conn_settings["name"])
>         conn_host = conn_settings["host"]
>     
>         # Host can be a list or a string, so if string, force to a list.
>         if isinstance(conn_host, str):
>             conn_host = [conn_host]
>     
>         resolved_hosts = []
>         for entity in conn_host:
>             # Reject old mongomock integration
>             # To be removed in a few versions after 0.27.0
>             if entity.startswith("mongomock://") or kwargs.get("is_mock"):
> >               raise Exception(
>                     "Use of mongomock:// URI or 'is_mock' were removed in 
> favor of 'mongo_client_class=mongomock.MongoClient'. "
>                     "Check the CHANGELOG for more info"
>                 )
> E               Exception: Use of mongomock:// URI or 'is_mock' were removed 
> in favor of 'mongo_client_class=mongomock.MongoClient'. Check the CHANGELOG 
> for more info
> 
> /usr/lib/python3/dist-packages/mongoengine/connection.py:108: Exception
> _ test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict 
> format as Param] _
> 
> app = <Flask 'tests.conftest'>
> config_extension = {'MONGODB_SETTINGS': {'ALIAS': 'simple_conn', 'DB': 
> 'flask_mongoengine_test_db', 'HOST': 'localhost', 'IS_MOCK': True, ...}}
> 
>     @pytest.mark.parametrize(
>         ("config_extension"),
>         [
>             {
>                 "MONGODB_SETTINGS": {
>                     "HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"
>                 }
>             },
>             {
>                 "MONGODB_SETTINGS": {
>                     "ALIAS": "simple_conn",
>                     "HOST": "localhost",
>                     "PORT": 27017,
>                     "DB": "flask_mongoengine_test_db",
>                     "IS_MOCK": True,
>                 }
>             },
>             {"MONGODB_HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"},
>         ],
>         ids=("Dict format as URI", "Dict format as Param", "Config variable 
> format as URI"),
>     )
>     def test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings(
>         app, config_extension
>     ):
>         """Make sure a simple connection pass ALIAS setting variable."""
>         db = MongoEngine()
>         app.config.update(config_extension)
>     
>         # Verify no extension for Mongoengine yet created for app
>         assert app.extensions == {}
>         assert current_mongoengine_instance() is None
>     
>         # Create db connection. Should return None.
>     
>         with pytest.raises(RuntimeError) as error:
> >           assert db.init_app(app) is None
> 
> tests/test_connection.py:167: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> flask_mongoengine/__init__.py:132: in init_app
>     connections = create_connections(config)
> flask_mongoengine/connection.py:140: in create_connections
>     return _connect(conn_settings)
> flask_mongoengine/connection.py:148: in _connect
>     return mongoengine.connect(db_name, **conn_settings)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:436: in connect
>     register_connection(alias, db, **kwargs)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:224: in 
> register_connection
>     conn_settings = _get_connection_settings(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> db = 'flask_mongoengine_test_db', name = None, host = 'localhost', port = 
> 27017
> read_preference = Primary(), username = None, password = None
> authentication_source = None, authentication_mechanism = None
> authmechanismproperties = None, kwargs = {'is_mock': True}
> conn_settings = {'authentication_mechanism': None, 'authentication_source': 
> None, 'authmechanismproperties': None, 'host': 'localhost', ...}
> conn_host = ['localhost'], resolved_hosts = [], entity = 'localhost'
> 
>     def _get_connection_settings(
>         db=None,
>         name=None,
>         host=None,
>         port=None,
>         read_preference=READ_PREFERENCE,
>         username=None,
>         password=None,
>         authentication_source=None,
>         authentication_mechanism=None,
>         authmechanismproperties=None,
>         **kwargs,
>     ):
>         """Get the connection settings as a dict
>     
>         :param db: the name of the database to use, for compatibility with 
> connect
>         :param name: the name of the specific database to use
>         :param host: the host name of the: program: `mongod` instance to 
> connect to
>         :param port: the port that the: program: `mongod` instance is running 
> on
>         :param read_preference: The read preference for the collection
>         :param username: username to authenticate with
>         :param password: password to authenticate with
>         :param authentication_source: database to authenticate against
>         :param authentication_mechanism: database authentication mechanisms.
>             By default, use SCRAM-SHA-1 with MongoDB 3.0 and later,
>             MONGODB-CR (MongoDB Challenge Response protocol) for older 
> servers.
>         :param mongo_client_class: using alternative connection client other 
> than
>             pymongo.MongoClient, e.g. mongomock, montydb, that provides 
> pymongo alike
>             interface but not necessarily for connecting to a real mongo 
> instance.
>         :param kwargs: ad-hoc parameters to be passed into the pymongo driver,
>             for example maxpoolsize, tz_aware, etc. See the documentation
>             for pymongo's `MongoClient` for a full list.
>         """
>         conn_settings = {
>             "name": name or db or DEFAULT_DATABASE_NAME,
>             "host": host or DEFAULT_HOST,
>             "port": port or DEFAULT_PORT,
>             "read_preference": read_preference,
>             "username": username,
>             "password": password,
>             "authentication_source": authentication_source,
>             "authentication_mechanism": authentication_mechanism,
>             "authmechanismproperties": authmechanismproperties,
>         }
>     
>         _check_db_name(conn_settings["name"])
>         conn_host = conn_settings["host"]
>     
>         # Host can be a list or a string, so if string, force to a list.
>         if isinstance(conn_host, str):
>             conn_host = [conn_host]
>     
>         resolved_hosts = []
>         for entity in conn_host:
>             # Reject old mongomock integration
>             # To be removed in a few versions after 0.27.0
>             if entity.startswith("mongomock://") or kwargs.get("is_mock"):
> >               raise Exception(
>                     "Use of mongomock:// URI or 'is_mock' were removed in 
> favor of 'mongo_client_class=mongomock.MongoClient'. "
>                     "Check the CHANGELOG for more info"
>                 )
> E               Exception: Use of mongomock:// URI or 'is_mock' were removed 
> in favor of 'mongo_client_class=mongomock.MongoClient'. Check the CHANGELOG 
> for more info
> 
> /usr/lib/python3/dist-packages/mongoengine/connection.py:108: Exception
> _ test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Config 
> variable format as URI] _
> 
> app = <Flask 'tests.conftest'>
> config_extension = {'MONGODB_HOST': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db'}
> 
>     @pytest.mark.parametrize(
>         ("config_extension"),
>         [
>             {
>                 "MONGODB_SETTINGS": {
>                     "HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"
>                 }
>             },
>             {
>                 "MONGODB_SETTINGS": {
>                     "ALIAS": "simple_conn",
>                     "HOST": "localhost",
>                     "PORT": 27017,
>                     "DB": "flask_mongoengine_test_db",
>                     "IS_MOCK": True,
>                 }
>             },
>             {"MONGODB_HOST": 
> "mongomock://localhost:27017/flask_mongoengine_test_db"},
>         ],
>         ids=("Dict format as URI", "Dict format as Param", "Config variable 
> format as URI"),
>     )
>     def test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings(
>         app, config_extension
>     ):
>         """Make sure a simple connection pass ALIAS setting variable."""
>         db = MongoEngine()
>         app.config.update(config_extension)
>     
>         # Verify no extension for Mongoengine yet created for app
>         assert app.extensions == {}
>         assert current_mongoengine_instance() is None
>     
>         # Create db connection. Should return None.
>     
>         with pytest.raises(RuntimeError) as error:
> >           assert db.init_app(app) is None
> 
> tests/test_connection.py:167: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> flask_mongoengine/__init__.py:132: in init_app
>     connections = create_connections(config)
> flask_mongoengine/connection.py:140: in create_connections
>     return _connect(conn_settings)
> flask_mongoengine/connection.py:148: in _connect
>     return mongoengine.connect(db_name, **conn_settings)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:436: in connect
>     register_connection(alias, db, **kwargs)
> /usr/lib/python3/dist-packages/mongoengine/connection.py:224: in 
> register_connection
>     conn_settings = _get_connection_settings(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> db = 'flask_mongoengine_test_db', name = None
> host = 'mongomock://localhost:27017/flask_mongoengine_test_db', port = 27017
> read_preference = Primary(), username = None, password = None
> authentication_source = None, authentication_mechanism = None
> authmechanismproperties = None, kwargs = {}
> conn_settings = {'authentication_mechanism': None, 'authentication_source': 
> None, 'authmechanismproperties': None, 'host': 
> 'mongomock://localhost:27017/flask_mongoengine_test_db', ...}
> conn_host = ['mongomock://localhost:27017/flask_mongoengine_test_db']
> resolved_hosts = []
> entity = 'mongomock://localhost:27017/flask_mongoengine_test_db'
> 
>     def _get_connection_settings(
>         db=None,
>         name=None,
>         host=None,
>         port=None,
>         read_preference=READ_PREFERENCE,
>         username=None,
>         password=None,
>         authentication_source=None,
>         authentication_mechanism=None,
>         authmechanismproperties=None,
>         **kwargs,
>     ):
>         """Get the connection settings as a dict
>     
>         :param db: the name of the database to use, for compatibility with 
> connect
>         :param name: the name of the specific database to use
>         :param host: the host name of the: program: `mongod` instance to 
> connect to
>         :param port: the port that the: program: `mongod` instance is running 
> on
>         :param read_preference: The read preference for the collection
>         :param username: username to authenticate with
>         :param password: password to authenticate with
>         :param authentication_source: database to authenticate against
>         :param authentication_mechanism: database authentication mechanisms.
>             By default, use SCRAM-SHA-1 with MongoDB 3.0 and later,
>             MONGODB-CR (MongoDB Challenge Response protocol) for older 
> servers.
>         :param mongo_client_class: using alternative connection client other 
> than
>             pymongo.MongoClient, e.g. mongomock, montydb, that provides 
> pymongo alike
>             interface but not necessarily for connecting to a real mongo 
> instance.
>         :param kwargs: ad-hoc parameters to be passed into the pymongo driver,
>             for example maxpoolsize, tz_aware, etc. See the documentation
>             for pymongo's `MongoClient` for a full list.
>         """
>         conn_settings = {
>             "name": name or db or DEFAULT_DATABASE_NAME,
>             "host": host or DEFAULT_HOST,
>             "port": port or DEFAULT_PORT,
>             "read_preference": read_preference,
>             "username": username,
>             "password": password,
>             "authentication_source": authentication_source,
>             "authentication_mechanism": authentication_mechanism,
>             "authmechanismproperties": authmechanismproperties,
>         }
>     
>         _check_db_name(conn_settings["name"])
>         conn_host = conn_settings["host"]
>     
>         # Host can be a list or a string, so if string, force to a list.
>         if isinstance(conn_host, str):
>             conn_host = [conn_host]
>     
>         resolved_hosts = []
>         for entity in conn_host:
>             # Reject old mongomock integration
>             # To be removed in a few versions after 0.27.0
>             if entity.startswith("mongomock://") or kwargs.get("is_mock"):
> >               raise Exception(
>                     "Use of mongomock:// URI or 'is_mock' were removed in 
> favor of 'mongo_client_class=mongomock.MongoClient'. "
>                     "Check the CHANGELOG for more info"
>                 )
> E               Exception: Use of mongomock:// URI or 'is_mock' were removed 
> in favor of 'mongo_client_class=mongomock.MongoClient'. Check the CHANGELOG 
> for more info
> 
> /usr/lib/python3/dist-packages/mongoengine/connection.py:108: Exception
> =============================== warnings summary 
> ===============================
> ../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373
>   /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1373: 
> PytestConfigWarning: Unknown config option: env_override_existing_values
>   
>     self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
> 
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py: 26 
> warnings
>   
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build/flask_mongoengine/json.py:38:
>  DeprecationWarning: 'app.json_encoder' is deprecated and will be removed in 
> Flask 2.3. Customize 'app.json_provider_class' or 'app.json' instead.
>     app.json_encoder = _make_encoder(app.json_encoder)
> 
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection__should_use_defaults__if_no_settings_provided
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection__should_pass_alias__if_provided[Dict
>  format]
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection__should_pass_alias__if_provided[Config
>  variable format]
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Dict
>  format]
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection__should_parse_host_uri__if_host_formatted_as_uri[Config
>  variable format]
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection__should_accept_host_as_list
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_ingnored_mongodb_prefix_config
> .pybuild/cpython3_3.11_flask-mongoengine/build/tests/test_connection.py::test_connection_kwargs
>   /usr/lib/python3/dist-packages/mongoengine/connection.py:174: 
> DeprecationWarning: No uuidRepresentation is specified! Falling back to 
> 'pythonLegacy' which is the default for pymongo 3.x. For compatibility with 
> other MongoDB drivers this should be specified as 'standard' or 
> '{java,csharp}Legacy' to work with older drivers in those languages. This 
> will be changed to 'unspecified' in a future release.
>     warnings.warn(
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED 
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as URI]
> FAILED 
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Dict
>  format as Param]
> FAILED 
> tests/test_connection.py::test_connection__should_parse_mongo_mock_uri__as_uri_and_as_settings[Config
>  variable format as URI]
> =========== 3 failed, 13 passed, 1 deselected, 35 warnings in 0.17s 
> ============
> E: pybuild pybuild:391: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_flask-mongoengine/build; python3.11 
> -m pytest --override-ini=addopts=--verbose tests/test_base.py 
> tests/test_connection.py -k 'not test_multiple_connections'
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/01/15/flask-mongoengine_1.0.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240115;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240115&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to