bddsync


Namebddsync JSON
Version 1.2.0 PyPI version JSON
download
home_pagehttps://github.com/Manzanero/bddsync
SummaryTools to synchronize BDD files with test management tools like Jira-Xray
upload_time2024-03-08 10:36:40
maintainer
docs_urlNone
authorAlejandro Manzanero
requires_python
licenseMIT
keywords bdd cucumber behave jira xray testing
VCS
bugtrack_url
requirements requests PyYAML
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Manzanero/bddsync",
    "name": "bddsync",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "bdd,cucumber,behave,jira,xray,testing",
    "author": "Alejandro Manzanero",
    "author_email": "alejmans@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ff/3b/501c299593e79445bad2630583246509f8c31b0fc2a5becd9c93465ca694/bddsync-1.2.0.tar.gz",
    "platform": null,
    "description": "# bddsync\r\n\r\nTools to synchronize BDD files with test management tools like Jira-Xray\r\n\r\n## Setting Up\r\n\r\nPlace a file named `bddfile.yml` in project root directory. Following this example: \r\n\r\n``` yaml\r\nversion: <bddfile_version (example=1)>\r\nframework: <framework (example=behave)>\r\nfeatures: <features_root_folder (example=features/)>\r\nresult: <result_file_path (example=output/result.json)>\r\n\r\nurl: <jira_base_url (example=https://jira.xxx.com)>\r\ntest_repository: <test_repository_type (example=xray)>\r\ntest_project: <test_project_id (example=ABC)>\r\n\r\ntest_plans:\r\n  <tracked_test_plan_tag_1>: <tracked_test_plan_id_1 (example=ABC-123)>\r\n  <tracked_test_plan_tag_2>: <tracked_test_plan_id_2 (example=ABC-321)>\r\n    ...\r\n    \r\ntest_sets:\r\n  <tracked_test_sets_tag_1>: <tracked_test_sets_id_1 (example=ABC-456)>\r\n  <tracked_test_sets_tag_2>: <tracked_test_sets_id_2 (example=ABC-654)>\r\n    ...\r\n    \r\ntest_environments:\r\n  <test_environments_alias_1>: <test_environments_id_1 (example=INT)>\r\n  <test_environments_alias_2>: <test_environments_id_2 (example=PRO)>\r\n    ...\r\n    \r\nfields:\r\n  test_repository_path: <test_repository_path_field (example=customfield_12)>\r\n  test_plans: <test_plans_field (example=customfield_34)>\r\n  execution_test_plans: <execution_test_plans_field (example=customfield_56)>\r\n  execution_test_environments: <execution_test_environments_field (example=customfield_78)>\r\n  execution_fix_versions: fixVersions\r\n  \r\nrequired:\r\n  - <required_field_1 (example=execution_test_environments)>\r\n  - <required_field_2 (example=execution_fix_versions)>\r\n    ...\r\n```\r\n\r\nIn each use, bddsync ask for credentials. To avoid this behaviour, set the environment variables \r\n`TEST_REPOSITORY_USER` and `TEST_REPOSITORY_PASS`\r\n\r\n## Usage\r\n\r\nStart with `bddsync` (with optional arguments) followed by the \"command\" from the list:\r\n\r\n```\r\n$ bddsync [-h] [--config CONFIG] \r\n          [-u TEST_REPOSITORY_USER] [-p TEST_REPOSITORY_PASS] COMMAND [-h] [...]\r\n\r\noptional arguments:\r\n  -h, --help               show this help message and exit\r\n  --config CONFIG          alternative path to bddsync.yml\r\n  -u TEST_REPOSITORY_USER  if not in environment\r\n  -p TEST_REPOSITORY_PASS\r\n  \r\ncommands available:\r\n  test-repository-folders\r\n  features\r\n  scenarios\r\n  upload-features\r\n  upload-results\r\n  generate-docs\r\n```\r\n\r\n### test-repository-folders\r\n\r\nIt shows the list of repository folders and the corresponding id:\r\n\r\n```\r\n$ bddsync [...] test-repository-folders [-h] [--folder FOLDER]\r\n\r\noptional arguments:\r\n  -h, --help       show this help message and exit\r\n  --folder FOLDER  folder to filter, else from root\r\n```\r\n\r\n### features\r\n\r\nIt shows the list of features and the corresponding path:\r\n\r\n```\r\n$ bddsync [...] features [-h]\r\n\r\noptional arguments:\r\n  -h, --help       show this help message and exit\r\n```\r\n\r\n### scenarios\r\n\r\nIt shows the list of scenarios and the corresponding features:\r\n\r\n```\r\n$ bddsync [...] scenarios [-h]\r\n\r\noptional arguments:\r\n  -h, --help       show this help message and exit\r\n```\r\n\r\n### upload-features\r\n\r\nUpdates the test repository according to these guidelines:\r\n  - Tags will be repaired and reordered, (1st line for tracked tags, 2nd line for other tags)\r\n  - New scenarios in code will be created in test repository and receive their ID in code\r\n  - Updated scenarios in code will be updated in test repository\r\n  - Deleted scenarios in code **won't be deleted** in test repository, the user deletes tests in repository manually\r\n  - Renamed scenario in code **won't be renamed** in test repository, **the user will be warned and process stops**, \r\n    the user renames tests in repository manually\r\n  - Tracked test plan tag added to a scenario will add the test to the test plan\r\n  - Tracked test plan tag removed from a scenario will remove the test from the test plan\r\n  - If there are duplicated test names, **the user will be warned and process stops**\r\n  - If scenario were duplicated while process (fixes in progress), **the user will be warned but process doesn't stop**,\r\n    the user deletes duplicated tests in repository manually\r\n    (Tip: for Xray, avoid create tests in test repository first, the tests may be duplicated with this process)\r\n\r\n```\r\n$ bddsync [...] upload-features [-h] feature [feature ...]\r\n\r\npositional arguments:\r\n  feature                can be a glob expression, use * as wildcard \r\n\r\noptional arguments:\r\n  -h, --help  show this help message and exit\r\n```\r\n\r\n### upload-results\r\n\r\nUpload test results in cucumber format:\r\n\r\n```\r\n$ bddsync [...] upload-results [-h] [-n NAME] [-e ENVIRONMENTS] [-f FIX_VERSIONS]\r\n                               [-p TEST_PLANS] [-l LABELS] result\r\n\r\npositional arguments:\r\n  result\r\n\r\noptional arguments:\r\n  -h,              --help                       show this help message and exit\r\n  -n NAME,         --name NAME                  name of test execution\r\n  -e ENVIRONMENTS, --environments ENVIRONMENTS  comma separated environment names\r\n  -f FIX_VERSIONS, --fix-versions FIX_VERSIONS  comma separated fix versions\r\n  -p TEST_PLANS,   --test-plans TEST_PLANS      comma separated test plans IDs\r\n  -l LABELS,       --labels LABELS              comma separated labels\r\n```\r\n\r\n### generate-docs\r\n\r\nIt shows the description of features and scenarios:\r\n\r\n```\r\n$ bddsync [...] generate-docs [-h]\r\n\r\noptional arguments:\r\n  -h, --help       show this help message and exit\r\n```\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Tools to synchronize BDD files with test management tools like Jira-Xray",
    "version": "1.2.0",
    "project_urls": {
        "Download": "https://github.com/Manzanero/bddsync/archive/refs/tags/v1.2.0.tar.gz",
        "Homepage": "https://github.com/Manzanero/bddsync"
    },
    "split_keywords": [
        "bdd",
        "cucumber",
        "behave",
        "jira",
        "xray",
        "testing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff3b501c299593e79445bad2630583246509f8c31b0fc2a5becd9c93465ca694",
                "md5": "512c64c191c9e6936a5bb0e4374de41a",
                "sha256": "19918618dd79955236b9d0aa01a432e03c665b3ab9d8dc583f77b65245071364"
            },
            "downloads": -1,
            "filename": "bddsync-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "512c64c191c9e6936a5bb0e4374de41a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12841,
            "upload_time": "2024-03-08T10:36:40",
            "upload_time_iso_8601": "2024-03-08T10:36:40.205174Z",
            "url": "https://files.pythonhosted.org/packages/ff/3b/501c299593e79445bad2630583246509f8c31b0fc2a5becd9c93465ca694/bddsync-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-08 10:36:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Manzanero",
    "github_project": "bddsync",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "PyYAML",
            "specs": []
        }
    ],
    "lcname": "bddsync"
}
        
Elapsed time: 0.21969s