diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-bddsync.spec | 561 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 563 insertions, 0 deletions
@@ -0,0 +1 @@ +/bddsync-1.1.0.tar.gz diff --git a/python-bddsync.spec b/python-bddsync.spec new file mode 100644 index 0000000..8b5fddb --- /dev/null +++ b/python-bddsync.spec @@ -0,0 +1,561 @@ +%global _empty_manifest_terminate_build 0 +Name: python-bddsync +Version: 1.1.0 +Release: 1 +Summary: Tools to synchronize BDD files with test management tools like Jira-Xray +License: MIT +URL: https://github.com/Manzanero/bddsync +Source0: https://mirrors.aliyun.com/pypi/web/packages/da/28/07ca643394375a201838321acd7837f8ae8de0a4af9e0e8a3c508c700733/bddsync-1.1.0.tar.gz +BuildArch: noarch + + +%description +# bddsync
+
+Tools to synchronize BDD files with test management tools like Jira-Xray
+
+## Setting Up
+
+Place a file named `bddfile.yml` in project root directory. Following this example:
+
+``` yaml
+version: <bddfile_version (example=1)>
+framework: <framework (example=behave)>
+features: <features_root_folder (example=features/)>
+result: <result_file_path (example=output/result.json)>
+
+url: <jira_base_url (example=https://jira.xxx.com)>
+test_repository: <test_repository_type (example=xray)>
+test_project: <test_project_id (example=ABC)>
+
+test_plans:
+ <tracked_test_plan_tag_1>: <tracked_test_plan_id_1 (example=ABC-123)>
+ <tracked_test_plan_tag_2>: <tracked_test_plan_id_2 (example=ABC-321)>
+ ...
+
+test_sets:
+ <tracked_test_sets_tag_1>: <tracked_test_sets_id_1 (example=ABC-456)>
+ <tracked_test_sets_tag_2>: <tracked_test_sets_id_2 (example=ABC-654)>
+ ...
+
+test_environments:
+ <test_environments_alias_1>: <test_environments_id_1 (example=INT)>
+ <test_environments_alias_2>: <test_environments_id_2 (example=PRO)>
+ ...
+
+fields:
+ test_repository_path: <test_repository_path_field (example=customfield_12)>
+ test_plans: <test_plans_field (example=customfield_34)>
+ execution_test_plans: <execution_test_plans_field (example=customfield_56)>
+ execution_test_environments: <execution_test_environments_field (example=customfield_78)>
+ execution_fix_versions: fixVersions
+
+required:
+ - <required_field_1 (example=execution_test_environments)>
+ - <required_field_2 (example=execution_fix_versions)>
+ ...
+```
+
+In each use, bddsync ask for credentials. To avoid this behaviour, set the environment variables
+`TEST_REPOSITORY_USER` and `TEST_REPOSITORY_PASS`
+
+## Usage
+
+Start with `bddsync` (with optional arguments) followed by the "command" from the list:
+
+```
+$ bddsync [-h] [--config CONFIG]
+ [-u TEST_REPOSITORY_USER] [-p TEST_REPOSITORY_PASS] COMMAND [-h] [...]
+
+optional arguments:
+ -h, --help show this help message and exit
+ --config CONFIG alternative path to bddsync.yml
+ -u TEST_REPOSITORY_USER if not in environment
+ -p TEST_REPOSITORY_PASS
+
+commands available:
+ test-repository-folders
+ features
+ scenarios
+ upload-features
+ upload-results
+ generate-docs
+```
+
+### test-repository-folders
+
+It shows the list of repository folders and the corresponding id:
+
+```
+$ bddsync [...] test-repository-folders [-h] [--folder FOLDER]
+
+optional arguments:
+ -h, --help show this help message and exit
+ --folder FOLDER folder to filter, else from root
+```
+
+### features
+
+It shows the list of features and the corresponding path:
+
+```
+$ bddsync [...] features [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### scenarios
+
+It shows the list of scenarios and the corresponding features:
+
+```
+$ bddsync [...] scenarios [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### upload-features
+
+Updates the test repository according to these guidelines:
+ - Tags will be repaired and reordered, (1st line for tracked tags, 2nd line for other tags)
+ - New scenarios in code will be created in test repository and receive their ID in code
+ - Updated scenarios in code will be updated in test repository
+ - Deleted scenarios in code **won't be deleted** in test repository, the user deletes tests in repository manually
+ - Renamed scenario in code **won't be renamed** in test repository, **the user will be warned and process stops**,
+ the user renames tests in repository manually
+ - Tracked test plan tag added to a scenario will add the test to the test plan
+ - Tracked test plan tag removed from a scenario will remove the test from the test plan
+ - If there are duplicated test names, **the user will be warned and process stops**
+ - If scenario were duplicated while process (fixes in progress), **the user will be warned but process doesn't stop**,
+ the user deletes duplicated tests in repository manually
+ (Tip: for Xray, avoid create tests in test repository first, the tests may be duplicated with this process)
+
+```
+$ bddsync [...] upload-features [-h] feature [feature ...]
+
+positional arguments:
+ feature can be a glob expression, use * as wildcard
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### upload-results
+
+Upload test results in cucumber format:
+
+```
+$ bddsync [...] upload-results [-h] [-n NAME] [-e ENVIRONMENTS] [-f FIX_VERSIONS]
+ [-p TEST_PLANS] [-l LABELS] result
+
+positional arguments:
+ result
+
+optional arguments:
+ -h, --help show this help message and exit
+ -n NAME, --name NAME name of test execution
+ -e ENVIRONMENTS, --environments ENVIRONMENTS comma separated environment names
+ -f FIX_VERSIONS, --fix-versions FIX_VERSIONS comma separated fix versions
+ -p TEST_PLANS, --test-plans TEST_PLANS comma separated test plans IDs
+ -l LABELS, --labels LABELS comma separated labels
+```
+
+### generate-docs
+
+It shows the description of features and scenarios:
+
+```
+$ bddsync [...] generate-docs [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+ + +%package -n python3-bddsync +Summary: Tools to synchronize BDD files with test management tools like Jira-Xray +Provides: python-bddsync +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-bddsync +# bddsync
+
+Tools to synchronize BDD files with test management tools like Jira-Xray
+
+## Setting Up
+
+Place a file named `bddfile.yml` in project root directory. Following this example:
+
+``` yaml
+version: <bddfile_version (example=1)>
+framework: <framework (example=behave)>
+features: <features_root_folder (example=features/)>
+result: <result_file_path (example=output/result.json)>
+
+url: <jira_base_url (example=https://jira.xxx.com)>
+test_repository: <test_repository_type (example=xray)>
+test_project: <test_project_id (example=ABC)>
+
+test_plans:
+ <tracked_test_plan_tag_1>: <tracked_test_plan_id_1 (example=ABC-123)>
+ <tracked_test_plan_tag_2>: <tracked_test_plan_id_2 (example=ABC-321)>
+ ...
+
+test_sets:
+ <tracked_test_sets_tag_1>: <tracked_test_sets_id_1 (example=ABC-456)>
+ <tracked_test_sets_tag_2>: <tracked_test_sets_id_2 (example=ABC-654)>
+ ...
+
+test_environments:
+ <test_environments_alias_1>: <test_environments_id_1 (example=INT)>
+ <test_environments_alias_2>: <test_environments_id_2 (example=PRO)>
+ ...
+
+fields:
+ test_repository_path: <test_repository_path_field (example=customfield_12)>
+ test_plans: <test_plans_field (example=customfield_34)>
+ execution_test_plans: <execution_test_plans_field (example=customfield_56)>
+ execution_test_environments: <execution_test_environments_field (example=customfield_78)>
+ execution_fix_versions: fixVersions
+
+required:
+ - <required_field_1 (example=execution_test_environments)>
+ - <required_field_2 (example=execution_fix_versions)>
+ ...
+```
+
+In each use, bddsync ask for credentials. To avoid this behaviour, set the environment variables
+`TEST_REPOSITORY_USER` and `TEST_REPOSITORY_PASS`
+
+## Usage
+
+Start with `bddsync` (with optional arguments) followed by the "command" from the list:
+
+```
+$ bddsync [-h] [--config CONFIG]
+ [-u TEST_REPOSITORY_USER] [-p TEST_REPOSITORY_PASS] COMMAND [-h] [...]
+
+optional arguments:
+ -h, --help show this help message and exit
+ --config CONFIG alternative path to bddsync.yml
+ -u TEST_REPOSITORY_USER if not in environment
+ -p TEST_REPOSITORY_PASS
+
+commands available:
+ test-repository-folders
+ features
+ scenarios
+ upload-features
+ upload-results
+ generate-docs
+```
+
+### test-repository-folders
+
+It shows the list of repository folders and the corresponding id:
+
+```
+$ bddsync [...] test-repository-folders [-h] [--folder FOLDER]
+
+optional arguments:
+ -h, --help show this help message and exit
+ --folder FOLDER folder to filter, else from root
+```
+
+### features
+
+It shows the list of features and the corresponding path:
+
+```
+$ bddsync [...] features [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### scenarios
+
+It shows the list of scenarios and the corresponding features:
+
+```
+$ bddsync [...] scenarios [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### upload-features
+
+Updates the test repository according to these guidelines:
+ - Tags will be repaired and reordered, (1st line for tracked tags, 2nd line for other tags)
+ - New scenarios in code will be created in test repository and receive their ID in code
+ - Updated scenarios in code will be updated in test repository
+ - Deleted scenarios in code **won't be deleted** in test repository, the user deletes tests in repository manually
+ - Renamed scenario in code **won't be renamed** in test repository, **the user will be warned and process stops**,
+ the user renames tests in repository manually
+ - Tracked test plan tag added to a scenario will add the test to the test plan
+ - Tracked test plan tag removed from a scenario will remove the test from the test plan
+ - If there are duplicated test names, **the user will be warned and process stops**
+ - If scenario were duplicated while process (fixes in progress), **the user will be warned but process doesn't stop**,
+ the user deletes duplicated tests in repository manually
+ (Tip: for Xray, avoid create tests in test repository first, the tests may be duplicated with this process)
+
+```
+$ bddsync [...] upload-features [-h] feature [feature ...]
+
+positional arguments:
+ feature can be a glob expression, use * as wildcard
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### upload-results
+
+Upload test results in cucumber format:
+
+```
+$ bddsync [...] upload-results [-h] [-n NAME] [-e ENVIRONMENTS] [-f FIX_VERSIONS]
+ [-p TEST_PLANS] [-l LABELS] result
+
+positional arguments:
+ result
+
+optional arguments:
+ -h, --help show this help message and exit
+ -n NAME, --name NAME name of test execution
+ -e ENVIRONMENTS, --environments ENVIRONMENTS comma separated environment names
+ -f FIX_VERSIONS, --fix-versions FIX_VERSIONS comma separated fix versions
+ -p TEST_PLANS, --test-plans TEST_PLANS comma separated test plans IDs
+ -l LABELS, --labels LABELS comma separated labels
+```
+
+### generate-docs
+
+It shows the description of features and scenarios:
+
+```
+$ bddsync [...] generate-docs [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+ + +%package help +Summary: Development documents and examples for bddsync +Provides: python3-bddsync-doc +%description help +# bddsync
+
+Tools to synchronize BDD files with test management tools like Jira-Xray
+
+## Setting Up
+
+Place a file named `bddfile.yml` in project root directory. Following this example:
+
+``` yaml
+version: <bddfile_version (example=1)>
+framework: <framework (example=behave)>
+features: <features_root_folder (example=features/)>
+result: <result_file_path (example=output/result.json)>
+
+url: <jira_base_url (example=https://jira.xxx.com)>
+test_repository: <test_repository_type (example=xray)>
+test_project: <test_project_id (example=ABC)>
+
+test_plans:
+ <tracked_test_plan_tag_1>: <tracked_test_plan_id_1 (example=ABC-123)>
+ <tracked_test_plan_tag_2>: <tracked_test_plan_id_2 (example=ABC-321)>
+ ...
+
+test_sets:
+ <tracked_test_sets_tag_1>: <tracked_test_sets_id_1 (example=ABC-456)>
+ <tracked_test_sets_tag_2>: <tracked_test_sets_id_2 (example=ABC-654)>
+ ...
+
+test_environments:
+ <test_environments_alias_1>: <test_environments_id_1 (example=INT)>
+ <test_environments_alias_2>: <test_environments_id_2 (example=PRO)>
+ ...
+
+fields:
+ test_repository_path: <test_repository_path_field (example=customfield_12)>
+ test_plans: <test_plans_field (example=customfield_34)>
+ execution_test_plans: <execution_test_plans_field (example=customfield_56)>
+ execution_test_environments: <execution_test_environments_field (example=customfield_78)>
+ execution_fix_versions: fixVersions
+
+required:
+ - <required_field_1 (example=execution_test_environments)>
+ - <required_field_2 (example=execution_fix_versions)>
+ ...
+```
+
+In each use, bddsync ask for credentials. To avoid this behaviour, set the environment variables
+`TEST_REPOSITORY_USER` and `TEST_REPOSITORY_PASS`
+
+## Usage
+
+Start with `bddsync` (with optional arguments) followed by the "command" from the list:
+
+```
+$ bddsync [-h] [--config CONFIG]
+ [-u TEST_REPOSITORY_USER] [-p TEST_REPOSITORY_PASS] COMMAND [-h] [...]
+
+optional arguments:
+ -h, --help show this help message and exit
+ --config CONFIG alternative path to bddsync.yml
+ -u TEST_REPOSITORY_USER if not in environment
+ -p TEST_REPOSITORY_PASS
+
+commands available:
+ test-repository-folders
+ features
+ scenarios
+ upload-features
+ upload-results
+ generate-docs
+```
+
+### test-repository-folders
+
+It shows the list of repository folders and the corresponding id:
+
+```
+$ bddsync [...] test-repository-folders [-h] [--folder FOLDER]
+
+optional arguments:
+ -h, --help show this help message and exit
+ --folder FOLDER folder to filter, else from root
+```
+
+### features
+
+It shows the list of features and the corresponding path:
+
+```
+$ bddsync [...] features [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### scenarios
+
+It shows the list of scenarios and the corresponding features:
+
+```
+$ bddsync [...] scenarios [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### upload-features
+
+Updates the test repository according to these guidelines:
+ - Tags will be repaired and reordered, (1st line for tracked tags, 2nd line for other tags)
+ - New scenarios in code will be created in test repository and receive their ID in code
+ - Updated scenarios in code will be updated in test repository
+ - Deleted scenarios in code **won't be deleted** in test repository, the user deletes tests in repository manually
+ - Renamed scenario in code **won't be renamed** in test repository, **the user will be warned and process stops**,
+ the user renames tests in repository manually
+ - Tracked test plan tag added to a scenario will add the test to the test plan
+ - Tracked test plan tag removed from a scenario will remove the test from the test plan
+ - If there are duplicated test names, **the user will be warned and process stops**
+ - If scenario were duplicated while process (fixes in progress), **the user will be warned but process doesn't stop**,
+ the user deletes duplicated tests in repository manually
+ (Tip: for Xray, avoid create tests in test repository first, the tests may be duplicated with this process)
+
+```
+$ bddsync [...] upload-features [-h] feature [feature ...]
+
+positional arguments:
+ feature can be a glob expression, use * as wildcard
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+### upload-results
+
+Upload test results in cucumber format:
+
+```
+$ bddsync [...] upload-results [-h] [-n NAME] [-e ENVIRONMENTS] [-f FIX_VERSIONS]
+ [-p TEST_PLANS] [-l LABELS] result
+
+positional arguments:
+ result
+
+optional arguments:
+ -h, --help show this help message and exit
+ -n NAME, --name NAME name of test execution
+ -e ENVIRONMENTS, --environments ENVIRONMENTS comma separated environment names
+ -f FIX_VERSIONS, --fix-versions FIX_VERSIONS comma separated fix versions
+ -p TEST_PLANS, --test-plans TEST_PLANS comma separated test plans IDs
+ -l LABELS, --labels LABELS comma separated labels
+```
+
+### generate-docs
+
+It shows the description of features and scenarios:
+
+```
+$ bddsync [...] generate-docs [-h]
+
+optional arguments:
+ -h, --help show this help message and exit
+```
+
+ + +%prep +%autosetup -n bddsync-1.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-bddsync -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +5bd67fed64730cde09f0fc7ea7efbe7a bddsync-1.1.0.tar.gz |