# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{11..13} ) inherit distutils-r1 DESCRIPTION="Proton Technologies API wrapper" HOMEPAGE="https://github.com/ProtonVPN/python-proton-core/" SRC_URI="https://github.com/ProtonVPN/python-proton-core/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/python-${P}" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" IUSE="test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" COMMON_DEPEND=" ${PYTHON_DEPS} $(python_gen_cond_dep ' dev-python/aiohttp[${PYTHON_USEDEP}] dev-python/bcrypt[${PYTHON_USEDEP}] dev-python/pyopenssl[${PYTHON_USEDEP}] dev-python/python-gnupg[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] ') " BDEPEND=" ${COMMON_DEPEND} test? ( $(python_gen_cond_dep ' dev-python/flake8[${PYTHON_USEDEP}] dev-python/pyotp[${PYTHON_USEDEP}] dev-python/pytest-cov[${PYTHON_USEDEP}] ') ) " RDEPEND="${COMMON_DEPEND}" distutils_enable_tests pytest python_test() { # The following tests need network EPYTEST_DESELECT=( "tests/test_alternativerouting.py::TestAlternativeRouting::test_alternative_routing_works_on_prod" "tests/test_autotransport.py::TestAuto::test_auto_works_on_prod" "tests/test_protonsso.py::TestProtonSSO::test_broken_data" "tests/test_protonsso.py::TestProtonSSO::test_broken_index" "tests/test_protonsso.py::TestProtonSSO::test_sessions" "tests/test_session.py::TestSession::test_ping" "tests/test_tlsverification.py::TestTLSValidation::test_bad_pinning_fingerprint_changed" "tests/test_tlsverification.py::TestTLSValidation::test_bad_pinning_url_changed" "tests/test_tlsverification.py::TestTLSValidation::test_successful" "tests/test_tlsverification.py::TestTLSValidation::test_without_pinning" ) XDG_RUNTIME_DIR="${T}/python_test" epytest -p flake8 -p pytest_cov }