mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-18 20:18:32 +02:00
[tests] dynamically determine jrnl version for plugin tests
This commit is contained in:
parent
432681f8a3
commit
5a341cf13f
3 changed files with 44 additions and 39 deletions
|
@ -51,7 +51,7 @@ jobs:
|
|||
poetry config --local virtualenvs.in-project true
|
||||
poetry install --remove-untracked
|
||||
poetry install
|
||||
poetry run python -m pip install -e "git+${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git@${GITHUB_SHA}#egg=jrnl-demo-plugins&subdirectory=tests/external_plugins_src"
|
||||
poetry run python -m pip install "git+${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git@${GITHUB_SHA}#egg=jrnl-demo-plugins&subdirectory=tests/external_plugins_src"
|
||||
|
||||
- name: Test with pytest
|
||||
if: success() || failure()
|
||||
|
|
|
@ -9,22 +9,22 @@ Feature: Functionality of Importer and Exporter Plugins
|
|||
And the output should not contain ".contrib."
|
||||
|
||||
Examples:
|
||||
| plugin_name | version | source | type | filename |
|
||||
| jrnl | v2.8.1 | plugins | importer | jrnl |
|
||||
| boxed | v2.8.1 | plugins | exporter | fancy |
|
||||
| dates | v2.8.1 | plugins | exporter | dates |
|
||||
| default | v2.8.1 | plugins | exporter | pretty |
|
||||
| fancy | v2.8.1 | plugins | exporter | fancy |
|
||||
| json | v2.8.1 | plugins | exporter | json |
|
||||
| markdown | v2.8.1 | plugins | exporter | markdown |
|
||||
| md | v2.8.1 | plugins | exporter | markdown |
|
||||
| pretty | v2.8.1 | plugins | exporter | pretty |
|
||||
| short | v2.8.1 | plugins | exporter | short |
|
||||
| tags | v2.8.1 | plugins | exporter | tag |
|
||||
| text | v2.8.1 | plugins | exporter | text |
|
||||
| txt | v2.8.1 | plugins | exporter | text |
|
||||
| xml | v2.8.1 | plugins | exporter | xml |
|
||||
| yaml | v2.8.1 | plugins | exporter | yaml |
|
||||
| plugin_name | version | source | type | filename |
|
||||
| jrnl | <pyproject.toml version> | plugins | importer | jrnl |
|
||||
| boxed | <pyproject.toml version> | plugins | exporter | fancy |
|
||||
| dates | <pyproject.toml version> | plugins | exporter | dates |
|
||||
| default | <pyproject.toml version> | plugins | exporter | pretty |
|
||||
| fancy | <pyproject.toml version> | plugins | exporter | fancy |
|
||||
| json | <pyproject.toml version> | plugins | exporter | json |
|
||||
| markdown | <pyproject.toml version> | plugins | exporter | markdown |
|
||||
| md | <pyproject.toml version> | plugins | exporter | markdown |
|
||||
| pretty | <pyproject.toml version> | plugins | exporter | pretty |
|
||||
| short | <pyproject.toml version> | plugins | exporter | short |
|
||||
| tags | <pyproject.toml version> | plugins | exporter | tag |
|
||||
| text | <pyproject.toml version> | plugins | exporter | text |
|
||||
| txt | <pyproject.toml version> | plugins | exporter | text |
|
||||
| xml | <pyproject.toml version> | plugins | exporter | xml |
|
||||
| yaml | <pyproject.toml version> | plugins | exporter | yaml |
|
||||
|
||||
@skip_only_with_external_plugins
|
||||
Scenario Outline: List external plugin names in --version
|
||||
|
@ -33,25 +33,25 @@ Feature: Functionality of Importer and Exporter Plugins
|
|||
Then the output should contain pyproject.toml version
|
||||
And The output should contain "<plugin_name> : <version> from jrnl.<source>.<type>.<filename>"
|
||||
Examples:
|
||||
| plugin_name | version | source | type | filename |
|
||||
| jrnl | v2.8.1 | plugins | importer | jrnl |
|
||||
| json | v1.0.0 | contrib | importer | json |
|
||||
| boxed | v2.8.1 | plugins | exporter | fancy |
|
||||
| dates | v2.8.1 | plugins | exporter | dates |
|
||||
| default | v2.8.1 | plugins | exporter | pretty |
|
||||
| fancy | v2.8.1 | plugins | exporter | fancy |
|
||||
| json | v1.0.0 | contrib | exporter | json |
|
||||
| markdown | v2.8.1 | plugins | exporter | markdown |
|
||||
| md | v2.8.1 | plugins | exporter | markdown |
|
||||
| pretty | v2.8.1 | plugins | exporter | pretty |
|
||||
| rot13 | v1.0.0 | contrib | exporter | rot13 |
|
||||
| short | v2.8.1 | plugins | exporter | short |
|
||||
| tags | v2.8.1 | plugins | exporter | tag |
|
||||
| testing | v0.0.1 | contrib | exporter | testing |
|
||||
| text | v2.8.1 | plugins | exporter | text |
|
||||
| txt | v1.0.0 | contrib | exporter | rot13 |
|
||||
| xml | v2.8.1 | plugins | exporter | xml |
|
||||
| yaml | v2.8.1 | plugins | exporter | yaml |
|
||||
| plugin_name | version | source | type | filename |
|
||||
| jrnl | <pyproject.toml version> | plugins | importer | jrnl |
|
||||
| json | v1.0.0 | contrib | importer | json |
|
||||
| boxed | <pyproject.toml version> | plugins | exporter | fancy |
|
||||
| dates | <pyproject.toml version> | plugins | exporter | dates |
|
||||
| default | <pyproject.toml version> | plugins | exporter | pretty |
|
||||
| fancy | <pyproject.toml version> | plugins | exporter | fancy |
|
||||
| json | v1.0.0 | contrib | exporter | json |
|
||||
| markdown | <pyproject.toml version> | plugins | exporter | markdown |
|
||||
| md | <pyproject.toml version> | plugins | exporter | markdown |
|
||||
| pretty | <pyproject.toml version> | plugins | exporter | pretty |
|
||||
| rot13 | v1.0.0 | contrib | exporter | rot13 |
|
||||
| short | <pyproject.toml version> | plugins | exporter | short |
|
||||
| tags | <pyproject.toml version> | plugins | exporter | tag |
|
||||
| testing | v0.0.1 | contrib | exporter | testing |
|
||||
| text | <pyproject.toml version> | plugins | exporter | text |
|
||||
| txt | v1.0.0 | contrib | exporter | rot13 |
|
||||
| xml | <pyproject.toml version> | plugins | exporter | xml |
|
||||
| yaml | <pyproject.toml version> | plugins | exporter | yaml |
|
||||
|
||||
@skip_only_with_external_plugins
|
||||
Scenario Outline: Do not list overridden plugin names in --version
|
||||
|
@ -61,6 +61,6 @@ Feature: Functionality of Importer and Exporter Plugins
|
|||
And the output should not contain "<plugin_name> : <version> from jrnl.<source>.<type>.<filename>"
|
||||
|
||||
Examples:
|
||||
| plugin_name | version | source | type | filename |
|
||||
| json | v2.8.1 | plugins | exporter | json |
|
||||
| txt | v2.8.1 | plugins | exporter | text |
|
||||
| plugin_name | version | source | type | filename |
|
||||
| json | <pyproject.toml version> | plugins | exporter | json |
|
||||
| txt | <pyproject.toml version> | plugins | exporter | text |
|
||||
|
|
|
@ -540,6 +540,11 @@ def check_output_version_inline(context):
|
|||
@then('the output should contain "{text}" or "{text2}"')
|
||||
def check_output_inline(context, text=None, text2=None):
|
||||
text = text or context.text
|
||||
if "<pyproject.toml version>" in text:
|
||||
pyproject = (Path(__file__) / ".." / ".." / ".." / "pyproject.toml").resolve()
|
||||
pyproject_contents = toml.load(pyproject)
|
||||
pyproject_version = pyproject_contents["tool"]["poetry"]["version"]
|
||||
text = text.replace("<pyproject.toml version>", pyproject_version)
|
||||
out = context.stdout_capture.getvalue()
|
||||
assert (text and text in out) or (text2 and text2 in out)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue