Metadata-Version: 2.1
Name: pytest-notion
Version: 1.0.0
Summary: A PyTest Reporter to send test runs to Notion.so
Home-page: https://github.com/Gimpneek/notion-pytest-reporter
Author: Colin Wren
Author-email: gimpneek@gmail.com
License: GPLv3
Description: # notion-pytest-reporter
        A PyTest Reporter to send test runs to Notion.so and enable bi-directional 
        traceability.
        
        ![Example Test Cycle Report](images/test-cycle.png)
        Test Cycle Report - Shows Test Execution Results from run
        
        ![Example Test Execution](images/test-execution.png)
        Test Execution - Shows Stack trace if failed
        
        ![Example Test Case](images/test-case.png)
        Test Case - Shows Test Executions
        
        ## How it works
        `notion-pytest-reporter` uses the unofficial Notion API to create new items in
        the Test collection templates found here: [Test Report Template](https://www.notion.so/colinwren/Test-Reports-4415da888bf84457af49f18e9d25e62b)
        
        For every test run `notion-pytest-reporter` will create a new Test Cycle and
        within the Test Cycle create a Test Execution.
        
        The Test Execution can be linked to a Test Case using the `@pytest.mark.notion_test(test_name)` decorator 
        with the `test_name` argument being the title of the test case.
        
        If a Test Case has been linked to a Test Execution then the Test Case page will
        be updated to show that Test Execution allowing for bi-directional traceability
        between the executed test and the test case.
        
        If the Test Case is linked to a user story or specification then you'll
        have bi-directional traceability between the tests and the user story!
        
        ## Running the reporter
        The reporter takes the following arguments:
        
        | Argument              | Description                                |
        |-----------------------|--------------------------------------------|
        | `--notion_token`      | API token used to authenticate with Notion |
        | `--test-cycle-url`    | URL of the Test Cycle collection           |
        | `--test-case-url`     | URL of the Test Case collection            |
        | `--test-execution-url`| URL of the Test Execution collection       |
        | `--test-cycle-name`   | Name to use for the Test Cycle             |
        
        All arguments execpt `--test-cycle-name` are required for the reporter to run.
        
        ### Getting the Authentication Token and collections URLS
        In order to get the authentication token used by the test reporter
        you'll need to use the web version of Notion.
        
        Once you've logged into Notion open the inspector panel on your web browser
        and locate the cookie named `token_v2` - the value stored in that cookie is
        authentication token.
        
        The Test Cycle and Test Case URLs are simpler to extract. 
        
        Right click the Test Cycle page in the side navigation and select `Copy Link` to
        get the URL for the Test Cycle collection.
        
        Right click the Test Cases page in the side navigation and select `Copy Link` to
        get the URL for the Test Cases collection.
        
        Right click the Test Executions page in the side navigation and select `Copy Link` to
        get the URL for the Test Executions collection.
        
Keywords: notion pytest reporter
Platform: UNKNOWN
Classifier: Framework :: Pytest
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Description-Content-Type: text/markdown
Provides-Extra: test
