Merge branch 'main' of git.codebau.dev:pytest-plugins/pytest-csv-params

Preparing Version 1.0.0 -> Issue #7
This commit is contained in:
Jürgen Edelbluth 2022-08-28 12:37:22 +00:00
commit 5b4b62139f
Signed by: jed
GPG Key ID: 6DEAEDD5CDB646DF
7 changed files with 98 additions and 22 deletions

53
.ci/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,53 @@
pipeline {
environment {
TOX_PARALLEL_NO_SPINNER = "1"
PY_COLORS = "0"
}
agent any
stages {
stage('Prepare') {
steps {
sh 'poetry install --remove-untracked --no-root'
}
}
stage('Tox') {
matrix {
axes {
axis {
name 'PYTHON_VERSION'
values 'py38', 'py39', 'py310'
}
}
stages {
stage('Tox Test') {
options {
lock('single-tox-build')
}
steps {
sh 'poetry run tox -r -e ${PYTHON_VERSION}'
xunit checksName: "Tests ${PYTHON_VERSION}", tools: [JUnit(excludesPattern: '', pattern: 'test-reports/*.xml', stopProcessingIfError: true)]
cobertura autoUpdateStability: false, coberturaReportFile: 'coverage.xml', conditionalCoverageTargets: '70, 0, 0', failUnhealthy: false, failUnstable: false, lineCoverageTargets: '80, 0, 0', maxNumberOfBuilds: 0, methodCoverageTargets: '80, 0, 0', onlyStable: false
}
}
}
}
}
}
post {
success {
deleteDir()
}
always {
withCredentials([string(credentialsId: 'jed-notification-email', variable: 'EMAIL')]) {
mail to: "${EMAIL}",
subject: "[${currentBuild.fullDisplayName}] Build #${currentBuild.number}: ${currentBuild.currentResult}",
body: "Duration: ${currentBuild.durationString} / Jenkins URL: ${env.BUILD_URL}"
}
}
}
}

View File

@ -1,13 +1,14 @@
![pytest-csv-params](docs/icon/pytest-csv-params.png) ![pytest-csv-params](https://docs.codebau.dev/pytest-plugins/pytest-csv-params/_images/pytest-csv-params.png)
# pytest-csv-params # pytest-csv-params
A pytest plugin to parametrize data-driven tests by CSV files. A pytest plugin to parametrize data-driven tests by CSV files.
[![PyPI - Downloads](https://img.shields.io/pypi/dw/pytest-csv-params?label=PyPI%20downloads&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![Build Status](https://build.codebau.dev/buildStatus/icon?job=pytest-csv-params&style=flat)](https://git.codebau.dev/pytest-plugins/pytest-csv-params)
[![PyPI - Version](https://img.shields.io/pypi/v/pytest-csv-params?label=PyPI%20version&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/pytest-csv-params?label=PyPI%20downloads&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
[![PyPI - Status](https://img.shields.io/pypi/status/pytest-csv-params?label=PyPI%20status&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![PyPI - Version](https://img.shields.io/pypi/v/pytest-csv-params?label=PyPI%20version&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
[![PyPI - Format](https://img.shields.io/pypi/format/pytest-csv-params?label=PyPI%20format&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![PyPI - Status](https://img.shields.io/pypi/status/pytest-csv-params?label=PyPI%20status&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
[![PyPI - Format](https://img.shields.io/pypi/format/pytest-csv-params?label=PyPI%20format&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
## Requirements ## Requirements

View File

@ -93,6 +93,7 @@ html_theme_options = {
"css_minify": True, "css_minify": True,
"html_minify": True, "html_minify": True,
"master_doc": True, "master_doc": True,
"theme_color": "#008080",
} }
myst_enable_extensions = [ myst_enable_extensions = [

View File

@ -9,10 +9,11 @@
# Data-driven test parametrization für pytest with CSV files # Data-driven test parametrization für pytest with CSV files
[![PyPI - Downloads](https://img.shields.io/pypi/dw/pytest-csv-params?label=PyPI%20downloads&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![Build Status](https://build.codebau.dev/buildStatus/icon?job=pytest-csv-params&style=flat)](https://git.codebau.dev/pytest-plugins/pytest-csv-params)
[![PyPI - Version](https://img.shields.io/pypi/v/pytest-csv-params?label=PyPI%20version&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/pytest-csv-params?label=PyPI%20downloads&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
[![PyPI - Status](https://img.shields.io/pypi/status/pytest-csv-params?label=PyPI%20status&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![PyPI - Version](https://img.shields.io/pypi/v/pytest-csv-params?label=PyPI%20version&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
[![PyPI - Format](https://img.shields.io/pypi/format/pytest-csv-params?label=PyPI%20format&style=for-the-badge)](https://pypi.org/project/pytest-csv-params/) [![PyPI - Status](https://img.shields.io/pypi/status/pytest-csv-params?label=PyPI%20status&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
[![PyPI - Format](https://img.shields.io/pypi/format/pytest-csv-params?label=PyPI%20format&style=flat&logo=pypi)](https://pypi.org/project/pytest-csv-params/)
This pytest plugin allows you to parametrize your pytest tests by CSV files. Manage your test data independently of This pytest plugin allows you to parametrize your pytest tests by CSV files. Manage your test data independently of
your tests. This site guides you through [installation](pages/install) and [usage](pages/guide). your tests. This site guides you through [installation](pages/install) and [usage](pages/guide).

View File

@ -1,5 +1,20 @@
# Changelog # Changelog
## Version 1.0.0
<u>Breaking Changes:</u> ✓ None
<u>Changes:</u>
- Cleanup of codebase for the big step of going to version 1.0
- Project marked as "stable"
- Some minor documentation changes
- Dependencies updated
- Fine-tuning of the tox/test configuration for running on CI
[Downloads](https://git.codebau.dev/pytest-plugins/pytest-csv-params/releases/tag/v1.0.0) |
[Technical Changelog](https://git.codebau.dev/pytest-plugins/pytest-csv-params/compare/v0.4.0...v1.0.0)
## Version 0.4.0 ## Version 0.4.0
<u>Breaking Changes:</u> ✓ None <u>Breaking Changes:</u> ✓ None

21
poetry.lock generated
View File

@ -8,16 +8,19 @@ python-versions = "*"
[[package]] [[package]]
name = "astroid" name = "astroid"
version = "2.11.7" version = "2.12.4"
description = "An abstract syntax tree for Python with inference support." description = "An abstract syntax tree for Python with inference support."
category = "dev" category = "dev"
optional = false optional = false
python-versions = ">=3.6.2" python-versions = ">=3.7.2"
[package.dependencies] [package.dependencies]
lazy-object-proxy = ">=1.4.0" lazy-object-proxy = ">=1.4.0"
typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""} typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""}
wrapt = ">=1.11,<2" wrapt = [
{version = ">=1.11,<2", markers = "python_version < \"3.11\""},
{version = ">=1.14,<2", markers = "python_version >= \"3.11\""},
]
[[package]] [[package]]
name = "atomicwrites" name = "atomicwrites"
@ -118,7 +121,7 @@ python-versions = ">=3.6"
[[package]] [[package]]
name = "charset-normalizer" name = "charset-normalizer"
version = "2.1.0" version = "2.1.1"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "dev" category = "dev"
optional = false optional = false
@ -192,7 +195,7 @@ graph = ["objgraph (>=1.7.2)"]
[[package]] [[package]]
name = "distlib" name = "distlib"
version = "0.3.5" version = "0.3.6"
description = "Distribution utilities" description = "Distribution utilities"
category = "dev" category = "dev"
optional = false optional = false
@ -532,14 +535,14 @@ plugins = ["importlib-metadata"]
[[package]] [[package]]
name = "pylint" name = "pylint"
version = "2.14.5" version = "2.15.0"
description = "python code static checker" description = "python code static checker"
category = "dev" category = "dev"
optional = false optional = false
python-versions = ">=3.7.2" python-versions = ">=3.7.2"
[package.dependencies] [package.dependencies]
astroid = ">=2.11.6,<=2.12.0-dev0" astroid = ">=2.12.4,<=2.14.0-dev0"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
dill = ">=0.2" dill = ">=0.2"
isort = ">=4.2.5,<6" isort = ">=4.2.5,<6"
@ -1051,7 +1054,7 @@ python-versions = ">=3.5"
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "1.26.11" version = "1.26.12"
description = "HTTP library with thread-safe connection pooling, file post, and more." description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "dev" category = "dev"
optional = false optional = false
@ -1059,7 +1062,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*,
[package.extras] [package.extras]
brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "urllib3-secure-extra", "ipaddress"]
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[[package]] [[package]]

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "pytest-csv-params" name = "pytest-csv-params"
version = "0.4.1" version = "1.0.0"
description = "Pytest plugin for Test Case Parametrization with CSV files" description = "Pytest plugin for Test Case Parametrization with CSV files"
authors = ["Juergen Edelbluth <csv_params@jued.de>"] authors = ["Juergen Edelbluth <csv_params@jued.de>"]
license = "MIT" license = "MIT"
@ -8,11 +8,12 @@ repository = "https://git.codebau.dev/pytest-plugins/pytest-csv-params"
homepage = "https://git.codebau.dev/pytest-plugins/pytest-csv-params" homepage = "https://git.codebau.dev/pytest-plugins/pytest-csv-params"
readme = "README.md" readme = "README.md"
keywords = [ keywords = [
"py.test", "pytest", "csv", "params", "parametrize", "pytest-plugin", "py.test", "pytest", "csv", "params", "parametrize", "pytest-plugin", "ddt", "data-driven"
] ]
classifiers = [ classifiers = [
"Development Status :: 4 - Beta", "Development Status :: 5 - Production/Stable",
"Environment :: Plugins", "Environment :: Plugins",
"Environment :: Console",
"Framework :: Pytest", "Framework :: Pytest",
"Intended Audience :: Developers", "Intended Audience :: Developers",
"License :: OSI Approved :: MIT License", "License :: OSI Approved :: MIT License",
@ -42,7 +43,7 @@ packages = [
"pytest-csv-params" = "pytest_csv_params.plugin" "pytest-csv-params" = "pytest_csv_params.plugin"
[tool.pytest.ini_options] [tool.pytest.ini_options]
addopts = "--mypy --black --isort --pylint --pylint-rcfile=.pylintrc --cov --cov-report=term-missing --junitxml=test-reports/pytest_csv_params.xml" addopts = "--mypy --black --isort --pylint --pylint-rcfile=.pylintrc --cov --cov-report=term-missing --cov-report=xml --junitxml=test-reports/pytest_csv_params.xml"
filterwarnings=[ filterwarnings=[
"ignore:.*BlackItem.*:_pytest.warning_types.PytestDeprecationWarning", "ignore:.*BlackItem.*:_pytest.warning_types.PytestDeprecationWarning",
"ignore:.*BlackItem.*:_pytest.warning_types.PytestRemovedIn8Warning", "ignore:.*BlackItem.*:_pytest.warning_types.PytestRemovedIn8Warning",
@ -108,6 +109,7 @@ legacy_tox_ini = """
[tox] [tox]
minversion = 3.25.0 minversion = 3.25.0
envlist = clean,py38,py39,py310 envlist = clean,py38,py39,py310
isolated_build = True
[testenv] [testenv]
commands = commands =