Lean Testing Python SDK
Project description
Lean Testing Python SDK
Python client for `Lean Testing API <https://leantesting.com/en/api-docs>`__
You can sign up for a Lean Testing account at https://leantesting.com.
Requirements
Python 3.0 or greater
Installation
You don’t need this source code unless you want to modify the package. If you just want to use the Lean Testing Python SDK, you should run:
pip install --upgrade leantesting
or
easy_install --upgrade leantesting
See http://www.pip-installer.org/en/latest/index.html for instructions on installing pip. If you are on a system with easy_install but not pip, you can use easy_install instead. If you’re not using virtualenv, you may have to prefix those commands with sudo. You can learn more about virtualenv at http://www.virtualenv.org/
To install from source, run:
python setup.py install
Usage
Including Lean Testing Python SDK
from leantesting.Client import Client as LeanTestingClientCreating a new instance
LT = LeanTestingClient()
Get Current Token
leantesting.getCurrentToken()Attach New Token
leantesting.attachToken('9ErdKZXpGPnvHuJ9di92eAFqrp14GKvfHMyclGGh')Generate Authorization URL
generatedURL = leantesting.auth.generateAuthLink( 'DHxaSvtpl91Xos4vb7d0GKkXRu0GJxd5Rdha2HHx', 'https://www.example.com/appurl/', 'admin', 'a3ahdh2iqhdasdasfdjahf26' ) print( generatedURL )Exchange Authorization Code For Access TOKEN
token = leantesting.auth.exchangeAuthCode( 'DHxaSvtpl91Xos4vb7d0GKkXRu0GJxd5Rdha2HHx', 'DpOZxNbeL1arVbjUINoA9pOhgS8FNQsOkpE4CtXU', 'authorization_code', 'sOgY2DT47B2K0bqashnk0E6wUaYgbbspwdy9kGrk', 'https://www.example.com/appurl/' ) print( token )
Get User Information
leantesting.user.getInformation()Get User Organizations
leantesting.user.organizations.all().toArray()
List All Projects
leantesting.projects.all().toArray()Create A New Project
newProject = leantesting.projects.create({ 'name': 'Project135', 'organization_id': 5779 }) print( newProject.data )Retrieve An Existing Project
leantesting.projects.find(3515).dataList Project Sections
leantesting.projects.find(3515).sections.all().toArray()Adding A Project Section
newSection = leantesting.projects.find(3515).sections.create({ 'name': 'SectionName' }) print( newSection.data )List Project Versions
leantesting.projects.find(3515).versions.all().toArray()Adding A Project Version
newVersion = leantesting.projects.find(3515).versions.create({ 'number': 'v0.3.1104' }) print( newVersion.data )List Project Users
leantesting.projects.find(3515).users.all().toArray()List Bug Type Scheme
leantesting.projects.find(3515).bugTypeScheme.all().toArray()List Bug Status Scheme
leantesting.projects.find(3515).bugStatusScheme.all().toArray()List Bug Severity Scheme
leantesting.projects.find(3515).bugSeverityScheme.all().toArray()List Bug Reproducibility Scheme
leantesting.projects.find(3515).bugReproducibilityScheme.all().toArray()
List All Bugs In A Project
leantesting.projects.find(3515).bugs.all().toArray()Create A New Bug
newBug = leantesting.projects.find(3515).bugs.create({ 'title': 'Something bad happened...', 'status_id': 1, 'severity_id': 2, 'project_version_id': 10242 }) print( newBug.data )Retrieve Existing Bug
leantesting.bugs.find(38483).dataUpdate A Bug
updatedBug = leantesting.bugs.update(118622, { 'title': 'Updated title', 'status_id': 1, 'severity_id': 2, 'project_version_id': 10242 }) print( updatedBug.data )Delete A Bug
leantesting.bugs.delete(118622)
List Bug Comments
leantesting.bugs.find(38483).comments.all().toArray()
List Bug Attachments
leantesting.bugs.find(38483).attachments.all().toArray()Upload An Attachment
filePath = '/place/Downloads/Images/1370240743_2294218.jpg' newAttachment = leantesting.bugs.find(38483).attachments.upload(filePath) print( newAttachment.data )Retrieve An Existing Attachment
leantesting.attachments.find(21515).dataDelete An Attachment
leantesting.attachments.delete(75258)
List Platform Types
leantesting.platform.types.all().toArray()Retrieve Platform Type
leantesting.platform.types.find(1).dataList Platform Devices
leantesting.platform.types.find(1).devices.all().toArray()Retrieve Existing Device
leantesting.platform.devices.find(11).dataList OS
leantesting.platform.os.all().toArray()Retrieve Existing OS
leantesting.platform.os.find(1).dataList OS Versions
leantesting.platform.os.find(1).versions.all().toArray()List Browsers
leantesting.platform.browsers.all().toArray()Retrieve Existing Browser
leantesting.platform.browsers.find(1).dataList Browser Versions
leantesting.platform.browsers.find(1).versions.all().toArray()
Using Filters
leantesting.projects.find(3515).bugs.all({'limit': 2, 'page': 5}).toArray()Entity List Functions
browsers = leantesting.platform.browsers.all() print( browsers.total() ) print( browsers.totalPages() ) print( browsers.count() ) print( browsers.toArray() )Entity List Iterator When used in for loops, entity lists will automatically cycle to first page, regardless of page filter. After ending the loop, the entity list will NOT revert to first page or the initial instancing page filter setting in order not to cause useless API request calls.
comments = leantesting.bugs.find(38483).comments.all({'limit': 1}) for page in comments: print( page )Entity List Manual Iteration ```python comments = leantesting.bugs.find(38483).comments.all({‘limit’: 1}) print( comments.toArray() )
Will return false if unable to move forwards
comments.next(); print( comments.toArray() )
Will return false if already on last page
comments.last(); print( comments.toArray() )
Will return false if unable to move backwards
comments.previous(); print( comments.toArray() )
Will return false if already on first page
comments.first(); print( comments.toArray() ) ```
Security
Need to report a security vulnerability? Send us an email to support@crowdsourcedtesting.com or go directly to our security bug bounty site https://hackerone.com/leantesting.
Development
Install dependencies:
pip install -e .
Tests
Install dependencies as mentioned above, then you can run the test suite:
python -m unittest2 discover
Contributing
Please see CONTRIBUTING for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file leantesting-1.2.0.tar.gz.
File metadata
- Download URL: leantesting-1.2.0.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fa51d3e83e268990a811d889e5dc6983764a1c53357af0d7200ec7f392c42c5
|
|
| MD5 |
9a273580c6d957cb8a054e8bfd242a70
|
|
| BLAKE2b-256 |
b17d5eb1ca7dd06179a6ee078399c65b3d234ac369d951fdbc0d99d983a9411b
|