Skip to main content

Python interface to TestTrackPro SOAP API

Project description

TestTrack Pro is the Issue Management software from Seapine Software

TestTrack is a registered trademark of Seapine Software. http://www.seapine.com/testtrack.html

This library uses the suds library to talk to the TestTrack SDK SOAP API and includes some helpful extensions for managing your client code and interactions. There are a number of issues (and crashes) when talking to the latest TestTrack SOAP API using suds, and this library addresses those.

While this module is named testtrackpro it will work with TestTrack RM (Requirement Management) and TestTrack TCM (Test Case Management).

The TestTrack SOAP API uses a client cookie for managing login sessions. This cookie must be supplied on (almost) every API call. This library provides a client wrapper object which will manage the session cookie, and even releasing the cookie (logging off) as part of a context exit.

The TestTrack SOAP API includes entity edit locking where a write lock is implicit in every edit API call. The client must release the lock with either a save or cancelSave API call. The lock will remain for 15 minuites, making other attepts to edit fail on the entity.

Python contexts allow for dealing with safely releasing locks on success or error. All objects returned form API calls which start with the string ‘edit’ will return a context object that can be used with the ‘with’ statement. At the end of the statement block the appropriate ‘save’ API call will be made. If an exception occurs in the block, the appropriate ‘cancelSave’ API call will be made. In either situation the lock will be released.

import testtrackpro
with testtrackpro.TTP('http://hostname/', 'Project', 'username', 'password') as ttp:
    with ttp.editDefect(11, bDownloadAttachments=False) as defect:
        defect.priority = "Immediate"
    ## ttp.saveDefect(defect) is called, or ttp.cancelSave(defect.recordid) on exception.
## ttp.DatabaseLogoff() is called, even if an exception occured.

Additionally there is a new special edit context API extension when using python contexts for ignoring the edit lock error, when someone else has the edit lock on an entity. This is very useful when you do not want your script or service to error out on a failed edit lock, but instead want to continue processing.

import testtrackpro
with testtrackpro.TTP('http://hostname/', 'Project', 'username', 'password') as ttp:
    with ttp.editDefect(11, bDownloadAttachments=False, ignoreEditLockError=True) as defect:
        defect.priority = "Immediate"
    ## ttp.saveDefect(defect) is called, or ttp.cancelSave(defect.recordid) on exception.

    assert not testtrackpro.have_edit_lock(defect)

    if testtrackpro.was_saved(defect):
        # The priority was changed
        pass
    elif testtrackpro.has_errored(defect):
        # It was not saved due to an error
        pass
        if testtrackpro.edit_lock_failed(defect):
            # because the edit lock failed
            pass
        else:
            # because of some other error
            # NOTE: unless there was other code to catch and ignore the
            #       error, this code is unreachable.
            pass
## ttp.DatabaseLogoff() is called, even if an exception occured.

References

Project:

External:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

testtrackpro-1.0.1.tar.gz (17.8 kB view details)

Uploaded Source

File details

Details for the file testtrackpro-1.0.1.tar.gz.

File metadata

File hashes

Hashes for testtrackpro-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7bdfaa9998de7a706c9fb099dfff2fc184315126f56f5649d6ab79e50e5eaf3d
MD5 82b8eb23b66fec16fbf72a6705e7e660
BLAKE2b-256 bccf9f4f2c360ab51690db7572078265196bb4db6f73623b56b1768b93480a05

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page