Nitrate XML-RPC Service API

来源:互联网 发布:建筑工程优化设计方案 编辑:程序博客网 时间:2024/05/22 06:55

Nitrate XML-RPC Service(Beta)

You need to invoke it using an XML-RPC Client!

python-nitrate is a Python interface to the Nitrate test case management system.

Changes from testopia

  • [Model].filter- The 'filter' method is the replacement of list method in testopia.
    It's a full featured wrapper of the 'filter' method of Django QuerySet.

    It have following star features:
    • Relationship- For example to get all of test cases belong to 'RHEL 5'
      We use the category path for recommend:
      >>> TestCase.filter({'category__product__name': 'Red Hat Enterprise Linux 5'})
    • Field lookups- For example to get all test cases with summary starts with 'test':
      >>> TestCase.filter({'summary__startswith': 'test'})
      Access this URL for more information.

  • [Model].filter_count - See [Model].filter.
  • Multiple operations- In Nitrate, most of functions are change to support multiple operations,
    including add_bug, remove_bug, add_tag, remove_tag
  • Argument and response changes- Most of the function argument are compatible with testopia,
    exclude some special function that not supported or deprecated.
    And the response changes to hash not a array of hash, not just a array only.

How to handle ForeignKey arguments

In addition to the basic types such as Integers, Strings, Boolean, there is a relationship type called ForeignKey.

The syntax of using ForeignKey in our XMLRPC API is quite simple:

foreignkey + '__' + fieldname + '__' + query_syntax.

Taking TestCase.filter() for example, if the query is based on a default_tester's username starts with 'John', the syntax will look like this:

TestCase.filter({'user__username__startswith': 'John'})

In which case, the foreignkey is 'user', fieldname is 'username', and query_syntax is 'startswith', they are joined together using double underscores '__'.

For all the XMLRPC API, we have listed the available ForeignKey, however, for the available foreignkey field names that can be used in a query, please check out Nitrate source code onfedora. The definitions are located in files named 'models.py'; for a detailed query syntax documentation, please check out the Django documentation:

https://docs.djangoproject.com/en/1.2/topics/db/queries/#field-lookups

Available methods

  • Auth.login
  • Auth.login_krbv
  • Auth.logout
  • Build.check_build
  • Build.create
  • Build.get
  • Build.get_caseruns
  • Build.get_runs
  • Build.lookup_id_by_name
  • Build.lookup_name_by_id
  • Build.update
  • Env.filter_groups
  • Env.filter_properties
  • Env.filter_values
  • Env.get_properties
  • Env.get_values
  • Product.add_component
  • Product.add_version
  • Product.check_category
  • Product.check_component
  • Product.check_product
  • Product.filter
  • Product.filter_categories
  • Product.filter_components
  • Product.filter_versions
  • Product.get
  • Product.get_builds
  • Product.get_cases
  • Product.get_categories
  • Product.get_category
  • Product.get_component
  • Product.get_components
  • Product.get_environments
  • Product.get_milestones
  • Product.get_plans
  • Product.get_runs
  • Product.get_tag
  • Product.get_versions
  • Product.lookup_id_by_name
  • Product.lookup_name_by_id
  • Product.update_component
  • Tag.get_tags
  • TestCase.add_comment
  • TestCase.add_component
  • TestCase.add_tag
  • TestCase.add_to_run
  • TestCase.attach_bug
  • TestCase.calculate_average_estimated_time
  • TestCase.calculate_total_estimated_time
  • TestCase.check_case_status
  • TestCase.check_priority
  • TestCase.create
  • TestCase.detach_bug
  • TestCase.filter
  • TestCase.filter_count
  • TestCase.get
  • TestCase.get_bug_systems
  • TestCase.get_bugs
  • TestCase.get_case_run_history
  • TestCase.get_case_status
  • TestCase.get_change_history
  • TestCase.get_components
  • TestCase.get_plans
  • TestCase.get_priority
  • TestCase.get_tags
  • TestCase.get_text
  • TestCase.link_plan
  • TestCase.lookup_category_id_by_name
  • TestCase.lookup_category_name_by_id
  • TestCase.lookup_priority_id_by_name
  • TestCase.lookup_priority_name_by_id
  • TestCase.lookup_status_id_by_name
  • TestCase.lookup_status_name_by_id
  • TestCase.notification_add_cc
  • TestCase.notification_get_cc_list
  • TestCase.notification_remove_cc
  • TestCase.remove_component
  • TestCase.remove_tag
  • TestCase.store_text
  • TestCase.unlink_plan
  • TestCase.update
  • TestCasePlan.get
  • TestCasePlan.update
  • TestCaseRun.add_comment
  • TestCaseRun.attach_bug
  • TestCaseRun.attach_log
  • TestCaseRun.check_case_run_status
  • TestCaseRun.create
  • TestCaseRun.detach_bug
  • TestCaseRun.detach_log
  • TestCaseRun.filter
  • TestCaseRun.filter_count
  • TestCaseRun.get
  • TestCaseRun.get_bugs
  • TestCaseRun.get_bugs_s
  • TestCaseRun.get_case_run_status
  • TestCaseRun.get_completion_time
  • TestCaseRun.get_completion_time_s
  • TestCaseRun.get_history
  • TestCaseRun.get_history_s
  • TestCaseRun.get_logs
  • TestCaseRun.get_s
  • TestCaseRun.lookup_status_id_by_name
  • TestCaseRun.lookup_status_name_by_id
  • TestCaseRun.update
  • TestPlan.add_component
  • TestPlan.add_tag
  • TestPlan.check_plan_type
  • TestPlan.create
  • TestPlan.filter
  • TestPlan.filter_count
  • TestPlan.get
  • TestPlan.get_all_cases_tags
  • TestPlan.get_change_history
  • TestPlan.get_components
  • TestPlan.get_env_groups
  • TestPlan.get_plan_type
  • TestPlan.get_product
  • TestPlan.get_tags
  • TestPlan.get_test_cases
  • TestPlan.get_test_runs
  • TestPlan.get_text
  • TestPlan.import_case_via_XML
  • TestPlan.lookup_type_id_by_name
  • TestPlan.lookup_type_name_by_id
  • TestPlan.remove_component
  • TestPlan.remove_tag
  • TestPlan.store_text
  • TestPlan.update
  • TestRun.add_cases
  • TestRun.add_tag
  • TestRun.create
  • TestRun.env_value
  • TestRun.filter
  • TestRun.filter_count
  • TestRun.get
  • TestRun.get_bugs
  • TestRun.get_change_history
  • TestRun.get_completion_report
  • TestRun.get_env_values
  • TestRun.get_tags
  • TestRun.get_test_case_runs
  • TestRun.get_test_cases
  • TestRun.get_test_plan
  • TestRun.link_env_value
  • TestRun.remove_cases
  • TestRun.remove_tag
  • TestRun.unlink_env_value
  • TestRun.update
  • Testopia.api_version
  • Testopia.log_call
  • Testopia.nitrate_version
  • Testopia.tcms_version
  • Testopia.testopia_version
  • User.filter
  • User.get
  • User.get_me
  • User.join
  • User.update
  • Version.get

Descriptions

Auth.login

Description: Login into NitrateParams:      $parameters - Hash: keys must match valid search fields.+-------------------------------------------------------------------+|                    Login Parameters                               |+-------------------------------------------------------------------+|        Key          |          Valid Values                       || username            | A nitrate login (email address)             || password            | String                                      |+-------------------------------------------------------------------+Returns:     String: Session ID.Example:>>> Auth.login({'username': 'foo', 'password': 'bar'})

Auth.login_krbv

Description: Login into the Nitrate deployed with mod_auth_kerbReturns:     String: Session ID.Example:$ kinitPassword for username@example.com:$ python>>> Auth.login_krbv()

Auth.logout

Description: Delete session information.

Build.check_build

Description: Looks up and returns a build by name.Params:      $name - String: name of the build.             $product - product_id of the product in the DatabaseReturns:     Hash: Matching Build object hash or error if not found.Example:# Get with product ID>>> Build.check_build('2008-02-25', 61)# Get with product name>>> Build.check_build('2008-02-25', 'Red Hat Enterprise Linux 5')

Build.create

Description: Creates a new build object and stores it in the databaseParams:      $values - Hash: A reference to a hash with keys and values             matching the fields of the build to be created.    +-------------+----------------+-----------+---------------------------+    | Field       | Type           | Null      | Description               |    +-------------+----------------+-----------+---------------------------+    | product     | Integer/String | Required  | ID or Name of product     |    | name        | String         | Required  |                           |    | description | String         | Optional  |                           |    | is_active   | Boolean        | Optional  | Defaults to True (1)      |    +-------------+----------------+-----------+---------------------------+Returns:     The newly created object hash.Example:# Create build by product ID and set the build active.>>> Build.create({'product': 234, 'name': 'tcms_testing', 'description': 'None', 'is_active': 1})# Create build by product name and set the build to inactive.>>> Build.create({'product': 'TCMS', 'name': 'tcms_testing 2', 'description': 'None', 'is_active': 0})

Build.get

Description: Used to load an existing build from the database.Params:      $id - An integer representing the ID in the databaseReturns:     A blessed Build object hashExample:>>> Build.get(1234)

Build.get_caseruns

Description: Returns the list of case-runs that this Build is used in.Params:      $id -  Integer: Build ID.Returns:     Array: List of case-run object hashes.Example:>>> Build.get_caseruns(1234)

Build.get_runs

Description: Returns the list of runs that this Build is used in.Params:      $id -  Integer: Build ID.Returns:     Array: List of run object hashes.Example:>>> Build.get_runs(1234)

Build.lookup_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use Build.check_build instead

Build.lookup_name_by_id

DEPRECATED Use Build.get instead

Build.update

Description: Updates the fields of the selected build or builds.Params:      $id - Integer: A single build ID.             $values - Hash of keys matching Build fields and the new values             to set each field to.    +-------------+----------------+-----------+---------------------------+    | Field       | Type           | Null      | Description               |    +-------------+----------------+-----------+---------------------------+    | product     | Integer/String | Optional  | ID or Name of product     |    | name        | String         | Optional  |                           |    | description | String         | Optional  |                           |    | is_active   | Boolean        | Optional  | True/False                |    +-------------+----------------+-----------+---------------------------+Returns:     Hash: The updated Build object hash.Example:# Update name to 'foo' for build id 702>>> Build.update(702, {'name': 'foo'})# Update status to inactive for build id 702>>> Build.update(702, {'is_active': 0})

Env.filter_groups

Description: Performs a search and returns the resulting list of env groups.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|               Product Search Parameters                          |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of env group                   || name                | String                                     || manager             | ForeignKey: Auth.user                      || modified_by         | ForeignKey: Auth.user                      || is_active           | Boolean                                    || property            | ForeignKey: TCMSEnvProperty                |+------------------------------------------------------------------+Returns:     Array: Matching env groups are retuned in a list of hashes.Example:# Get all of env group name contains 'Desktop'>>> Env.filter_groups({'name__icontains': 'Desktop'})

Env.filter_properties

Description: Performs a search and returns the resulting list of env properties.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|               Product Search Parameters                          |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of env properties              || name                | String                                     || is_active           | Boolean                                    || group               | ForeignKey: TCMSEnvGroup                   || value               | ForeignKey: TCMSEnvValues                   |+------------------------------------------------------------------+Returns:     Array: Matching env properties are retuned in a list of hashes.Example:# Get all of env properties name contains 'Desktop'>>> Env.filter_properties({'name__icontains': 'Desktop'})

Env.filter_values

Description: Performs a search and returns the resulting list of env properties.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|               Product Search Parameters                          |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of env value                   || value               | String                                     || is_active           | Boolean                                    || property            | ForeignKey: TCMSEnvProperty                |+------------------------------------------------------------------+Returns:     Array: Matching env values are retuned in a list of hashes.Example:# Get all of env values name contains 'Desktop'>>> Env.filter_values({'name__icontains': 'Desktop'})

Env.get_properties

Description: Get the list of properties associated with this env group.Params:      $env_group_id - Integer: env_group_id of the env group in the Database                             Return all of properties when the argument is not specific.             $is_active    - Boolean: True to only include builds where is_active is true.                             Default: TrueReturns:     Array: Returns an array of env properties objects.Example:# Get all of properties>>> Env.get_properties()# Get the properties in group 10>>> Env.get_properties(10)

Env.get_values

Description: Get the list of values associated with this env property.Params:      $env_property_id - Integer: env_property_id of the env property in the Database                                Return all of values when the argument is not specific.             $is_active       - Boolean: True to only include builds where is_active is true.                                Default: TrueReturns:     Array: Returns an array of env values objects.Example:# Get all of properties>>> Env.get_properties()# Get the properties in group 10>>> Env.get_properties(10)

Product.add_component

Description: Add component to selected product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product name             $name    - String: Component name             [$initial_owner_id] - Integer: (OPTIONAL) The numeric ID or the login of the author.                                Defaults to logged in user.             [$initial_qa_contact_id] - Integer: (OPTIONAL) The numeric ID or the login of the author.                                     Defaults to logged in user.Returns:     Hash: Component object hash.Example:>>> Product.add_component(71, 'JPBMM')

Product.add_version

Description: Add version to specified product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product name             $value   - String                        The name of the version string.Returns:     Array: Returns the newly added version object, error info if failed.Example:# Add version for specified product:>>> Product.add_version({'value': 'devel', 'product': 272}){'product': 'QE Test Product', 'id': '1106', 'value': 'devel', 'product_id': 272}# Run it again:>>> Product.add_version({'value': 'devel', 'product': 272})[['__all__', 'Version with this Product and Value already exists.']]

Product.check_category

Description: Looks up and returns a category by name.Params:      $name - String: name of the category.             $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Hash: Matching Category object hash or error if not found.Example:# Get with product ID>>> Product.check_category('Feature', 61)# Get with product name>>> Product.check_category('Feature', 'Red Hat Enterprise Linux 5')

Product.check_component

Description: Looks up and returns a component by name.Params:      $name - String: name of the category.             $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Hash: Matching component object hash or error if not found.Example:# Get with product ID>>> Product.check_component('acpi', 61)# Get with product name>>> Product.check_component('acpi', 'Red Hat Enterprise Linux 5')

Product.check_product

Description: Looks up and returns a validated product.Params:      $name - Integer/String                     Integer: product_id of the product in the Database                     String: Product nameReturns:     Hash: Matching Product object hash or error if not found.Example:# Get with product ID>>> Product.check_product(61)# Get with product name>>> Product.check_product('Red Hat Enterprise Linux 5')

Product.filter

Description: Performs a search and returns the resulting list of products.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|               Product Search Parameters                          |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of product                     || name                | String                                     || classification      | ForeignKey: Classfication                  || description         | String                                     |+------------------------------------------------------------------+Returns:     Array: Matching products are retuned in a list of hashes.Example:# Get all of product named 'Red Hat Enterprise Linux 5'>>> Product.filter({'name': 'Red Hat Enterprise Linux 5'})

Product.filter_categories

Description: Performs a search and returns the resulting list of categories.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|              Component Search Parameters                         |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of product                     || name                | String                                     || product             | ForeignKey: Product                        || description         | String                                     |+------------------------------------------------------------------+Returns:     Array: Matching categories are retuned in a list of hashes.Example:# Get all of categories named like 'libvirt'>>> Product.filter_categories({'name__icontains': 'regression'})# Get all of categories named in product 'Red Hat Enterprise Linux 5'>>> Product.filter_categories({'product__name': 'Red Hat Enterprise Linux 5'})

Product.filter_components

Description: Performs a search and returns the resulting list of components.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|              Component Search Parameters                         |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of product                     || name                | String                                     || product             | ForeignKey: Product                        || initial_owner       | ForeignKey: Auth.User                      || initial_qa_contact  | ForeignKey: Auth.User                      || description         | String                                     |+------------------------------------------------------------------+Returns:     Array: Matching components are retuned in a list of hashes.Example:# Get all of components named like 'libvirt'>>> Product.filter_components({'name__icontains': 'libvirt'})# Get all of components named in product 'Red Hat Enterprise Linux 5'>>> Product.filter_components({'product__name': 'Red Hat Enterprise Linux 5'})

Product.filter_versions

Description: Performs a search and returns the resulting list of versions.Params:      $query - Hash: keys must match valid search fields.+------------------------------------------------------------------+|              Component Search Parameters                         |+------------------------------------------------------------------+|        Key          |          Valid Values                      || id                  | Integer: ID of product                     || value               | String                                     || product             | ForeignKey: Product                        |+------------------------------------------------------------------+Returns:     Array: Matching versions are retuned in a list of hashes.Example:# Get all of versions named like '2.4.0-SNAPSHOT'>>> Product.filter_versions({'value__icontains': '2.4.0-SNAPSHOT'})# Get all of filter_versions named in product 'Red Hat Enterprise Linux 5'>>> Product.filter_versions({'product__name': 'Red Hat Enterprise Linux 5'})

Product.get

Description: Used to load an existing product from the database.Params:      $id - An integer representing the ID in the databaseReturns:     A blessed TCMS Product object hashExample:>>> Product.get(61)

Product.get_builds

Description: Get the list of builds associated with this product.Params:      $product  -  Integer/String                          Integer: product_id of the product in the Database                          String: Product name             $is_active - Boolean: True to only include builds where is_active is true.                          Default: TrueReturns:     Array: Returns an array of Build objects.Example:# Get with product id including all builds>>> Product.get_builds(61)# Get with product name excluding all inactive builds>>> Product.get_builds('Red Hat Enterprise Linux 5', 0)

Product.get_cases

Description: Get the list of cases associated with this product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Array: Returns an array of TestCase objects.Example:# Get with product id>>> Product.get_cases(61)# Get with product name>>> Product.get_cases('Red Hat Enterprise Linux 5')

Product.get_categories

Description: Get the list of categories associated with this product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Array: Returns an array of Case Category objects.Example:# Get with product id>>> Product.get_categories(61)# Get with product name>>> Product.get_categories('Red Hat Enterprise Linux 5')

Product.get_category

Description: Get the category matching the given id.Params:      $id - Integer: ID of the category in the database.Returns:     Hash: Category object hash.Example:>>> Product.get_category(11)

Product.get_component

Description: Get the component matching the given id.Params:      $id - Integer: ID of the component in the database.Returns:     Hash: Component object hash.Example:>>> Product.get_component(11)

Product.get_components

Description: Get the list of components associated with this product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Array: Returns an array of Component objects.Example:# Get with product id>>> Product.get_components(61)# Get with product name>>> Product.get_components('Red Hat Enterprise Linux 5')

Product.get_environments

FIXME: NOT IMPLEMENTED

Product.get_milestones

FIXME: NOT IMPLEMENTED

Product.get_plans

Description: Get the list of plans associated with this product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Array: Returns an array of Test Plan objects.Example:# Get with product id>>> Product.get_plans(61)# Get with product name>>> Product.get_plans('Red Hat Enterprise Linux 5')

Product.get_runs

Description: Get the list of runs associated with this product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Array: Returns an array of Test Run objects.Example:# Get with product id>>> Product.get_runs(61)# Get with product name>>> Product.get_runs('Red Hat Enterprise Linux 5')

Product.get_tag

Description: Get the list of tags.Params:      $id   - Integer: ID of the tag in the database.Returns:     Array: Returns an array of Tags objects.Example:>>> Product.get_tag(10)

Product.get_versions

Description: Get the list of versions associated with this product.Params:      $product - Integer/String                        Integer: product_id of the product in the Database                        String: Product nameReturns:     Array: Returns an array of Version objects.Example:# Get with product id>>> Product.get_runs(61)# Get with product name>>> Product.get_runs('Red Hat Enterprise Linux 5')

Product.lookup_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use Product.check_product instead

Product.lookup_name_by_id

DEPRECATED Use Product.get instead

Product.update_component

Description: Update component to selected product.Params:      $component_id - Integer: ID of the component in the database.             $values   - Hash of keys matching TestCase fields and the new values                         to set each field to.    +-----------------------+----------------+-----------------------------------------+    | Field                 | Type           | Null                                    |    +-----------------------+----------------+-----------------------------------------+    | name                  | String         | Optional                                |    | initial_owner_id      | Integer        | Optional(int - user_id)                 |    | initial_qa_contact_id | Integer        | Optional(int - user_id)                 |    +-----------------------+----------------+-----------------------------------------+Returns:     Hash: Component object hash.Example:>>> Product.update_component(71, {'name': 'NewName'})

Tag.get_tags

Description:  Get the list of tags.Params:      $values - Hash: keys must match valid search fields.    +------------------------------------------------------------+    |                   tag Search Parameters                    |    +------------------------------------------------------------+    | Key                     | Valid Values                     |    | ids                     | List of Integer                  |    | names                   | List of String                   |    +------------------------------------------------------------+Returns:     Array: An array of tag object hashes.Example:>>> values= {'ids': [121, 123]}>>> Tag.get_tags(values)

TestCase.add_comment

Description: Adds comments to selected test cases.Params:      $case_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids.             $comment - String - The commentReturns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add comment 'foobar' to case 1234>>> TestCase.add_comment(1234, 'foobar')# Add 'foobar' to cases list [56789, 12345]>>> TestCase.add_comment([56789, 12345], 'foobar')# Add 'foobar' to cases list '56789, 12345' with String>>> TestCase.add_comment('56789, 12345', 'foobar')

TestCase.add_component

Description: Adds one or more components to the selected test cases.Params:      $case_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids.             $component_ids - Integer/Array/String - The component ID, an array of Component IDs                              or a comma separated list of component IDsReturns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add component id 54321 to case 1234>>> TestCase.add_component(1234, 54321)# Add component ids list [1234, 5678] to cases list [56789, 12345]>>> TestCase.add_component([56789, 12345], [1234, 5678])# Add component ids list '1234, 5678' to cases list '56789, 12345' with String>>> TestCase.add_component('56789, 12345', '1234, 5678')

TestCase.add_tag

Description: Add one or more tags to the selected test cases.Params:     $case_ids - Integer/Array/String: An integer representing the ID in the database,                        an array of case_ids, or a string of comma separated case_ids.            $tags - String/Array - A single tag, an array of tags,                    or a comma separated list of tags.Returns:    Array: empty on success or an array of hashes with failure                   codes if a failure occured.Example:# Add tag 'foobar' to case 1234>>> TestCase.add_tag(1234, 'foobar')# Add tag list ['foo', 'bar'] to cases list [12345, 67890]>>> TestCase.add_tag([12345, 67890], ['foo', 'bar'])# Add tag list ['foo', 'bar'] to cases list [12345, 67890] with String>>> TestCase.add_tag('12345, 67890', 'foo, bar')

TestCase.add_to_run

Description: Add one or more cases to the selected test runs.Params:      $case_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids.             $run_ids - Integer/Array/String: An integer representing the ID in the database                         an array of IDs, or a comma separated list of IDs.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add case 1234 to run id 54321>>> TestCase.add_to_run(1234, 54321)# Add case ids list [56789, 12345] to run list [1234, 5678]>>> TestCase.add_to_run([56789, 12345], [1234, 5678])# Add case ids list 56789 and 12345 to run list 1234 and 5678 with String>>> TestCase.add_to_run('56789, 12345', '1234, 5678')

TestCase.attach_bug

Description: Add one or more bugs to the selected test cases.Params:     $values - Array/Hash: A reference to a hash or array of hashes with keys and values                                  matching the fields of the test case bug to be created.  +-------------------+----------------+-----------+-------------------------------+  | Field             | Type           | Null      | Description                   |  +-------------------+----------------+-----------+-------------------------------+  | case_id           | Integer        | Required  | ID of Case                    |  | bug_id            | Integer        | Required  | ID of Bug                     |  | bug_system_id     | Integer        | Required  | 1: BZ(Default), 2: JIRA       |  | summary           | String         | Optional  | Bug summary                   |  | description       | String         | Optional  | Bug description               |  +-------------------+----------------+-----------+-------------------------------+Returns:     Array: empty on success or an array of hashes with failure             codes if a failure occured.Example:>>> TestCase.attach_bug({    'case_id': 12345,    'bug_id': 67890,    'bug_system_id': 1,    'summary': 'Testing TCMS',    'description': 'Just foo and bar',})

TestCase.calculate_average_estimated_time

Description: Returns an average estimated time for cases.Params:      $case_ids - Integer/String: An integer representing the ID in the database.Returns:     String: Time in "HH:MM:SS" format.Example:>>> TestCase.calculate_average_time([609, 610, 611])

TestCase.calculate_total_estimated_time

Description: Returns an total estimated time for cases.Params:      $case_ids - Integer/String: An integer representing the ID in the database.Returns:     String: Time in "HH:MM:SS" format.Example:>>> TestCase.calculate_total_time([609, 610, 611])

TestCase.check_case_status

Description: Looks up and returns a case status by name.Params:      $name - String: name of the case status.Returns:     Hash: Matching case status object hash or error if not found.Example:>>> TestCase.check_case_status('proposed')

TestCase.check_priority

Description: Looks up and returns a priority by name.Params:      $value - String: name of the priority.Returns:     Hash: Matching priority object hash or error if not found.Example:>>> TestCase.check_priority('p1')

TestCase.create

Description: Creates a new Test Case object and stores it in the database.Params:      $values - Array/Hash: A reference to a hash or array of hashes with keys and values             matching the fields of the test case to be created.  +----------------------------+----------------+-----------+---------------------------------------+  | Field                      | Type           | Null      | Description                           |  +----------------------------+----------------+-----------+---------------------------------------+  | product                    | Integer        | Required  | ID of Product                         |  | category                   | Integer        | Required  | ID of Category                        |  | priority                   | Integer        | Required  | ID of Priority                        |  | summary                    | String         | Required  |                                       |  | case_status                | Integer        | Optional  | ID of case status                     |  | plan                       | Array/Str/Int  | Optional  | ID or List of plan_ids                |  | component                  | Integer/String | Optional  | ID of Priority                        |  | default_tester             | String         | Optional  | Login of tester                       |  | estimated_time             | String         | Optional  | 2h30m30s(recommend) or HH:MM:SS Format|  | is_automated               | Integer        | Optional  | 0: Manual, 1: Auto, 2: Both           |  | is_automated_proposed      | Boolean        | Optional  | Default 0                             |  | script                     | String         | Optional  |                                       |  | arguments                  | String         | Optional  |                                       |  | requirement                | String         | Optional  |                                       |  | alias                      | String         | Optional  | Must be unique                        |  | action                     | String         | Optional  |                                       |  | effect                     | String         | Optional  | Expected Result                       |  | setup                      | String         | Optional  |                                       |  | breakdown                  | String         | Optional  |                                       |  | tag                        | Array/String   | Optional  | String Comma separated                |  | bug                        | Array/String   | Optional  | String Comma separated                |  | extra_link                 | String         | Optional  | reference link                        |  +----------------------------+----------------+-----------+---------------------------------------+Returns:     Array/Hash: The newly created object hash if a single case was created, or                         an array of objects if more than one was created. If any single case threw an                         error during creation, a hash with an ERROR key will be set in its place.Example:# Minimal test case parameters>>> values = {    'category': 135,    'product': 61,    'summary': 'Testing XML-RPC',    'priority': 1,}>>> TestCase.create(values)

TestCase.detach_bug

Description: Remove one or more bugs to the selected test cases.Params:      $case_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids             $bug_ids - Integer/Array/String: An integer representing the ID in the database,                       an array of bug_ids, or a string of comma separated primary key of bug_ids.Returns:     Array: empty on success or an array of hashes with failure             codes if a failure occured.Example:# Remove bug id 54321 from case 1234>>> TestCase.detach_bug(1234, 54321)# Remove bug ids list [1234, 5678] from cases list [56789, 12345]>>> TestCase.detach_bug([56789, 12345], [1234, 5678])# Remove bug ids list '1234, 5678' from cases list '56789, 12345' with String>>> TestCase.detach_bug('56789, 12345', '1234, 5678')

TestCase.filter

Description: Performs a search and returns the resulting list of test cases.Params:      $query - Hash: keys must match valid search fields.    +------------------------------------------------------------------+    |                 Case Search Parameters                           |    +------------------------------------------------------------------+    |        Key          |          Valid Values                      |    | author              | A bugzilla login (email address)           |    | attachment          | ForeignKey: Attchment                      |    | alias               | String                                     |    | case_id             | Integer                                    |    | case_status         | ForeignKey: Case Stat                      |    | category            | ForeignKey: Category                       |    | component           | ForeignKey: Component                      |    | default_tester      | ForeignKey: Auth.User                      |    | estimated_time      | String: 2h30m30s(recommend) or HH:MM:SS    |    | plan                | ForeignKey: Test Plan                      |    | priority            | ForeignKey: Priority                       |    | category__product   | ForeignKey: Product                        |    | summary             | String                                     |    | tags                | ForeignKey: Tags                           |    | create_date         | Datetime                                   |    | is_automated        | 1: Only show current 0: show not current   |    | script              | Text                                       |    +------------------------------------------------------------------+Returns:     Array: Matching test cases are retuned in a list of hashes.Example:# Get all of cases contain 'TCMS' in summary>>> TestCase.filter({'summary__icontain': 'TCMS'})# Get all of cases create by xkuang>>> TestCase.filter({'author__username': 'xkuang'})# Get all of cases the author name starts with x>>> TestCase.filter({'author__username__startswith': 'x'})# Get all of cases belong to the plan 137>>> TestCase.filter({'plan__plan_id': 137})# Get all of cases belong to the plan create by xkuang>>> TestCase.filter({'plan__author__username': 'xkuang'})# Get cases with ID 12345, 23456, 34567 - Here is only support array so far.>>> TestCase.filter({'case_id__in': [12345, 23456, 34567]})

TestCase.filter_count

Description: Performs a search and returns the resulting count of cases.Params:      $values - Hash: keys must match valid search fields (see filter).Returns:     Integer - total matching cases.Example:# See TestCase.filter()

TestCase.get

Description: Used to load an existing test case from the database.Params:      $id - Integer/String: An integer representing the ID in the databaseReturns:     A blessed TestCase object HashExample:>>> TestCase.get(1193)

TestCase.get_bug_systems

Description: Used to load an existing test case bug system from the database.Params:      $id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of bug object hashes.Example:>>> TestCase.get_bug_systems(1)

TestCase.get_bugs

Description: Get the list of bugs that are associated with this test case.Params:      $case_ids - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of bug object hashes.Example:# Get bugs belong to ID 12345>>> TestCase.get_bugs(12345)# Get bug belong to case ids list [12456, 23456]>>> TestCase.get_bugs([12456, 23456])# Get bug belong to case ids list 12456 and 23456 with string>>> TestCase.get_bugs('12456, 23456')

TestCase.get_case_run_history

*** FIXME: NOT IMPLEMENTED - Case run history is different than before***Description: Get the list of case-runs for all runs this case appears in.             To limit this list by build or other attribute, see TestCaseRun.filter.Params:      $case_id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of case-run object hashes.Example:>>> TestCase.get_case_run_history(12345)

TestCase.get_case_status

Description: Get the case status matching the given id.Params:      $id - Integer: ID of the case status in the database.Returns:     Hash: case status object hash.Example:# Get all of case status>>> TestCase.get_case_status()# Get case status by ID 1>>> TestCase.get_case_status(1)

TestCase.get_change_history

*** FIXME: NOT IMPLEMENTED - Case history is different than before***Description: Get the list of changes to the fields of this case.Params:      $case_id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of hashes with changed fields and their details.Example:>>> TestCase.get_change_history(12345)

TestCase.get_components

"Description: Get the list of components attached to this case.Params:      $case_id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of component object hashes.Example:>>> TestCase.get_components(12345)

TestCase.get_plans

Description: Get the list of plans that this case is linked to.Params:      $case_id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of test plan object hashes.Example:>>> TestCase.get_plans(12345)

TestCase.get_priority

Description: Get the priority matching the given id.Params:      $id - Integer: ID of the priority in the database.Returns:     Hash: Priority object hash.Example:>>> TestCase.get_priority(1)

TestCase.get_tags

Description: Get the list of tags attached to this case.Params:      $case_id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of tag object hashes.Example:>>> TestCase.get_tags(12345)

TestCase.get_text

Description: The associated large text fields: Action, Expected Results, Setup, Breakdown             for a given version.Params:      $case_id - Integer/String: An integer representing the ID in the database             $version - Integer: (OPTIONAL) The version of the text you want returned.                        Defaults to the latest.Returns:     Hash: case text object hash.Example:# Get all latest case text>>> TestCase.get_text(12345)# Get all case text with version 4>>> TestCase.get_text(12345, 4)

TestCase.link_plan

"Description: Link test cases to the given plan.Params:      $case_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids.             $plan_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of plan_ids, or a string of comma separated plan_ids.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occursExample:# Add case 1234 to plan id 54321>>> TestCase.link_plan(1234, 54321)# Add case ids list [56789, 12345] to plan list [1234, 5678]>>> TestCase.link_plan([56789, 12345], [1234, 5678])# Add case ids list 56789 and 12345 to plan list 1234 and 5678 with String>>> TestCase.link_plan('56789, 12345', '1234, 5678')

TestCase.lookup_category_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use Product.check_category instead

TestCase.lookup_category_name_by_id

DEPRECATED - CONSIDERED HARMFUL Use Product.get_category instead

TestCase.lookup_priority_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use TestCase.check_priority instead

TestCase.lookup_priority_name_by_id

DEPRECATED - CONSIDERED HARMFUL Use TestCase.get_priority instead

TestCase.lookup_status_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use TestCase.check_case_status instead

TestCase.lookup_status_name_by_id

DEPRECATED - CONSIDERED HARMFUL Use TestCase.get_case_status instead

TestCase.notification_add_cc

Description: Add email addresses to the notification CC list of specific TestCasesParams:      $case_ids - Integer/Array: one or more TestCase IDs             $cc_list - Array: one or more Email addresses, which will be                        added to each TestCase indicated by the case_ids.Returns:     JSON. When succeed, status is 0, and message maybe empty or             anything else that depends on the implementation. If something             wrong, status will be 1 and message will be a short description             to the error.

TestCase.notification_get_cc_list

Description: Return whole CC list of each TestCaseParams:      $case_ids - Integer/Array: one or more TestCase IDsReturns:     An dictionary object with case_id as key and a list of CC as the value             Each case_id will be converted to a str object in the result.

TestCase.notification_remove_cc

Description: Remove email addresses from the notification CC list of specific TestCasesParams:      $case_ids - Integer/Array: one or more TestCase IDs             $cc_list - Array: contians the email addresses that will                        be removed from each TestCase indicated by case_ids.Returns:     JSON. When succeed, status is 0, and message maybe empty or             anything else that depends on the implementation. If something             wrong, status will be 1 and message will be a short description             to the error.

TestCase.remove_component

Description: Removes selected component from the selected test case.Params:      $case_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids.             $component_ids - Integer: - The component ID to be removed.Returns:     Array: Empty on success.Example:# Remove component id 54321 from case 1234>>> TestCase.remove_component(1234, 54321)# Remove component ids list [1234, 5678] from cases list [56789, 12345]>>> TestCase.remove_component([56789, 12345], [1234, 5678])# Remove component ids list '1234, 5678' from cases list '56789, 12345' with String>>> TestCase.remove_component('56789, 12345', '1234, 5678')

TestCase.remove_tag

Description: Remove a tag from a case.Params:      $case_ids - Integer/Array/String: An integer or alias representing the ID in the database,                         an array of case_ids, or a string of comma separated case_ids.             $tags - String/Array - A single or multiple tag to be removed.Returns:     Array: Empty on success.Example:# Remove tag 'foo' from case 1234>>> TestCase.remove_tag(1234, 'foo')# Remove tag 'foo' and bar from cases list [56789, 12345]>>> TestCase.remove_tag([56789, 12345], ['foo', 'bar'])# Remove tag 'foo' and 'bar' from cases list '56789, 12345' with String>>> TestCase.remove_tag('56789, 12345', 'foo, bar')

TestCase.store_text

Description: Update the large text fields of a case.Params:      $case_id - Integer: An integer or alias representing the ID in the database.             $action, $effect, $setup, $breakdown - String: Text for these fields.             [$author_id] = Integer/String: (OPTIONAL) The numeric ID or the login of the author.                            Defaults to logged in userReturns:     Hash: case text object hash.Example:# Minimal>>> TestCase.store_text(12345, 'Action')# Full arguments>>> TestCase.store_text(12345, 'Action', 'Effect', 'Setup', 'Breakdown', 2260)

TestCase.unlink_plan

Description: Unlink a test case from the given plan. If only one plan is linked, this will delete             the test case.Params:      $case_ids - Integer/String: An integer or alias representing the ID in the database.             $plan_id  - Integer: An integer representing the ID in the database.Returns:     Array: Array of plans hash still linked if any, empty if not.Example:>>> TestCase.unlink_plan(12345, 137)

TestCase.update

Description: Updates the fields of the selected case or cases.Params:      $case_ids - Integer/String/Array                         Integer: A single TestCase ID.                         String:  A comma separates string of TestCase IDs for batch                                  processing.                         Array:   An array of case IDs for batch mode processing             $values   - Hash of keys matching TestCase fields and the new values                         to set each field to.Returns:  Array: an array of case hashes. If the update on any particular                 case failed, the has will contain a ERROR key and the                 message as to why it failed.    +-----------------------+----------------+-----------------------------------------+    | Field                 | Type           | Null                                    |    +-----------------------+----------------+-----------------------------------------+    | case_status           | Integer        | Optional                                |    | product               | Integer        | Optional(Required if changes category)  |    | category              | Integer        | Optional                                |    | priority              | Integer        | Optional                                |    | default_tester        | String/Integer | Optional(str - user_name, int - user_id)|    | estimated_time        | String         | Optional(2h30m30s(recommend) or HH:MM:SS|    | is_automated          | Integer        | Optional(0 - Manual, 1 - Auto, 2 - Both)|    | is_automated_proposed | Boolean        | Optional                                |    | script                | String         | Optional                                |    | arguments             | String         | Optional                                |    | summary               | String         | Optional                                |    | requirement           | String         | Optional                                |    | alias                 | String         | Optional                                |    | notes                 | String         | Optional                                |    | extra_link            | String         | Optional(reference link)    +-----------------------+----------------+-----------------------------------------+Example:# Update alias to 'tcms' for case 12345 and 23456>>> TestCase.update([12345, 23456], {'alias': 'tcms'})

TestCasePlan.get

Description: Used to load an existing test-case-plan from the database.Params:      $case_id - Integer: An integer representing the ID of the test case in the database.             $plan_id - Integer: An integer representing the ID of the test plan in the database.Returns:     A blessed TestCasePlan object hashExample:>>> TestCasePlan.get(81307, 3551)

TestCasePlan.update

Description: Updates the sortkey of the selected test-case-plan.Params:      $case_id - Integer: An integer representing the ID of the test case in the database.             $plan_id - Integer: An integer representing the ID of the test plan in the database.             $sortkey - Integer: An integer representing the ID of the sortkey in the database.Returns:     A blessed TestCasePlan object hashExample:# Update sortkey of selected test-case-plan to 450>>> TestCasePlan.update(81307, 3551, 450)

TestCaseRun.add_comment

Description: Adds comments to selected test case runs.Params:      $case_run_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of case_run_ids, or a string of comma separated case_run_ids.             $comment - String - The commentReturns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add comment 'foobar' to case run 1234>>> TestCaseRun.add_comment(1234, 'foobar')# Add 'foobar' to case runs list [56789, 12345]>>> TestCaseRun.add_comment([56789, 12345], 'foobar')# Add 'foobar' to case runs list '56789, 12345' with String>>> TestCaseRun.add_comment('56789, 12345', 'foobar')

TestCaseRun.attach_bug

Description: Add one or more bugs to the selected test cases.Params:     $values - Array/Hash: A reference to a hash or array of hashes with keys and values                                  matching the fields of the test case bug to be created.  +-------------------+----------------+-----------+------------------------+  | Field             | Type           | Null      | Description            |  +-------------------+----------------+-----------+------------------------+  | case_run_id       | Integer        | Required  | ID of Case             |  | bug_id            | Integer        | Required  | ID of Bug              |  | bug_system_id     | Integer        | Required  | 1: BZ(Default), 2: JIRA|  | summary           | String         | Optional  | Bug summary            |  | description       | String         | Optional  | Bug description        |  +-------------------+----------------+-----------+------------------------+Returns:     Array: empty on success or an array of hashes with failure             codes if a failure occured.Example:>>> TestCaseRun.attach_bug({    'case_run_id': 12345,    'bug_id': 67890,    'bug_system_id': 1,    'summary': 'Testing TCMS',    'description': 'Just foo and bar',})

TestCaseRun.attach_log

Description: Add new log link to TestCaseRunParams:     $caserun_id - Integer            $name       - String: A short description to this new link, and accept 64 characters at most.            $url        - String: The actual URL.

TestCaseRun.check_case_run_status

Params:      $name - String: the status name.Returns:     Hash: Matching case run status object hash or error if not found.Example:>>> TestCaseRun.check_case_run_status('idle')

TestCaseRun.create

  *** It always report - ValueError: invalid literal for int() with base 10: '' ***  Description: Creates a new Test Case Run object and stores it in the database.  Params:      $values - Hash: A reference to a hash with keys and values                         matching the fields of the test case to be created.+--------------------+----------------+-----------+------------------------------------------------+| Field              | Type           | Null      | Description                                    |+--------------------+----------------+-----------+------------------------------------------------+| run                | Integer        | Required  | ID of Test Run                                 || case               | Integer        | Required  | ID of test case                                || build              | Integer        | Required  | ID of a Build in plan's product                || assignee           | Integer        | Optional  | ID of assignee                                 || case_run_status    | Integer        | Optional  | Defaults to "IDLE"                             || case_text_version  | Integer        | Optional  | Default to latest case text version            || notes              | String         | Optional  |                                                || sortkey            | Integer        | Optional  | a.k.a. Index, Default to 0                     |+--------------------+----------------+-----------+------------------------------------------------+  Returns:     The newly created object hash.  Example:  # Minimal test case parameters  >>> values = {      'run': 1990,      'case': 12345,      'build': 123,  }  >>> TestCaseRun.create(values)

TestCaseRun.detach_bug

Description: Remove one or more bugs to the selected test case-runs.Params:      $case_run_ids - Integer/Array/String: An integer or alias representing the ID in the database,                                                   an array of case_run_ids, or a string of comma separated case_run_ids.             $bug_ids - Integer/Array/String: An integer representing the ID in the database,                       an array of bug_ids, or a string of comma separated primary key of bug_ids.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Remove bug id 54321 from case 1234>>> TestCaseRun.detach_bug(1234, 54321)# Remove bug ids list [1234, 5678] from cases list [56789, 12345]>>> TestCaseRun.detach_bug([56789, 12345], [1234, 5678])# Remove bug ids list '1234, 5678' from cases list '56789, 12345' with String>>> TestCaseRun.detach_bug('56789, 12345', '1234, 5678')

TestCaseRun.detach_log

Description: Remove log link to TestCaseRunParams:     $case_run_id - Integer            $link_id     - Integer: Id of LinkReference instance

TestCaseRun.filter

Description: Performs a search and returns the resulting list of test cases.Params:      $values - Hash: keys must match valid search fields.    +----------------------------------------------------------------+    |               Case-Run Search Parameters                       |    +----------------------------------------------------------------+    |        Key          |          Valid Values                    |    | case_run_id         | Integer                                  |    | assignee            | ForeignKey: Auth.User                    |    | build               | ForeignKey: Build                        |    | case                | ForeignKey: Test Case                    |    | case_run_status     | ForeignKey: Case Run Status              |    | notes               | String                                   |    | run                 | ForeignKey: Test Run                     |    | tested_by           | ForeignKey: Auth.User                    |    | running_date        | Datetime                                 |    | close_date          | Datetime                                 |    +----------------------------------------------------------------+Returns:     Object: Matching test cases are retuned in a list of hashes.Example:# Get all case runs contain 'TCMS' in case summary>>> TestCaseRun.filter({'case__summary__icontain': 'TCMS'})

TestCaseRun.filter_count

Description: Performs a search and returns the resulting count of cases.Params:      $query - Hash: keys must match valid search fields (see filter).Returns:     Integer - total matching cases.Example:# See distinct_count()

TestCaseRun.get

Description: Used to load an existing test case-run from the database.Params:      $case_run_id - Integer: An integer representing the ID in                                     the database for this case-run.Returns:     A blessed TestCaseRun object hashExample:>>> TestCaseRun.get(1193)

TestCaseRun.get_bugs

Description: Get the list of bugs that are associated with this test case.Params:      $case_run_ids - Integer: An integer representing the ID in                           the database for this case-run.Returns:     Array: An array of bug object hashes.Example:>>> TestCase.get_bugs(12345)

TestCaseRun.get_bugs_s

Description: Get the list of bugs that are associated with this test case.Params:      $run_id - Integer: An integer representing the ID of the test run in the database.             $case_id - Integer: An integer representing the ID of the test case in the database.             $build_id - Integer: An integer representing the ID of the test build in the database.             $environment_id - Optional Integer: An integer representing the ID of the environment in the database.Returns:     Array: An array of bug object hashes.Example:>>> TestCaseRun.get_bugs_s(3113, 565, 72, 90)

TestCaseRun.get_case_run_status

Params:      $case_run_status_id - Integer(Optional): ID of the status to returnReturns:     Hash: Matching case run status object hash when your specific the case_run_status_id                   or return all of case run status.                   It will return error the case run status you specific id not found.Example:# Get all of case run status>>> TestCaseRun.get_case_run_status()# Get case run status by ID 1>>> TestCaseRun.get_case_run_status(1)

TestCaseRun.get_completion_time

Description: Returns the time in seconds that it took for this case to complete.Params:      $case_run_id - Integer: An integer representing the ID in                                     the database for this case-run.Returns:     Integer: Seconds since run was started till this case was completed.                      Or empty hash for insufficent data.Example:>>> TestCaseRun.get_completion_time(1193)

TestCaseRun.get_completion_time_s

Description: Returns the time in seconds that it took for this case to complete.Params:      $case_id - Integer: An integer representing the ID of the test case in the database.             $run_id - Integer: An integer representing the ID of the test run in the database.             $build_id - Integer: An integer representing the ID of the test build in the database.             $environment_id - Optional Integer: An integer representing the ID of the environment in the database.Returns:     Integer: Seconds since run was started till this case was completed.                      Or empty hash for insufficent data.Example:>>> TestCaseRun.get_completion_time_s(3113, 565, 72, 90)

TestCaseRun.get_history

*** FIXME: NOT IMPLEMENTED - Case history is different than before ***Description: Get the list of case-runs for all runs this case appears in.              To limit this list by build or other attribute, see TestCaseRun.queryParams:      $caserun_id - Integer: An integer representing the ID in                                    the database for this case-run.Returns:     Array: An array of case-run object hashes.

TestCaseRun.get_history_s

*** FIXME: NOT IMPLEMENTED - Case history is different than before ***Description: Get the list of case-runs for all runs this case appears in.              To limit this list by build or other attribute, see TestCaseRun.filter.Params:      $case_id - Integer: An integer representing the ID of the test case in the database.             $run_id - Integer: An integer representing the ID of the test run in the database.             $build_id - Integer: An integer representing the ID of the test build in the database.             $environment_id - Integer: An integer representing the ID of the environment in the database.Returns:     Array: An array of case-run object hashes.

TestCaseRun.get_logs

Description:  Get log links to TestCaseRunParams:     $case_run_id - Integer:

TestCaseRun.get_s

Description: Used to load an existing test case from the database.Params:      $case_id - Integer: An integer representing the ID of the test case in the database.             $run_id - Integer: An integer representing the ID of the test run in the database.             $build_id - Integer: An integer representing the ID of the test build in the database.             $environment_id - Optional Integer: An integer representing the ID of the environment in the database.Returns:     A blessed TestCaseRun object hashExample:>>> TestCaseRun.get_s(3113, 565, 72, 90)

TestCaseRun.lookup_status_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use TestCaseRun.check_case_run_status instead

TestCaseRun.lookup_status_name_by_id

DEPRECATED - CONSIDERED HARMFUL Use TestCaseRun.get_case_run_status instead

TestCaseRun.update

Description: Updates the fields of the selected case-runs.Params:      $caserun_ids - Integer/String/Array                    Integer: A single TestCaseRun ID.                    String:  A comma separates string of TestCaseRun IDs for batch                             processing.                    Array:   An array of TestCaseRun IDs for batch mode processing             $values - Hash of keys matching TestCaseRun fields and the new values             to set each field to.                     +--------------------+----------------+                     | Field              | Type           |                     +--------------------+----------------+                     | build              | Integer        |                     | assignee           | Integer        |                     | case_run_status    | Integer        |                     | notes              | String         |                     | sortkey            | Integer        |                     +--------------------+----------------+Returns:     Hash/Array: In the case of a single object, it is returned. If a             list was passed, it returns an array of object hashes. If the             update on any particular object failed, the hash will contain a             ERROR key and the message as to why it failed.Example:# Update alias to 'tcms' for case 12345 and 23456>>> TestCaseRun.update([12345, 23456], {'assignee': 2206})

TestPlan.add_component

Description: Adds one or more components to the selected test plan.Params:      $plan_ids - Integer/Array/String: An integer representing the ID of the plan in the database.             $component_ids - Integer/Array/String - The component ID, an array of Component IDs                              or a comma separated list of component IDs.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add component id 54321 to plan 1234>>> TestPlan.add_component(1234, 54321)# Add component ids list [1234, 5678] to plan list [56789, 12345]>>> TestPlan.add_component([56789, 12345], [1234, 5678])# Add component ids list '1234, 5678' to plan list '56789, 12345' with String>>> TestPlan.add_component('56789, 12345', '1234, 5678')

TestPlan.add_tag

Description: Add one or more tags to the selected test plans.Params:      $plan_ids - Integer/Array/String: An integer representing the ID of the plan in the database,                  an arry of plan_ids, or a string of comma separated plan_ids.              $tags - String/Array - A single tag, an array of tags,                  or a comma separated list of tags.Returns:     Array: empty on success or an array of hashes with failure              codes if a failure occured.Example:# Add tag 'foobar' to plan 1234>>> TestPlan.add_tag(1234, 'foobar')# Add tag list ['foo', 'bar'] to plan list [12345, 67890]>>> TestPlan.add_tag([12345, 67890], ['foo', 'bar'])# Add tag list ['foo', 'bar'] to plan list [12345, 67890] with String>>> TestPlan.add_tag('12345, 67890', 'foo, bar')

TestPlan.check_plan_type

Params:      $name - String: the plan type.Returns:     Hash: Matching plan type object hash or error if not found.Example:>>> TestPlan.check_plan_type('regression')

TestPlan.create

Description: Creates a new Test Plan object and stores it in the database.Params:      $values - Hash: A reference to a hash with keys and values              matching the fields of the test plan to be created.  +-------------------------------------------+----------------+-----------+-------------------------------------------+  | Field                                     | Type           | Null      | Description                               |  +-------------------------------------------+----------------+-----------+-------------------------------------------+  | product                                   | Integer        | Required  | ID of product                             |  | name                                      | String         | Required  |                                           |  | type                                      | Integer        | Required  | ID of plan type                           |  | product_version(default_product_version)  | Integer        | Required  | ID of version, product_version(recommend),|  |                                           |                |           | default_product_version will be deprecated|  |                                           |                |           | in future release.                        |  | text                                      | String         | Required  | Plan documents, HTML acceptable.          |  | parent                                    | Integer        | Optional  | Parent plan ID                            |  | is_active                                 | Boolean        | Optional  | 0: Archived 1: Active (Default 0)         |  +-------------------------------------------+----------------+-----------+-------------------------------------------+Returns:     The newly created object hash.Example:# Minimal test case parameters>>> values = {    'product': 61,    'name': 'Testplan foobar',    'type': 1,    'parent_id': 150,    'default_product_version': 93,    'text':'Testing TCMS',}>>> TestPlan.create(values)

TestPlan.filter

Description: Performs a search and returns the resulting list of test plans.Params:      $values - Hash: keys must match valid search fields.    +------------------------------------------------------------+    |                   Plan Search Parameters                   |    +----------------------------------------------------------+    |        Key              |          Valid Values            |    | author                  | ForeignKey: Auth.User            |    | attachment              | ForeignKey: Attachment           |    | case                    | ForeignKey: Test Case            |    | create_date             | DateTime                         |    | env_group               | ForeignKey: Environment Group    |    | name                    | String                           |    | plan_id                 | Integer                          |    | product                 | ForeignKey: Product              |    | product_version         | ForeignKey: Version              |    | tag                     | ForeignKey: Tag                  |    | text                    | ForeignKey: Test Plan Text       |    | type                    | ForeignKey: Test Plan Type       |    +------------------------------------------------------------+Returns:     Array: Matching test plans are retuned in a list of plan object hashes.Example:# Get all of plans contain 'TCMS' in name>>> TestPlan.filter({'name__icontain': 'TCMS'})# Get all of plans create by xkuang>>> TestPlan.filter({'author__username': 'xkuang'})# Get all of plans the author name starts with x>>> TestPlan.filter({'author__username__startswith': 'x'})# Get plans contain the case ID 12345, 23456, 34567>>> TestPlan.filter({'case__case_id__in': [12345, 23456, 34567]})

TestPlan.filter_count

Description: Performs a search and returns the resulting count of plans.Params:      $values - Hash: keys must match valid search fields (see filter).Returns:     Integer - total matching plans.Example:# See distinct_count()

TestPlan.get

Description: Used to load an existing test plan from the database.Params:      $id - Integer/String: An integer representing the ID of this plan in the databaseReturns:     Hash: A blessed TestPlan object hashExample:>>> TestPlan.get(137)

TestPlan.get_all_cases_tags

Description: Get the list of tags attached to this plan's testcases.Params:      $plan_id - Integer An integer representing the ID of this plan in the databaseReturns:     Array: An array of tag object hashes.Example:>>> TestPlan.get_all_cases_tags(137)

TestPlan.get_change_history

*** FIXME: NOT IMPLEMENTED - History is different than before ***Description: Get the list of changes to the fields of this plan.Params:      $plan_id - Integer: An integer representing the ID of this plan in the databaseReturns:     Array: An array of hashes with changed fields and their details.

TestPlan.get_components

Description: Get the list of components attached to this plan.Params:      $plan_id - Integer/String: An integer representing the ID in the databaseReturns:     Array: An array of component object hashes.Example:>>> TestPlan.get_components(12345)

TestPlan.get_env_groups

Description: Get the list of env groups to the fields of this plan.Params:      $plan_id - Integer: An integer representing the ID of this plan in the databaseReturns:     Array: An array of hashes with env groups.

TestPlan.get_plan_type

Params:      $id - Integer: ID of the plan type to returnReturns:     Hash: Matching plan type object hash or error if not found.Example:>>> TestPlan.get_plan_type(3)

TestPlan.get_product

Description: Get the Product the plan is assiciated with.Params:      $plan_id - Integer: An integer representing the ID of the plan in the database.Returns:     Hash: A blessed Product hash.Example:>>> TestPlan.get_product(137)

TestPlan.get_tags

Description: Get the list of tags attached to this plan.Params:      $plan_id - Integer An integer representing the ID of this plan in the databaseReturns:     Array: An array of tag object hashes.Example:>>> TestPlan.get_tags(137)

TestPlan.get_test_cases

Description: Get the list of cases that this plan is linked to.Params:      $plan_id - Integer: An integer representing the ID of the plan in the databaseReturns:     Array: An array of test case object hashes.Example:>>> TestPlan.get_test_cases(137)

TestPlan.get_test_runs

Description: Get the list of runs in this plan.Params:      $plan_id - Integer: An integer representing the ID of this plan in the databaseReturns:     Array: An array of test run object hashes.Example:>>> TestPlan.get_test_runs(plan_id)

TestPlan.get_text

Description: The plan document for a given test plan.Params:      $plan_id - Integer: An integer representing the ID of this plan in the database             $version - Integer: (OPTIONAL) The version of the text you want returned.                                 Defaults to the latest.Returns:     Hash: Text and author information.Example:# Get all latest case text>>> TestPlan.get_text(137)# Get all case text with version 4>>> TestPlan.get_text(137, 4)

TestPlan.import_case_via_XML

Description: Add cases to plan via XML fileParams:      $plan_id - Integer: A single TestPlan ID.             $values - String: String which read from XML file object.Returns:     String: Success update casesExample:# Update product to 61 for plan 207 and 208>>> fb = open('tcms.xml', 'rb')>>> TestPlan.import_case_via_XML(3798, fb.read())

TestPlan.lookup_type_id_by_name

DEPRECATED - CONSIDERED HARMFUL Use TestPlan.check_plan_type instead

TestPlan.lookup_type_name_by_id

DEPRECATED - CONSIDERED HARMFUL Use TestPlan.get_plan_type instead

TestPlan.remove_component

Description: Removes selected component from the selected test plan.Params:      $plan_ids - Integer/Array/String: An integer representing the ID in the database,                         an array of plan_ids, or a string of comma separated plan_ids.             $component_ids - Integer: - The component ID to be removed.Returns:     Array: Empty on success.Example:# Remove component id 54321 from plan 1234>>> TestPlan.remove_component(1234, 54321)# Remove component ids list [1234, 5678] from plan list [56789, 12345]>>> TestPlan.remove_component([56789, 12345], [1234, 5678])# Remove component ids list '1234, 5678' from plan list '56789, 12345' with String>>> TestPlan.remove_component('56789, 12345', '1234, 5678')

TestPlan.remove_tag

Description: Remove a tag from a plan.Params:      $plan_ids - Integer/Array/String: An integer or alias representing the ID in the database,                                               an array of plan_ids, or a string of comma separated plan_ids.             $tag - String - A single tag to be removed.Returns:     Array: Empty on success.Example:# Remove tag 'foo' from plan 1234>>> TestPlan.remove_tag(1234, 'foo')# Remove tag 'foo' and 'bar' from plan list [56789, 12345]>>> TestPlan.remove_tag([56789, 12345], ['foo', 'bar'])# Remove tag 'foo' and 'bar' from plan list '56789, 12345' with String>>> TestPlan.remove_tag('56789, 12345', 'foo, bar')

TestPlan.store_text

Description: Update the document field of a plan.Params:      $plan_id - Integer: An integer representing the ID of this plan in the database.             $text - String: Text for the document. Can contain HTML.             [$author] = Integer: (OPTIONAL) The numeric ID or the login of the author.                  Defaults to logged in user.Returns:     Hash: The new text object hash.Example:>>> TestPlan.store_text(1234, 'Plan Text', 2207)

TestPlan.update

Description: Updates the fields of the selected test plan.Params:      $plan_ids - Integer: A single TestPlan ID.             $values - Hash of keys matching TestPlan fields and the new values                       to set each field to.  +-------------------------------------------+----------------+--------------------------------------------+  | Field                                     | Type           | Description                                |  +-------------------------------------------+----------------+--------------------------------------------+  | product                                   | Integer        | ID of product                              |  | name                                      | String         |                                            |  | type                                      | Integer        | ID of plan type                            |  | product_version(default_product_version)  | Integer        | ID of version, product_version(recommend), |  |                                           |                | default_product_version will be deprecated |  |                                           |                | in future release.                         |  | owner                                     | String/Integer | user_name/user_id                          |  | parent                                    | Integer        | Parent plan ID                             |  | is_active                                 | Boolean        | True/False                                 |  | env_group                                 | Integer        |                                            |  +-------------------------+----------------+--------------------------------------------------------------+Returns:     Hash: The updated test plan object.Example:# Update product to 61 for plan 207 and 208>>> TestPlan.update([207, 208], {'product': 61})

TestRun.add_cases

Description: Add one or more cases to the selected test runs.Params:      $run_ids - Integer/Array/String: An integer representing the ID in the database                                              an array of IDs, or a comma separated list of IDs.             $case_ids - Integer/Array/String: An integer or alias representing the ID in the database,                                              an arry of case_ids or aliases, or a string of comma separated case_ids.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add case id 54321 to run 1234>>> TestRun.add_cases(1234, 54321)# Add case ids list [1234, 5678] to run list [56789, 12345]>>> TestRun.add_cases([56789, 12345], [1234, 5678])# Add case ids list '1234, 5678' to run list '56789, 12345' with String>>> TestRun.add_cases('56789, 12345', '1234, 5678')

TestRun.add_tag

Description: Add one or more tags to the selected test runs.Params:      $run_ids - Integer/Array/String: An integer representing the ID in the database,                                              an arry of run_ids, or a string of comma separated run_ids.             $tags - String/Array - A single tag, an array of tags,                                    or a comma separated list of tags.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add tag 'foobar' to run 1234>>> TestPlan.add_tag(1234, 'foobar')# Add tag list ['foo', 'bar'] to run list [12345, 67890]>>> TestPlan.add_tag([12345, 67890], ['foo', 'bar'])# Add tag list ['foo', 'bar'] to run list [12345, 67890] with String>>> TestPlan.add_tag('12345, 67890', 'foo, bar')

TestRun.create

Description: Creates a new Test Run object and stores it in the database.Params:      $values - Hash: A reference to a hash with keys and values                       matching the fields of the test run to be created.  +-------------------+----------------+-----------+---------------------------------------+  | Field             | Type           | Null      | Description                           |  +-------------------+----------------+-----------+---------------------------------------+  | plan              | Integer        | Required  | ID of test plan                       |  | build             | Integer/String | Required  | ID of Build                           |  | errata_id         | Integer        | Optional  | ID of Errata                          |  | manager           | Integer        | Required  | ID of run manager                     |  | summary           | String         | Required  |                                       |  | product           | Integer        | Required  | ID of product                         |  | product_version   | Integer        | Required  | ID of product version                 |  | default_tester    | Integer        | Optional  | ID of run default tester              |  | plan_text_version | Integer        | Optional  |                                       |  | estimated_time    | String         | Optional  | 2h30m30s(recommend) or HH:MM:SS Format|  | notes             | String         | Optional  |                                       |  | status            | Integer        | Optional  | 0:RUNNING 1:STOPPED  (default 0)      |  | case              | Array/String   | Optional  | list of case ids to add to the run    |  | tag               | Array/String   | Optional  | list of tag to add to the run         |  +-------------------+----------------+-----------+---------------------------------------+Returns:     The newly created object hash.Example:>>> values = {'build': 384,    'manager': 137,    'plan': 137,    'errata_id': 124,    'product': 61,    'product_version': 93,    'summary': 'Testing XML-RPC for TCMS',}>>> TestRun.create(values)

TestRun.env_value

Description: add/remove env values to the given runs, function is same as link_env_value/unlink_env_valueParams:      $action        - String: 'add' or 'remove'.             $run_ids       - Integer/Array/String: An integer representing the ID in the database,                              an array of run_ids, or a string of comma separated run_ids.             $env_value_ids - Integer/Array/String: An integer representing the ID in the database,                              an array of env_value_ids, or a string of comma separated env_value_ids.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add env value 13 to run id 8748>>> TestRun.env_value('add', 8748, 13)

TestRun.filter

Description: Performs a search and returns the resulting list of test runs.Params:      $values - Hash: keys must match valid search fields.    +--------------------------------------------------------+    |                 Run Search Parameters                  |    +--------------------------------------------------------+    |        Key          |          Valid Values            |    | build               | ForeignKey: Build                |    | cc                  | ForeignKey: Auth.User            |    | env_value           | ForeignKey: Environment Value    |    | default_tester      | ForeignKey: Auth.User            |    | run_id              | Integer                          |    | manager             | ForeignKey: Auth.User            |    | notes               | String                           |    | plan                | ForeignKey: Test Plan            |    | summary             | String                           |    | tag                 | ForeignKey: Tag                  |    | product_version     | ForeignKey: Version              |    +--------------------------------------------------------+Returns:     Array: Matching test runs are retuned in a list of run object hashes.Example:# Get all of runs contain 'TCMS' in summary>>> TestRun.filter({'summary__icontain': 'TCMS'})# Get all of runs managed by xkuang>>> TestRun.filter({'manager__username': 'xkuang'})# Get all of runs the manager name starts with x>>> TestRun.filter({'manager__username__startswith': 'x'})# Get runs contain the case ID 12345, 23456, 34567>>> TestRun.filter({'case_run__case__case_id__in': [12345, 23456, 34567]})

TestRun.filter_count

Description: Performs a search and returns the resulting count of runs.Params:      $query - Hash: keys must match valid search fields (see filter).Returns:     Integer - total matching runs.Example:# See distinct_count()

TestRun.get

Description: Used to load an existing test run from the database.Params:      $run_id - Integer: An integer representing the ID of the run                                in the databaseReturns:     Hash: A blessed TestRun object hashExample:>>> TestRun.get(1193)

TestRun.get_bugs

*** FIXME: BUGGY IN SERIALISER - List can not be serialize. ***Description: Get the list of bugs attached to this run.Params:      $run_ids - Integer/Array/String: An integer representing the ID in the database                                              an array of integers or a comma separated list of integers.Returns:     Array: An array of bug object hashes.Example:# Get bugs belong to ID 12345>>> TestRun.get_bugs(12345)# Get bug belong to run ids list [12456, 23456]>>> TestRun.get_bugs([12456, 23456])# Get bug belong to run ids list 12456 and 23456 with string>>> TestRun.get_bugs('12456, 23456')

TestRun.get_change_history

*** FIXME: NOT IMPLEMENTED - History is different than before ***Description: Get the list of changes to the fields of this run.Params:      $run_id - Integer: An integer representing the ID of the run in the databaseReturns:     Array: An array of hashes with changed fields and their details.

TestRun.get_completion_report

*** FIXME: NOT IMPLEMENTED ***Description: Get a report of the current status of the selected runs combined.Params:      $runs - Integer/Array/String: An integer representing the ID in the database                    an array of integers or a comma separated list of integers.Returns:     Hash: A hash containing counts and percentages of the combined totals of                    case-runs in the run. Counts only the most recently statused case-run                    for a given build and environment.

TestRun.get_env_values

Description: Get the list of env values to this run.Params:      $run_id - Integer: An integer representing the ID of the run in the databaseReturns:     Array: An array of tag object hashes.Example:>>> TestRun.get_env_values(8748)

TestRun.get_tags

Description: Get the list of tags attached to this run.Params:      $run_id - Integer: An integer representing the ID of the run in the databaseReturns:     Array: An array of tag object hashes.Example:>>> TestRun.get_tags(1193)

TestRun.get_test_case_runs

Description: Get the list of cases that this run is linked to.Params:      $run_id - Integer: An integer representing the ID in the database                                for this run.Returns:     Array: An array of test case-run object hashes.Example:# Get all of case runs>>> TestRun.get_test_case_runs(1193)

TestRun.get_test_cases

Description: Get the list of cases that this run is linked to.Params:      $run_id - Integer: An integer representing the ID in the database                                for this run.Returns:     Array: An array of test case object hashes.Example:>>> TestRun.get_test_cases(1193)

TestRun.get_test_plan

Description: Get the plan that this run is associated with.Params:      $run_id - Integer: An integer representing the ID in the database                                for this run.Returns:     Hash: A plan object hash.Example:>>> TestRun.get_test_plan(1193)

TestRun.link_env_value

Description: Link env values to the given runs.Params:      $run_ids       - Integer/Array/String: An integer representing the ID in the database,                              an array of run_ids, or a string of comma separated run_ids.             $env_value_ids - Integer/Array/String: An integer representing the ID in the database,                              an array of env_value_ids, or a string of comma separated env_value_ids.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Add env value 13 to run id 8748>>> TestRun.link_env_value(8748, 13)

TestRun.remove_cases

Description: Remove one or more cases from the selected test runs.Params:      $run_ids - Integer/Array/String: An integer representing the ID in the database                                              an array of IDs, or a comma separated list of IDs.             $case_ids - Integer/Array/String: An integer or alias representing the ID in the database,                                              an arry of case_ids or aliases, or a string of comma separated case_ids.Returns:     Array: empty on successException:   When any exception is thrown on the server side, it will be             returned as JSON, which contains two items:             - status: 1.             - message: str, any message specific to the error on the serverExample:# Remove case 54321 from run 1234TestRun.remove_cases(1234, 54321)# Remove case ids list [1234, 5678] from run list [56789, 12345]TestRun.remove_cases([56789, 12345], [1234, 5678])# Remove case ids list '1234, 5678' from run list '56789, 12345' with StringTestRun.remove_cases('56789, 12345', '1234, 5678')

TestRun.remove_tag

Description: Remove a tag from a run.Params:      $run_ids - Integer/Array/String: An integer or alias representing the ID in the database,                         an array of run_ids, or a string of comma separated run_ids.             $tag - String - A single tag to be removed.Returns:     Array: Empty on success.Example:# Remove tag 'foo' from run 1234>>> TestRun.remove_tag(1234, 'foo')# Remove tag 'foo' and 'bar' from run list [56789, 12345]>>> TestRun.remove_tag([56789, 12345], ['foo', 'bar'])# Remove tag 'foo' and 'bar' from run list '56789, 12345' with String>>> TestRun.remove_tag('56789, 12345', 'foo, bar')

TestRun.unlink_env_value

Description: Unlink env values to the given runs.Params:      $run_ids       - Integer/Array/String: An integer representing the ID in the database,                              an array of run_ids, or a string of comma separated run_ids.             $env_value_ids - Integer/Array/String: An integer representing the ID in the database,                              an array of env_value_ids, or a string of comma separated env_value_ids.Returns:     Array: empty on success or an array of hashes with failure                    codes if a failure occured.Example:# Unlink env value 13 to run id 8748>>> TestRun.unlink_env_value(8748, 13)

TestRun.update

Description: Updates the fields of the selected test run.Params:      $run_ids - Integer/Array/String: An integer or alias representing the ID in the database,                        an array of run_ids, or a string of comma separated run_ids.             $values - Hash of keys matching TestRun fields and the new values                       to set each field to. See params of TestRun.create for description+-------------------+----------------+--------------------------------+| Field             | Type           | Description                    |+-------------------+----------------+--------------------------------+| plan              | Integer        | TestPlan.plan_id               || product           | Integer        | Product.id                     || build             | Integer        | Build.id                       || errata_id         | Integer        | Errata.id                      || manager           | Integer        | Auth.User.id                   || default_tester    | Intege         | Auth.User.id                   || summary           | String         |                                || estimated_time    | TimeDelta      | 2h30m30s(recommend) or HH:MM:SS|| product_version   | Integer        |                                || plan_text_version | Integer        |                                || notes             | String         |                                || status            | Integer        | 0:RUNNING 1:FINISHED           |+-------------------+----------------+ -------------------------------+Returns:     Hash: The updated test run object.Example:# Update status to finished for run 1193 and 1194>>> TestRun.update([1193, 1194], {'status': 1})

Testopia.api_version

Description: Return the API version of Nitrate.

Testopia.log_call

Log XMLRPC-specific invocationsThis is copied from kobo.django.xmlrpc.decorators to add custom abitlities,so that we don't have to wait upstream to make the changes.Usage::    from tcms.core.decorators import log_call    @log_call(namespace='TestNamespace')    def func(request):        return None

Testopia.nitrate_version

Description: Returns the version of Nitrate on this server.

Testopia.tcms_version

Description: Returns the version of Nitrate on this server.

Testopia.testopia_version

Description: Returns the version of Nitrate on this server.

User.filter

Description: Performs a search and returns the resulting list of test casesParams:      $query - Hash: keys must match valid search fields.    +------------------------------------------------------------------+    |                 Case Search Parameters                           |    +------------------------------------------------------------------+    |        Key          |          Valid Values                      |    | id                  | Integer: ID                                |    | username            | String: User name                          |    | first_name          | String: User first name                    |    | last_name           | String: User last  name                    |    | email               | String Email                               |    | is_active           | Boolean: Return the active users           |    | groups              | ForeignKey: AuthGroup                      |    +------------------------------------------------------------------+Returns:     Array: Matching test cases are retuned in a list of hashes.Example:>>> User.filter({'username__startswith': 'x'})

User.get

Description: Used to load an existing test case from the database.Params:      $id - Integer/String: An integer representing the ID in the                   databaseReturns:     A blessed User object HashExample:>>> User.get(2206)

User.get_me

Description: Get the information of myself.Returns:     A blessed User object HashExample:>>> User.get_me()

User.join

Description: Add user to a group specified by name.Returns: NoneRaises: PermissionDenied        Object.DoesNotExistExample:>>> User.join('username', 'groupname')

User.update

Description: Updates the fields of the selected user. it also can change             the informations of other people if you have permission.Params:      $values   - Hash of keys matching TestCase fields and the new                         values to set each field to.             $id       - Integer/String(Optional)                         Integer: A single TestCase ID.                         String:  A comma string of User ID.                         Default: The ID of myselfReturns:     A blessed User object Hash+--------------+--------+-----------------------------------------+| Field        | Type   | Null                                    |+--------------+--------+-----------------------------------------+| first_name   | String | Optional                                || last_name    | String | Optional(Required if changes category)  || email        | String | Optional                                || password     | String | Optional                                || old_password | String | Required by password                    |+--------------+--------+-----------------------------------------+Example:>>> User.update({'first_name': 'foo'})>>> User.update({'password': 'foo', 'old_password': '123'})>>> User.update({'password': 'foo', 'old_password': '123'}, 2206)

Version.get

Description: Retrieve XMLRPC's versionParams:      No parameters.Returns:     A list that represents the version.Example:Version.get()
0 0
原创粉丝点击