kirov117 / leantesting-python

Lean Testing Instant Bug Report Python Client Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LeanTestingSDK_Python

####Lean Testing Python Client Library

Uses the Lean Testing API

######/////////////////////////////////////////////////////////////////////////////////////

  • Including Lean Testing Python SDK
from LeanTestingSDK.PyClient import PyClient as LeanTestingClient
  • Creating a new instance
LT = LeanTestingClient()

######/////////////////////////////////////////////////////////////////////////////////////

  • Get Current Token
LT.getCurrentToken()
  • Attach New Token
LT.attachToken('9ErdKZXpGPnvHuJ9di92eAFqrp14GKvfHMyclGGh')
  • Generate Authorization URL
generatedURL = LT.auth.generateAuthLink(
	'DHxaSvtpl91Xos4vb7d0GKkXRu0GJxd5Rdha2HHx',
	'https://www.example.com/appurl/',
	'admin',
	'a3ahdh2iqhdasdasfdjahf26'
)
print( generatedURL )
  • Exchange Authorization Code For Access TOKEN
token = LT.auth.exchangeAuthCode(
	'DHxaSvtpl91Xos4vb7d0GKkXRu0GJxd5Rdha2HHx',
	'DpOZxNbeL1arVbjUINoA9pOhgS8FNQsOkpE4CtXU',
	'authorization_code',
	'sOgY2DT47B2K0bqashnk0E6wUaYgbbspwdy9kGrk',
	'https://www.example.com/appurl/'
)
print( token )

######/////////////////////////////////////////////////////////////////////////////////////

  • Get User Information
LT.user.getInformation()
  • Get User Organizations
LT.user.organizations.all().toArray()

######/////////////////////////////////////////////////////////////////////////////////////

  • List All Projects
LT.projects.all().toArray()
  • Create A New Project
newProject = LT.projects.create({
	'name': 'Project135',
	'organization_id': 5779
})
print( newProject.data )
  • Retrieve An Existing Project
LT.projects.find(3515).data
  • List Project Sections
LT.projects.find(3515).sections.all().toArray()
  • Adding A Project Section
newSection = LT.projects.find(3515).sections.create({
	'name': 'SectionName'
})
print( newSection.data )
  • List Project Versions
LT.projects.find(3515).versions.all().toArray()
  • Adding A Project Version
newVersion = LT.projects.find(3515).versions.create({
	'number': 'v0.3.1104'
})
print( newVersion.data )
  • List Project Users
LT.projects.find(3515).users.all().toArray()
  • List Bug Type Scheme
LT.projects.find(3515).bugTypeScheme.all().toArray()
  • List Bug Status Scheme
LT.projects.find(3515).bugStatusScheme.all().toArray()
  • List Bug Severity Scheme
LT.projects.find(3515).bugSeverityScheme.all().toArray()
  • List Bug Reproducibility Scheme
LT.projects.find(3515).bugReproducibilityScheme.all().toArray()

######/////////////////////////////////////////////////////////////////////////////////////

  • List All Bugs In A Project
LT.projects.find(3515).bugs.all().toArray()
  • Create A New Bug
newBug = LT.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
LT.bugs.find(38483).data
  • Update A Bug
updatedBug = LT.bugs.update(118622, {
	'title': 'Updated title',
	'status_id': 1,
	'severity_id': 2,
	'project_version_id': 10242
})
print( updatedBug.data )
  • Delete A Bug
LT.bugs.delete(118622)

######/////////////////////////////////////////////////////////////////////////////////////

  • List Bug Comments
LT.bugs.find(38483).comments.all().toArray()

######/////////////////////////////////////////////////////////////////////////////////////

  • List Bug Attachments
LT.bugs.find(38483).attachments.all().toArray()
  • Upload An Attachment
filePath = '/place/Downloads/Images/1370240743_2294218.jpg'
newAttachment = LT.bugs.find(38483).attachments.upload(filePath)
print( newAttachment.data )
  • Retrieve An Existing Attachment
LT.attachments.find(21515).data
  • Delete An Attachment
LT.attachments.delete(75258)

######/////////////////////////////////////////////////////////////////////////////////////

  • List Platform Types
LT.platform.types.all().toArray()
  • Retrieve Platform Type
LT.platform.types.find(1).data
  • List Platform Devices
LT.platform.types.find(1).devices.all().toArray()
  • Retrieve Existing Device
LT.platform.devices.find(11).data
  • List OS
LT.platform.os.all().toArray()
  • Retrieve Existing OS
LT.platform.os.find(1).data
  • List OS Versions
LT.platform.os.find(1).versions.all().toArray()
  • List Browsers
LT.platform.browsers.all().toArray()
  • Retrieve Existing Browser
LT.platform.browsers.find(1).data
  • List Browser Versions
LT.platform.browsers.find(1).versions.all().toArray()

######/////////////////////////////////////////////////////////////////////////////////////

  • Using Filters
LT.projects.find(3515).bugs.all({'limit': 2, 'page': 5}).toArray()
  • Entity List Functions
browsers = LT.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 = LT.bugs.find(38483).comments.all({'limit': 1})
for page in comments:
	print( page )
  • Entity List Manual Iteration
comments = LT.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() )

######/////////////////////////////////////////////////////////////////////////////////////

About

Lean Testing Instant Bug Report Python Client Library

License:Other


Languages

Language:Python 100.0%