# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{11..14} )

inherit distutils-r1 edo pypi

DESCRIPTION="Small library for mocking pymongo collection objects for testing purposes"
HOMEPAGE="https://github.com/mongomock/mongomock"

LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64"

RDEPEND="dev-python/packaging[${PYTHON_USEDEP}]
	dev-python/pymongo[${PYTHON_USEDEP}]
	dev-python/pytz[${PYTHON_USEDEP}]
	dev-python/sentinels[${PYTHON_USEDEP}]"
BDEPEND="test? ( dev-db/mongodb )"

PATCHES=( "${FILESDIR}/${PN}"-4.3.0-pymongo.patch
	"${FILESDIR}/${PN}"-4.3.0-tests.patch )

distutils_enable_tests pytest

EPYTEST_DESELECT=(
	# AssertionError: Unexpected Diff:
	tests/test__mongomock.py::MongoClientAggregateTest::test__aggregate_regexpmatch
)

src_test() {
	edo mongod --port 27017 --bind_ip 127.0.0.1 --nounixsocket --fork \
		--dbpath="${T}" --logpath="${T}/mongod.log"
	distutils-r1_src_test
	edo kill "$(<"${T}/mongod.lock")"
}