bdd-tags-processor


Namebdd-tags-processor JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/qarampage/bdd-tags-processor
SummaryFilter Cucumber BDD Feature files based on Scenario Tag expressions
upload_time2023-08-06 14:05:26
maintainer
docs_urlNone
authorQA Rampage
requires_python
license
keywords bdd cucumber tag expression processor filter feature files
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # BDD Tag Expression Processor

The module wil filter the Feature files based on the given scenario tag expressions. The expression can be created
freehand in the following format.

## Rules

* All the Feature files must have at least a single line space between each block in the feature files.
  * _Feature, Background, Scenario, Scenario Outline_
* The Left side is always the ANDs and Right side is always the ORs
* The bridge between ANDs and ORs is **and (**
* Tags that we want to exclude are prefixed with a ~ symbol.
    * _Eg. NoRuns can be either the default ~@norun or any tags such as ~@p3_
* All the scenarios that are filtered are arranged back into their original files and a @final tag is placed in the tag
  list
  * _All the comments, and extra spaces are removed from the feature file_

## Test Samples

```
Given expression: {@web}
	 Result: --> NoRuns: [],  Ands: ['@web'], Ors: []

Given expression:   {  @web    and @regression    and ~@norun}
	 Result: --> NoRuns: ['@norun'],  Ands: ['@web', '@regression'], Ors: []

Given expression: {~@norun and @web and (@test1 or @test2)}
	 Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: ['@test1', '@test2']

Given expression: {~@norun and (@test1 or @test2)}
	 Result: --> NoRuns: ['@norun'],  Ands: [], Ors: ['@test1', '@test2']

Given expression: {@web and ~@browser and @sanity and ~@norun}
	 Result: --> NoRuns: ['@browser', '@norun'],  Ands: ['@web', '@sanity'], Ors: []

Given expression: {~@norun}
	 Result: --> NoRuns: ['@norun'],  Ands: [], Ors: []

Given expression: {@sanity or @regression}
	 Result: --> NoRuns: [],  Ands: [], Ors: ['@sanity', '@regression']

Given expression: {@web and @browser and ~@norun and (@regression or @Sanity)}
	 Result: --> NoRuns: ['@norun'],  Ands: ['@web', '@browser'], Ors: ['@regression', '@Sanity']

Given expression: {@web and ~@norun and (@regression or @Sanity)}
	 Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: ['@regression', '@Sanity']

Given expression: {  ~@web   and   @browser   and   @checkout   and    ~@norun and (  @regression   or   @Sanity    )}
	 Result: --> NoRuns: ['@web', '@norun'],  Ands: ['@browser', '@checkout'], Ors: ['@regression', '@Sanity']

Given expression: {  ~@web   and   @browser   and   @checkout   and    @norun and (  @test1   or   @test2    )}
	 Result: --> NoRuns: ['@web'],  Ands: ['@browser', '@checkout', '@norun'], Ors: ['@test1', '@test2']

Given expression: {  @web   and   @regression   and    @norun and (  @test1   or   @test2    )}
	 Result: --> NoRuns: [],  Ands: ['@web', '@regression', '@norun'], Ors: ['@test1', '@test2']

Given expression: {@web and (@regression or @Sanity)}
	 Result: --> NoRuns: [],  Ands: ['@web'], Ors: ['@regression', '@Sanity']

Given expression: {  @web   and   ~@browser   and   ~@checkout   and    @norun and (  @regression   or   @Sanity    )}
	 Result: --> NoRuns: ['@browser', '@checkout'],  Ands: ['@web', '@norun'], Ors: ['@regression', '@Sanity']

Given expression: {@web and ~@norun and (@p1)}
	 Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: ['@p1']

Given expression: @web
	 Result: --> NoRuns: [],  Ands: ['@web'], Ors: []

Given expression: 
	 Result: --> NoRuns: [],  Ands: [], Ors: []

Given expression: {~@test-2}
	 Result: --> NoRuns: ['@test-2'],  Ands: [], Ors: []

Given expression: {~@norun and @web}
	 Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: []
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/qarampage/bdd-tags-processor",
    "name": "bdd-tags-processor",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "bdd cucumber tag expression processor filter feature files",
    "author": "QA Rampage",
    "author_email": "16265665+qarampage@users.noreply.github.co",
    "download_url": "https://files.pythonhosted.org/packages/96/62/9a3ab56bc22dfc4d567660ffd216652429824ad17f3815435544a18f95e7/bdd_tags_processor-0.2.0.tar.gz",
    "platform": null,
    "description": "# BDD Tag Expression Processor\n\nThe module wil filter the Feature files based on the given scenario tag expressions. The expression can be created\nfreehand in the following format.\n\n## Rules\n\n* All the Feature files must have at least a single line space between each block in the feature files.\n  * _Feature, Background, Scenario, Scenario Outline_\n* The Left side is always the ANDs and Right side is always the ORs\n* The bridge between ANDs and ORs is **and (**\n* Tags that we want to exclude are prefixed with a ~ symbol.\n    * _Eg. NoRuns can be either the default ~@norun or any tags such as ~@p3_\n* All the scenarios that are filtered are arranged back into their original files and a @final tag is placed in the tag\n  list\n  * _All the comments, and extra spaces are removed from the feature file_\n\n## Test Samples\n\n```\nGiven expression: {@web}\n\t Result: --> NoRuns: [],  Ands: ['@web'], Ors: []\n\nGiven expression:   {  @web    and @regression    and ~@norun}\n\t Result: --> NoRuns: ['@norun'],  Ands: ['@web', '@regression'], Ors: []\n\nGiven expression: {~@norun and @web and (@test1 or @test2)}\n\t Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: ['@test1', '@test2']\n\nGiven expression: {~@norun and (@test1 or @test2)}\n\t Result: --> NoRuns: ['@norun'],  Ands: [], Ors: ['@test1', '@test2']\n\nGiven expression: {@web and ~@browser and @sanity and ~@norun}\n\t Result: --> NoRuns: ['@browser', '@norun'],  Ands: ['@web', '@sanity'], Ors: []\n\nGiven expression: {~@norun}\n\t Result: --> NoRuns: ['@norun'],  Ands: [], Ors: []\n\nGiven expression: {@sanity or @regression}\n\t Result: --> NoRuns: [],  Ands: [], Ors: ['@sanity', '@regression']\n\nGiven expression: {@web and @browser and ~@norun and (@regression or @Sanity)}\n\t Result: --> NoRuns: ['@norun'],  Ands: ['@web', '@browser'], Ors: ['@regression', '@Sanity']\n\nGiven expression: {@web and ~@norun and (@regression or @Sanity)}\n\t Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: ['@regression', '@Sanity']\n\nGiven expression: {  ~@web   and   @browser   and   @checkout   and    ~@norun and (  @regression   or   @Sanity    )}\n\t Result: --> NoRuns: ['@web', '@norun'],  Ands: ['@browser', '@checkout'], Ors: ['@regression', '@Sanity']\n\nGiven expression: {  ~@web   and   @browser   and   @checkout   and    @norun and (  @test1   or   @test2    )}\n\t Result: --> NoRuns: ['@web'],  Ands: ['@browser', '@checkout', '@norun'], Ors: ['@test1', '@test2']\n\nGiven expression: {  @web   and   @regression   and    @norun and (  @test1   or   @test2    )}\n\t Result: --> NoRuns: [],  Ands: ['@web', '@regression', '@norun'], Ors: ['@test1', '@test2']\n\nGiven expression: {@web and (@regression or @Sanity)}\n\t Result: --> NoRuns: [],  Ands: ['@web'], Ors: ['@regression', '@Sanity']\n\nGiven expression: {  @web   and   ~@browser   and   ~@checkout   and    @norun and (  @regression   or   @Sanity    )}\n\t Result: --> NoRuns: ['@browser', '@checkout'],  Ands: ['@web', '@norun'], Ors: ['@regression', '@Sanity']\n\nGiven expression: {@web and ~@norun and (@p1)}\n\t Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: ['@p1']\n\nGiven expression: @web\n\t Result: --> NoRuns: [],  Ands: ['@web'], Ors: []\n\nGiven expression: \n\t Result: --> NoRuns: [],  Ands: [], Ors: []\n\nGiven expression: {~@test-2}\n\t Result: --> NoRuns: ['@test-2'],  Ands: [], Ors: []\n\nGiven expression: {~@norun and @web}\n\t Result: --> NoRuns: ['@norun'],  Ands: ['@web'], Ors: []\n```\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Filter Cucumber BDD Feature files based on Scenario Tag expressions",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/qarampage/bdd-tags-processor"
    },
    "split_keywords": [
        "bdd",
        "cucumber",
        "tag",
        "expression",
        "processor",
        "filter",
        "feature",
        "files"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "056bda3592ae130c21153fe1c0dfcc5ad7b48dbbaf47a86d7d762d2706dfb629",
                "md5": "2996b9e781fcdad750f23d79d9e11ca6",
                "sha256": "cabde7e698c4c59443fea0a10aba0e427fcb7cbcf866a08f509cc48054f724f7"
            },
            "downloads": -1,
            "filename": "bdd_tags_processor-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2996b9e781fcdad750f23d79d9e11ca6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 17573,
            "upload_time": "2023-08-06T14:05:24",
            "upload_time_iso_8601": "2023-08-06T14:05:24.729296Z",
            "url": "https://files.pythonhosted.org/packages/05/6b/da3592ae130c21153fe1c0dfcc5ad7b48dbbaf47a86d7d762d2706dfb629/bdd_tags_processor-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96629a3ab56bc22dfc4d567660ffd216652429824ad17f3815435544a18f95e7",
                "md5": "9f815bcaee29ba4f8622bc452a2d7ad3",
                "sha256": "222f7fa0cc17d4e14d95390762dea535952c4348fbffb37cff3f858ee0ed4d51"
            },
            "downloads": -1,
            "filename": "bdd_tags_processor-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9f815bcaee29ba4f8622bc452a2d7ad3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 16892,
            "upload_time": "2023-08-06T14:05:26",
            "upload_time_iso_8601": "2023-08-06T14:05:26.434214Z",
            "url": "https://files.pythonhosted.org/packages/96/62/9a3ab56bc22dfc4d567660ffd216652429824ad17f3815435544a18f95e7/bdd_tags_processor-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-06 14:05:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "qarampage",
    "github_project": "bdd-tags-processor",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "bdd-tags-processor"
}
        
Elapsed time: 0.12078s