Blob Blame History Raw
# We can’t run tests that access the network in koji, but this build
# conditional allows us to try them in local mock builds for added confidence:
#   fedpkg mockbuild --enable-network --with network_tests
%bcond network_tests 0

Name:           python-snakemake-storage-plugin-ftp
Version:        0.1.2
Release:        %autorelease
Summary:        A Snakemake plugin for handling input and output via FTP

# SPDX
License:        MIT
URL:            https://github.com/snakemake/snakemake-storage-plugin-ftp
# We use the GitHub archive instead of the PyPI sdist to get CHANGELOG.md and
# the tests.
Source:         %{url}/archive/v%{version}/snakemake-storage-plugin-ftp-%{version}.tar.gz

BuildArch:      noarch

BuildRequires:  python3-devel
# See: [tool.poetry.dev-dependencies] in pyproject.toml
BuildRequires:  %{py3_dist pytest}
BuildRequires:  snakemake >= 8

%global common_description %{expand:
A Snakemake storage plugin that handles files and directories on an FTP
server.}

%description %{common_description}


%package -n python3-snakemake-storage-plugin-ftp
Summary:        %{summary}

%description -n python3-snakemake-storage-plugin-ftp %{common_description}


%prep
%autosetup -n snakemake-storage-plugin-ftp-%{version}


%generate_buildrequires
%pyproject_buildrequires


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files snakemake_storage_plugin_ftp


%check
# Just in case the tests are not very thorough:
%pyproject_check_import

%if %{without network_tests}
# The following tests require network access:
k="${k-}${k+ and }not (TestStorage and test_storage)"
k="${k-}${k+ and }not (TestStorage and test_storage_not_existing)"
k="${k-}${k+ and }not (TestStorage and test_inventory)"
%endif

%pytest -v -k "${k-}" tests/tests.py


%files -n python3-snakemake-storage-plugin-ftp -f %{pyproject_files}
%license LICENSE
%doc CHANGELOG.md
%doc README.md


%changelog
%autochangelog