├── testflows ├── README.md ├── testflows │ └── version │ │ └── __init__.py ├── install ├── package └── setup.py ├── .gitignore ├── cla ├── README.md ├── individual_esign_v1.md ├── individual_v1.md └── corporate_v1.md ├── .github ├── pull_request_template.md └── workflows │ └── cla.yml ├── LICENSE ├── signatures └── version1 │ └── cla.json ├── CONTRIBUTING.md └── README.md /testflows/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | *.py[cod] 3 | dist/ 4 | testflows.egg-info/ 5 | -------------------------------------------------------------------------------- /cla/README.md: -------------------------------------------------------------------------------- 1 | # Contribution License Agreements 2 | 3 | * **Individual E-Signed Contributor License Agreement** 4 | https://github.com/testflows/TestFlows/blob/master/cla/individual_esign_v1.md 5 | 6 | * **Individual Contributor License Agreement** 7 | https://github.com/testflows/TestFlows/blob/master/cla/individual_v1.md 8 | 9 | * **Corporate Contributor License Agreement** 10 | https://github.com/testflows/TestFlows/blob/master/cla/corporate_v1.md 11 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Contributor License Agreement 2 | 3 | For more information see https://github.com/testflows/TestFlows/blob/master/CONTRIBUTING.md. 4 | 5 | > *You can electronically sign the CLA inside your first pull request using CLA Assistant by reading the CLA 6 | > and, when requested, sign it by adding a comment containing the following text.* 7 | > 8 | > `I have read the CLA Document and I hereby sign the CLA` 9 | 10 | I, the Contributor, have agreed to and signed the CLA. 11 | 12 | * [ ] https://github.com/testflows/TestFlows/blob/master/cla/individual_esign_v1.md 13 | 14 | ## Description of Changes 15 | 16 | *Please describe here your proposed changes.* 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2019-2024 Katteli Inc. 2 | TestFlows.com Open-Source Software Testing Framework (http://testflows.com) 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | -------------------------------------------------------------------------------- /testflows/testflows/version/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2021 Katteli Inc. 2 | # TestFlows.com Open-Source Software Testing Framework (http://testflows.com) 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | import pkg_resources 16 | 17 | version = pkg_resources.get_distribution("testflows").version 18 | -------------------------------------------------------------------------------- /testflows/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright 2019 Katteli Inc. 3 | # TestFlows.com Open-Source Software Testing Framework (http://testflows.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | import subprocess 17 | 18 | subprocess.run("pip3 uninstall -y testflows", shell=True) 19 | subprocess.run("pip3 install ./dist/*.tar.gz", shell=True) 20 | -------------------------------------------------------------------------------- /signatures/version1/cla.json: -------------------------------------------------------------------------------- 1 | { 2 | "signedContributors": [ 3 | { 4 | "name": "vzakaznikov", 5 | "id": 41681088, 6 | "comment_id": 1466992941, 7 | "created_at": "2023-03-13T21:32:28Z", 8 | "repoId": 215418320, 9 | "pullRequestNo": 4 10 | }, 11 | { 12 | "name": "aiven-sal", 13 | "id": 122797017, 14 | "comment_id": 1508648575, 15 | "created_at": "2023-04-14T10:30:30.49Z", 16 | "repoId": 208620472, 17 | "pullRequestNo": 1 18 | }, 19 | { 20 | "name": "Elmo33", 21 | "id": 46112197, 22 | "comment_id": 2117606312, 23 | "created_at": "2024-05-17T13:26:16Z", 24 | "repoId": 215418320, 25 | "pullRequestNo": 9 26 | }, 27 | { 28 | "name": "strtgbb", 29 | "id": 146047128, 30 | "comment_id": 2523747772, 31 | "created_at": "2024-12-06T17:01:40Z", 32 | "repoId": 215418320, 33 | "pullRequestNo": 11 34 | } 35 | ] 36 | } -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to TestFlows.com Open-Source Software Testing Framework 2 | 3 | In order to contribute code to TestFlows.com Open-Source Software Testing Framework 4 | and any of its sub-modules you need to complete and sign, then scan and 5 | email a pdf file of the applicable Contribution License Agreement (CLA) 6 | to cla@katteli.com. 7 | 8 | The following CLAs are derived from the original provided by 9 | Apache Software Foundation (https://www.apache.org/foundation/) 10 | that can be found at https://apache.org/licenses/contributor-agreements.html#clas. 11 | 12 | ## Individual E-Signed Contributor License Agreement 13 | 14 | You can electronically sign the CLA inside your first pull request using 15 | [CLA Assistant](https://github.com/contributor-assistant/github-action) 16 | by reading CLA and then sign it by adding a comment containing the following text. 17 | 18 | `I have read the CLA Document and I hereby sign the CLA` 19 | 20 | https://github.com/testflows/TestFlows/blob/master/cla/individual_esign_v1.md 21 | 22 | ## Individual Contributor License Agreement 23 | 24 | https://github.com/testflows/TestFlows/blob/master/cla/individual_v1.md 25 | 26 | ## Corporate Contributor License Agreement 27 | 28 | https://github.com/testflows/TestFlows/blob/master/cla/corporate_v1.md 29 | 30 | ## Alternative 31 | 32 | If you are unable to complete a CLA then you can either open an issue 33 | or feature request and we will do our best to push code changes 34 | as soon as we can. 35 | -------------------------------------------------------------------------------- /.github/workflows/cla.yml: -------------------------------------------------------------------------------- 1 | 2 | 3 | name: "CLA Assistant" 4 | on: 5 | issue_comment: 6 | types: [created] 7 | pull_request_target: 8 | types: [opened,closed,synchronize] 9 | 10 | # explicitly configure permissions, in case your GITHUB_TOKEN workflow permissions are set to read-only in repository settings 11 | permissions: 12 | actions: write 13 | contents: write 14 | pull-requests: write 15 | statuses: write 16 | 17 | jobs: 18 | CLAAssistant: 19 | runs-on: ubuntu-latest 20 | steps: 21 | - name: "CLA Assistant" 22 | if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' 23 | uses: contributor-assistant/github-action@v2.3.0 24 | env: 25 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 26 | PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ACCESS_TOKEN }} 27 | with: 28 | path-to-signatures: 'signatures/version1/cla.json' 29 | path-to-document: 'https://github.com/testflows/TestFlows/blob/master/cla/individual_esign_v1.md' 30 | # branch should not be protected 31 | branch: 'master' 32 | allowlist: testflows,bot* 33 | # the followings are the optional inputs - If the optional inputs are not given, then default values will be taken 34 | remote-organization-name: testflows 35 | remote-repository-name: testflows 36 | create-file-commit-message: 'Creating file for storing CLA Signatures' 37 | signed-commit-message: '$contributorName has signed the CLA in $owner/$repo#$pullRequestNo' 38 | custom-allsigned-prcomment: 'All Contributors have signed the CLA.' 39 | -------------------------------------------------------------------------------- /testflows/package: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright 2019 Katteli Inc. 3 | # TestFlows.com Open-Source Software Testing Framework (http://testflows.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | import os 17 | import shutil 18 | import argparse 19 | import subprocess 20 | 21 | parser = argparse.ArgumentParser(description="TestFlows - build script") 22 | parser.add_argument("--debug", help="enable debugging", action="store_true", default=False) 23 | 24 | current_dir = os.path.dirname(os.path.abspath(__file__)) 25 | 26 | def build_package(args, options): 27 | """Build package. 28 | 29 | :param args: arguments 30 | :param options: extra options 31 | """ 32 | subprocess.run(["/usr/bin/env", "python3", "setup.py"] 33 | + (["-q"] if not args.debug else []) 34 | + ["sdist"] 35 | + (options if options else [])) 36 | 37 | def build(args, options=None): 38 | """Build package. 39 | 40 | :param args: arguments 41 | :param options: build options, default: ``None`` 42 | """ 43 | if options is None: 44 | options = [] 45 | 46 | if os.path.exists("dist"): 47 | shutil.rmtree("dist") 48 | 49 | build_package(args, options) 50 | 51 | if __name__ == "__main__": 52 | args = parser.parse_args() 53 | build(args) 54 | -------------------------------------------------------------------------------- /testflows/setup.py: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Katteli Inc. 2 | # TestFlows.com Open-Source Software Testing Framework (http://testflows.com) 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | from setuptools import setup 16 | 17 | with open("README.md", "r", encoding="utf-8") as fd: 18 | long_description = fd.read() 19 | 20 | setup( 21 | name="testflows", 22 | version="2.4.19", 23 | description="TestFlows.com Open-Source Software Testing Framework", 24 | author="Vitaliy Zakaznikov", 25 | author_email="vzakaznikov@testflows.com", 26 | long_description=long_description, 27 | long_description_content_type="text/markdown", 28 | url="https://github.com/testflows/testflows", 29 | classifiers=[ 30 | "Programming Language :: Python :: 3", 31 | "License :: OSI Approved :: Apache Software License", 32 | "Operating System :: POSIX :: Linux", 33 | ], 34 | python_requires=">=3.8", 35 | license="Apache-2.0", 36 | packages=["testflows.version"], 37 | zip_safe=False, 38 | install_requires=[ 39 | "testflows.core==2.0.250110.1002922", 40 | "testflows.asserts==7.1.240701.1195420", 41 | "testflows.snapshots==1.0.241118.1155431", 42 | "testflows.stash==1.1.230317.1211113", 43 | "testflows.uexpect==1.7.230414.1210501", 44 | "testflows.connect==1.7.240918.1165507", 45 | "testflows.database==1.6.200713.1142213", 46 | ], 47 | extras_require={"dev": []}, 48 | ) 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TestFlows.com Open-Source Software Testing Framework 2 | 3 | ![TestFlows.com Open-Source Software Testing Framework](https://raw.githubusercontent.com/testflows/TestFlows-ArtWork/master/images/logo.png) 4 | 5 | ## Introduction 6 | 7 | [TestFlows.com Open-Source Software Testing Framework] is a **flow** oriented test framework that can be used for functional, 8 | integration, acceptance and unit testing. It uses **everything is a test** approach 9 | with the focus on providing test designers flexibility in writing and running their tests. 10 | 11 | ## Documentation 12 | 13 | You can find [TestFlows.com Open-Source Software Testing Framework]'s documentation at https://testflows.com. 14 | 15 | ## Supported environment 16 | 17 | * [Ubuntu] 20.04 18 | * [Python 3] >= 3.8 19 | 20 | ## Installation 21 | 22 | You can install [TestFlows.com Open-Source Software Testing Framework] using [pip3] 23 | 24 | ```bash 25 | $ pip3 install testflows 26 | ``` 27 | 28 | or from sources 29 | 30 | ```bash 31 | $ git clone https://github.com/testflows/TestFlows.git 32 | $ cd TestFlows 33 | $ ./package && ./install 34 | ``` 35 | 36 | ## Styles 37 | 38 | [TestFlows.com Open-Source Software Testing Framework] supports defining tests using either the traditional keywords 39 | 40 | * **Module**, **Suite**, **Test**, and **Step** 41 | 42 | or using keywords such as 43 | 44 | * **Module**, **Feature**, **Scenario**, **Given**, **When**, **Then**, **But**, **And**, **By** and **Finally** 45 | 46 | ## Hello TestFlows 47 | 48 | An inline test scenario can be defined as follows 49 | 50 | ```python 51 | from testflows.core import Scenario 52 | 53 | with Scenario("Hello TestFlows!"): 54 | pass 55 | ``` 56 | 57 | then just run it using `python3` command 58 | 59 | ```bash 60 | $ python3 ./test.py 61 | Jul 12,2020 14:30:20 ⟥ Scenario Hello TestFlows! 62 | 1ms ⟥⟤ OK Hello TestFlows!, /Hello TestFlows! 63 | 64 | Passing 65 | 66 | ✔ [ OK ] /Hello TestFlows! 67 | 68 | 1 scenario (1 ok) 69 | 70 | Total time 2ms 71 | 72 | Executed on Jul 12,2020 14:30 73 | TestFlows.com Open-Source Software Testing Framework v1.6.200712.1132037 74 | ``` 75 | 76 | ## Want to know more? 77 | 78 | Find more information about [TestFlows.com Open-Source Software Testing Framework] at https://testflows.com. 79 | Join our channel on [Telegram]. 80 | 81 | [TestFlows.com Open-Source Software Testing Framework]: https://testflows.com 82 | [Telegram]: https://telegram.me/testflows 83 | [pip3]: https://github.com/pypa/pip 84 | [Python 3]: https://www.python.org/ 85 | [Ubuntu]: https://ubuntu.com/ 86 | -------------------------------------------------------------------------------- /cla/individual_esign_v1.md: -------------------------------------------------------------------------------- 1 | 2 | ``` 3 | The TestFlows.com Open-Source Software Testing Framework 4 | Individual Contributor License Agreement ("Agreement") 5 | (version 1.0) 6 | 7 | This Agreement is derived and differs from the original provided by 8 | Apache Software Foundation (https://www.apache.org/foundation/) at 9 | https://apache.org/licenses/. 10 | 11 | Thank you for your interest in TestFlows.com Open-Source Software 12 | Testing Framework developed and maintained by Katteli Inc. 13 | 14 | Katteli Inc. hereinafter refered to as the "Maintainers". 15 | 16 | To clarify the intellectual property license granted with Contributions 17 | from any person or entity, the Maintainers must have on file an electronically 18 | signed Contributor License Agreement ("CLA") from each Contributor, 19 | indicating agreement with the license terms below. 20 | 21 | You accept and agree to the following terms and conditions for Your 22 | Contributions (present and future) that you submit to the Maintainers. 23 | 24 | 1. Definitions. 25 | 26 | "You" (or "Your") shall mean the copyright owner or legal entity 27 | authorized by the copyright owner that is making this Agreement 28 | with the Maintainers. For legal entities, the entity making a 29 | Contribution and all other entities that control, are controlled 30 | by, or are under common control with that entity are considered to 31 | be a single Contributor. For the purposes of this definition, 32 | "control" means (i) the power, direct or indirect, to cause the 33 | direction or management of such entity, whether by contract or 34 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 35 | outstanding shares, or (iii) beneficial ownership of such entity. 36 | 37 | "Contribution" shall mean any original work of authorship, 38 | including any modifications or additions to an existing work, that 39 | is intentionally submitted by You to the Maintainers for inclusion 40 | in, or documentation of, any of the products owned or managed by 41 | the Maintainers (the "Work"). For the purposes of this definition, 42 | "submitted" means any form of electronic, verbal, or written 43 | communication sent to the Maintainers or its representatives, 44 | including but not limited to communication on electronic mailing 45 | lists, source code control systems, and issue tracking systems that 46 | are managed by, or on behalf of, the Maintainers for the purpose of 47 | discussing and improving the Work, but excluding communication that 48 | is conspicuously marked or otherwise designated in writing by You 49 | as "Not a Contribution." 50 | 51 | 2. Grant of Copyright License. Subject to the terms and conditions of 52 | this Agreement, You hereby grant to the Maintainers and to 53 | recipients of software distributed by the Maintainers a perpetual, 54 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 55 | copyright license to reproduce, prepare derivative works of, 56 | publicly display, publicly perform, sublicense, and distribute Your 57 | Contributions and such derivative works. 58 | 59 | 3. Grant of Patent License. Subject to the terms and conditions of 60 | this Agreement, You hereby grant to the Maintainers and to 61 | recipients of software distributed by the Maintainers a perpetual, 62 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 63 | (except as stated in this section) patent license to make, have 64 | made, use, offer to sell, sell, import, and otherwise transfer the 65 | Work, where such license applies only to those patent claims 66 | licensable by You that are necessarily infringed by Your 67 | Contribution(s) alone or by combination of Your Contribution(s) 68 | with the Work to which such Contribution(s) was submitted. If any 69 | entity institutes patent litigation against You or any other entity 70 | (including a cross-claim or counterclaim in a lawsuit) alleging 71 | that your Contribution, or the Work to which you have contributed, 72 | constitutes direct or contributory patent infringement, then any 73 | patent licenses granted to that entity under this Agreement for 74 | that Contribution or Work shall terminate as of the date such 75 | litigation is filed. 76 | 77 | 4. You represent that you are legally entitled to grant the above 78 | license. If your employer(s) has rights to intellectual property 79 | that you create that includes your Contributions, you represent 80 | that you have received permission to make Contributions on behalf 81 | of that employer, that your employer has waived such rights for 82 | your Contributions to the Maintainers, or that your employer has 83 | executed a separate Corporate CLA with the Maintainers. 84 | 85 | 5. You represent that each of Your Contributions is Your original 86 | creation (see section 7 for submissions on behalf of others). You 87 | represent that Your Contribution submissions include complete 88 | details of any third-party license or other restriction (including, 89 | but not limited to, related patents and trademarks) of which you 90 | are personally aware and which are associated with any part of Your 91 | Contributions. 92 | 93 | 6. You are not expected to provide support for Your Contributions, 94 | except to the extent You desire to provide support. You may provide 95 | support for free, for a fee, or not at all. Unless required by 96 | applicable law or agreed to in writing, You provide Your 97 | Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 98 | OF ANY KIND, either express or implied, including, without 99 | limitation, any warranties or conditions of TITLE, NON- 100 | INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. 101 | 102 | 7. Should You wish to submit work that is not Your original creation, 103 | You may submit it to the Maintainers separately from any 104 | Contribution, identifying the complete details of its source and of 105 | any license or other restriction (including, but not limited to, 106 | related patents, trademarks, and license agreements) of which you 107 | are personally aware, and conspicuously marking the work as 108 | "Submitted on behalf of a third-party: [named here]". 109 | 110 | 8. You agree to notify the Maintainers of any facts or circumstances of 111 | which you become aware that would make these representations 112 | inaccurate in any respect. 113 | ``` 114 | -------------------------------------------------------------------------------- /cla/individual_v1.md: -------------------------------------------------------------------------------- 1 | ``` 2 | The TestFlows.com Open-Source Software Testing Framework 3 | Individual Contributor License Agreement ("Agreement") 4 | (version 1.0) 5 | 6 | This Agreement is derived and differs from the original provided by 7 | Apache Software Foundation (https://www.apache.org/foundation/) at 8 | https://apache.org/licenses/. 9 | 10 | Thank you for your interest in TestFlows.com Open-Source Software 11 | Testing Framework developed and maintained by Katteli Inc. 12 | 13 | Katteli Inc. hereinafter refered to as the "Maintainers". 14 | 15 | To clarify the intellectual property license granted with Contributions 16 | from any person or entity, the Maintainers must have on file a signed 17 | Contributor License Agreement ("CLA") from each Contributor, 18 | indicating agreement with the license terms below. 19 | 20 | Please complete and sign this Agreement, and then email a pdf copy 21 | to cla@katteli.com only (do not copy any other persons or lists). 22 | Read this document carefully before signing and keep a copy for your records. 23 | 24 | Full name: ______________________________________________________ 25 | Postal Address: _________________________________________________ 26 | _________________________________________________________________ 27 | Country: ________________________________________________________ 28 | E-Mail: _________________________________________________________ 29 | 30 | You accept and agree to the following terms and conditions for Your 31 | Contributions (present and future) that you submit to the Maintainers. 32 | 33 | 1. Definitions. 34 | 35 | "You" (or "Your") shall mean the copyright owner or legal entity 36 | authorized by the copyright owner that is making this Agreement 37 | with the Maintainers. For legal entities, the entity making a 38 | Contribution and all other entities that control, are controlled 39 | by, or are under common control with that entity are considered to 40 | be a single Contributor. For the purposes of this definition, 41 | "control" means (i) the power, direct or indirect, to cause the 42 | direction or management of such entity, whether by contract or 43 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 44 | outstanding shares, or (iii) beneficial ownership of such entity. 45 | "Contribution" shall mean any original work of authorship, 46 | including any modifications or additions to an existing work, that 47 | is intentionally submitted by You to the Maintainers for inclusion 48 | in, or documentation of, any of the products owned or managed by 49 | the Maintainers (the "Work"). For the purposes of this definition, 50 | "submitted" means any form of electronic, verbal, or written 51 | communication sent to the Maintainers or its representatives, 52 | including but not limited to communication on electronic mailing 53 | lists, source code control systems, and issue tracking systems that 54 | are managed by, or on behalf of, the Maintainers for the purpose of 55 | discussing and improving the Work, but excluding communication that 56 | is conspicuously marked or otherwise designated in writing by You 57 | as "Not a Contribution." 58 | 59 | 2. Grant of Copyright License. Subject to the terms and conditions of 60 | this Agreement, You hereby grant to the Maintainers and to 61 | recipients of software distributed by the Maintainers a perpetual, 62 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 63 | copyright license to reproduce, prepare derivative works of, 64 | publicly display, publicly perform, sublicense, and distribute Your 65 | Contributions and such derivative works. 66 | 67 | 3. Grant of Patent License. Subject to the terms and conditions of 68 | this Agreement, You hereby grant to the Maintainers and to 69 | recipients of software distributed by the Maintainers a perpetual, 70 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 71 | (except as stated in this section) patent license to make, have 72 | made, use, offer to sell, sell, import, and otherwise transfer the 73 | Work, where such license applies only to those patent claims 74 | licensable by You that are necessarily infringed by Your 75 | Contribution(s) alone or by combination of Your Contribution(s) 76 | with the Work to which such Contribution(s) was submitted. If any 77 | entity institutes patent litigation against You or any other entity 78 | (including a cross-claim or counterclaim in a lawsuit) alleging 79 | that your Contribution, or the Work to which you have contributed, 80 | constitutes direct or contributory patent infringement, then any 81 | patent licenses granted to that entity under this Agreement for 82 | that Contribution or Work shall terminate as of the date such 83 | litigation is filed. 84 | 85 | 4. You represent that you are legally entitled to grant the above 86 | license. If your employer(s) has rights to intellectual property 87 | that you create that includes your Contributions, you represent 88 | that you have received permission to make Contributions on behalf 89 | of that employer, that your employer has waived such rights for 90 | your Contributions to the Maintainers, or that your employer has 91 | executed a separate Corporate CLA with the Maintainers. 92 | 93 | 5. You represent that each of Your Contributions is Your original 94 | creation (see section 7 for submissions on behalf of others). You 95 | represent that Your Contribution submissions include complete 96 | details of any third-party license or other restriction (including, 97 | but not limited to, related patents and trademarks) of which you 98 | are personally aware and which are associated with any part of Your 99 | Contributions. 100 | 101 | 6. You are not expected to provide support for Your Contributions, 102 | except to the extent You desire to provide support. You may provide 103 | support for free, for a fee, or not at all. Unless required by 104 | applicable law or agreed to in writing, You provide Your 105 | Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 106 | OF ANY KIND, either express or implied, including, without 107 | limitation, any warranties or conditions of TITLE, NON- 108 | INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. 109 | 110 | 7. Should You wish to submit work that is not Your original creation, 111 | You may submit it to the Maintainers separately from any 112 | Contribution, identifying the complete details of its source and of 113 | any license or other restriction (including, but not limited to, 114 | related patents, trademarks, and license agreements) of which you 115 | are personally aware, and conspicuously marking the work as 116 | "Submitted on behalf of a third-party: [named here]". 117 | 118 | 8. You agree to notify the Maintainers of any facts or circumstances of 119 | which you become aware that would make these representations 120 | inaccurate in any respect. 121 | 122 | Please sign: __________________________________ Date: _______________ 123 | ``` 124 | -------------------------------------------------------------------------------- /cla/corporate_v1.md: -------------------------------------------------------------------------------- 1 | ``` 2 | The TestFlows.com Open-Source Software Testing Framework 3 | Corporate Contributor License Agreement ("Agreement") 4 | (version 1.0) 5 | 6 | This Agreement is derived and differs from the original provided by 7 | Apache Software Foundation (https://www.apache.org/foundation/) at 8 | https://apache.org/licenses/. 9 | 10 | Thank you for your interest in contribution to TestFlows.com 11 | Open-Source Software Testing Framework developed and maintained 12 | by Katteli Inc. 13 | 14 | Katteli Inc. hereinafter refered to as the "Maintainers". 15 | 16 | In order to clarify the intellectual property license 17 | granted with Contributions from any person or entity, the Maintainers 18 | must have a Contributor License Agreement (CLA) on file that has been 19 | signed by each Contributor, indicating agreement to the license terms 20 | below. 21 | 22 | This version of the Agreement allows an entity (the "Corporation") to 23 | submit Contributions to the Maintainers, to authorize Contributions 24 | submitted by its designated employees to the Maintainers, and to grant 25 | copyright and patent licenses thereto. 26 | 27 | If you have not already done so, please complete and sign, then scan and 28 | email a pdf file of this Agreement to cla@katteli.com. 29 | 30 | Please read this document carefully before signing and keep a copy for 31 | your records. 32 | 33 | Corporation name: ________________________________________________ 34 | 35 | Corporation address: ________________________________________________ 36 | 37 | ________________________________________________ 38 | 39 | ________________________________________________ 40 | 41 | Point of Contact: ________________________________________________ 42 | 43 | E-Mail: ________________________________________________ 44 | 45 | Telephone: _____________________ Fax: _____________________ 46 | 47 | 48 | You accept and agree to the following terms and conditions for Your 49 | present and future Contributions submitted to the Maintainers. 50 | 51 | 1. Definitions. 52 | 53 | "You" (or "Your") shall mean the copyright owner or legal entity 54 | authorized by the copyright owner that is making this Agreement 55 | with the Maintainers. For legal entities, the entity making a 56 | Contribution and all other entities that control, are controlled by, 57 | or are under common control with that entity are considered to be a 58 | single Contributor. For the purposes of this definition, "control" 59 | means (i) the power, direct or indirect, to cause the direction or 60 | management of such entity, whether by contract or otherwise, or 61 | (ii) ownership of fifty percent (50%) or more of the outstanding 62 | shares, or (iii) beneficial ownership of such entity. 63 | 64 | "Contribution" shall mean the code, documentation or other original 65 | works of authorship expressly identified in Schedule B, as well as 66 | any original work of authorship, including 67 | any modifications or additions to an existing work, that is intentionally 68 | submitted by You to the Maintainers for inclusion in, or 69 | documentation of, any of the products owned or managed by the 70 | Maintainers (the "Work"). For the purposes of this definition, 71 | "submitted" means any form of electronic, verbal, or written 72 | communication sent to the Maintainers or its representatives, 73 | including but not limited to communication on electronic mailing 74 | lists, source code control systems, and issue tracking systems 75 | that are managed by, or on behalf of, the Maintainers for the 76 | purpose of discussing and improving the Work, but excluding 77 | communication that is conspicuously marked or otherwise designated 78 | in writing by You as "Not a Contribution." 79 | 80 | 2. Grant of Copyright License. Subject to the terms and conditions 81 | of this Agreement, You hereby grant to the Maintainers and to 82 | recipients of software distributed by the Maintainers a perpetual, 83 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 84 | copyright license to reproduce, prepare derivative works of, 85 | publicly display, publicly perform, sublicense, and distribute 86 | Your Contributions and such derivative works. 87 | 88 | 3. Grant of Patent License. Subject to the terms and conditions of 89 | this Agreement, You hereby grant to the Maintainers and to recipients 90 | of software distributed by the Maintainers a perpetual, worldwide, 91 | non-exclusive, no-charge, royalty-free, irrevocable (except as 92 | stated in this section) patent license to make, have made, use, 93 | offer to sell, sell, import, and otherwise transfer the Work, 94 | where such license applies only to those patent claims licensable 95 | by You that are necessarily infringed by Your Contribution(s) 96 | alone or by combination of Your Contribution(s) with the Work to 97 | which such Contribution(s) were submitted. If any entity institutes 98 | patent litigation against You or any other entity (including a 99 | cross-claim or counterclaim in a lawsuit) alleging that your 100 | Contribution, or the Work to which you have contributed, constitutes 101 | direct or contributory patent infringement, then any patent licenses 102 | granted to that entity under this Agreement for that Contribution or 103 | Work shall terminate as of the date such litigation is filed. 104 | 105 | 4. You represent that You are legally entitled to grant the above 106 | license. You represent further that each employee of the 107 | Corporation designated on Schedule A below (or in a subsequent 108 | written modification to that Schedule) is authorized to submit 109 | Contributions on behalf of the Corporation. 110 | 111 | 5. You represent that each of Your Contributions is Your original 112 | creation (see section 7 for submissions on behalf of others). 113 | 114 | 6. You are not expected to provide support for Your Contributions, 115 | except to the extent You desire to provide support. You may provide 116 | support for free, for a fee, or not at all. Unless required by 117 | applicable law or agreed to in writing, You provide Your 118 | Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 119 | OF ANY KIND, either express or implied, including, without 120 | limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, 121 | MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. 122 | 123 | 7. Should You wish to submit work that is not Your original creation, 124 | You may submit it to the Maintainers separately from any 125 | Contribution, identifying the complete details of its source and 126 | of any license or other restriction (including, but not limited 127 | to, related patents, trademarks, and license agreements) of which 128 | you are personally aware, and conspicuously marking the work as 129 | "Submitted on behalf of a third-party: [named here]". 130 | 131 | 8. It is your responsibility to notify the Maintainers when any change 132 | is required to the list of designated employees authorized to submit 133 | Contributions on behalf of the Corporation, or to the Corporation's 134 | Point of Contact with the Maintainers. 135 | 136 | 137 | 138 | Please sign: __________________________________ Date: _______________ 139 | 140 | Title: __________________________________ 141 | 142 | Corporation: __________________________________ 143 | 144 | 145 | Schedule A 146 | 147 | [Initial list of designated employees. NB: authorization is not 148 | tied to particular Contributions.] 149 | 150 | 151 | Schedule B 152 | 153 | [Identification of optional concurrent software grant. Would be 154 | left blank or omitted if there is no concurrent software grant.] 155 | ``` 156 | --------------------------------------------------------------------------------