NAME
Testopia::Webservice::TestCase
EXTENDS
Bugzilla::Webservice
DESCRIPTION
Provides methods for automated scripts to manipulate Testopia TestCases
METHODS
add_component
-
Description: Adds one or more components to the selected test cases. Params: $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. $components - Integer/Array/String - The component ID, an array of Component IDs or component hashes (components can be an array of IDs, a comma separated string of IDs, an array of Hashes, or a single hash where the component hash = {component => 'string', product => 'string'}, 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.
add_tag
-
Description: Add one or more tags to the selected test cases. Params: $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. $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.
add_to_run
-
Description: Add one or more cases to the selected test runs. Params: $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. $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.
attach_bug
-
Description: Add one or more bugs to the selected test cases. Params: $case_ids - Integer/Array/String: An integer or alias representing the ID in the database, an array of case_ids or aliases, or a string of comma separated case_ids. $bug_ids - Integer/Array/String: An integer or alias representing the ID in the database, an array of bug_ids or aliases, or a string of comma separated bug_ids. Returns: Array: empty on success or an array of hashes with failure codes if a failure occured.
calculate_average_time
-
Description: Returns an average time for completion accross all runs. Params: $id - Integer/String: An integer or alias representing the ID in the database. Returns: String: Time in "HH:MM:SS" format.
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 | +-------------------+----------------+-----------+------------------------+ | status | Integer/String | Required | ID or Name of status | | category* | Integer/Hash | Required | ID or hash | | priority | Integer/String | Required | ID or Name of Priority | | summary | String | Required | | | plans | Array/Str/Int | Required | ID or List of plan_ids | | default_tester | Integer/String | Optional | ID or Login of tester | | estimated_time | String | Optional | HH:MM:SS Format | | isautomated | Boolean | Optional | Defaults to False (0) | | sortkey | Integer | Optional | | | script | String | Optional | | | arguments | String | Optional | | | requirement | String | Optional | | | alias | String | Optional | Must be unique | | action | String | Optional | | | effect | String | Optional | ExpectedResult | | setup | String | Optional | | | breakdown | String | Optional | | | dependson | Array/String | Optional | String Comma separated | | blocks | Array/String | Optional | String Comma separated | | tags | Array/String | Optional | String Comma separated | | bugs | Array/String | Optional | String Comma separated | | components+ | Array/Hash/Str | Optional | String Comma separated | +-------------------+----------------+-----------+------------------------+ * category hash = {category => 'string', product => 'string'} + components can be an array of IDs, a comma separated string of IDs, an array of Hashes, or a single hash. component hash = {component => 'string', product => 'string'} 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.
detach_bug
-
Description: Remove a bug from a test case. Params: $case_id - Integer/String: An integer or alias representing the ID in the database. $bug_ids - Integer/Array/String: An integer or alias representing the ID in the database, an array of bug_ids or aliases, or a string of comma separated bug_ids. Returns: 0 on success.
get
-
Description: Used to load an existing test case from the database. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: A blessed Bugzilla::Extension::Testopia::TestCase object hash
get_bugs
-
Description: Get the list of bugs that are associated with this test case. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: Array: An array of bug object hashes.
get_case_run_history
-
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::list. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: Array: An array of case-run object hashes.
get_change_history
-
Description: Get the list of changes to the fields of this case. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: Array: An array of hashes with changed fields and their details.
get_components
-
Description: Get the list of components attached to this case. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: Array: An array of component object hashes.
get_plans
-
Description: Get the list of plans that this case is linked to. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: Array: An array of test plan object hashes.
get_tags
-
Description: Get the list of tags attached to this case. Params: $id - Integer/String: An integer representing the ID in the database or a string representing the unique alias for this case. Returns: Array: An array of tag object hashes.
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 or a string representing the unique alias for this case. $version - Integer: (OPTIONAL) The version of the text you want returned. Defaults to the latest. Returns: Hash: Text fields and values.
link_plan
-
Description: Link test cases to the given plan. Params: $case_ids - Integer/Array/String: An integer or alias representing the ID in the database, an array of case_ids or aliases, 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: Array of failure codes or an empty array.
list
-
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 | | andor | 1: Author AND tester, 0: OR | | author | A bugzilla login (email address) | | author_type | (select from email_variants) | | case_id | comma separated integers | | case_status | String: Status | | case_status_id | Integer: Status | | category | String: Category Name | | category_id | Integer | | component | String: Component Name | | default_tester | A bugzilla login (email address) | | default_tester_type | (select from email_variants) | | isautomated | 1: true 0: false | | plan_id | comma separated integers | | priority | String: Priority | | priority_id | Integer | | product | String: Product Name | | product_id | Integer | | requirement | String: Requirement | | requirement_type | (select from query_variants) | | run_id | comma separated integers | | script | String | | script_type | (select from query_variants) | | summary | String | | summary_type | (select from query_variants) | | tags | String | | tags_type | (select from tag_variants) | | tcaction | String | | tcaction_type | (select from query_variants) | | tceffect | String | | tceffect_type | (select from query_variants) | +--------------------------------------------------------+ +---------------------------------------------------+ | Paging and Sorting | +---------------------------------------------------+ | Key | Description | | dir | "ASC" or "DESC" | | order | field to sort by | +---------------------------------------------------+ | page_size | integer: how many per page | | page | integer: page number | | +++++++ OR +++++++ | | start | integer: Start with which record | | limit | integer: limit to how many | +---------------------------------------------------+ | viewall | 1: returns all records | +---------------------------------------------------+ * The default is to only return 25 records at a time +----------------------------------------------------+ | query_variants | +----------------+-----------------------------------+ | Key | Description | | allwordssubstr | contains all of the words/strings | | anywordssubstr | contains any of the words/strings | | substring | contains the string | | casesubstring | contains the string (exact case) | | allwords | contains all of the words | | anywords | contains any of the words | | regexp | matches the regexp | | notregexp | doesn't match the regexp | +----------------+-----------------------------------+ +-------------------------------------+ | email_variants | +--------------+----------------------+ | Key | Description | | substring | contains | | exact | is | | regexp | matches regexp | | notregexp | doesn't match regexp | +--------------+----------------------+ +----------------------------------------------------+ | tag_variants | +----------------+-----------------------------------+ | Key | Description | | anyexact | is tagged with | | allwordssubstr | contains all of the words/strings | | anywordssubstr | contains any of the words/strings | | substring | contains the string | | casesubstring | contains the string (exact case) | | regexp | matches the regexp | | notregexp | doesn't match the regexp | | allwords | contains all of the words | | anywords | contains any of the words | | nowords | contains none of the words | +----------------------------------------------------+ Returns: Array: Matching test cases are retuned in a list of hashes.
list_count
-
Description: Performs a search and returns the resulting count of cases. Params: $query - Hash: keys must match valid search fields (see list). Returns: Integer - total matching cases.
lookup_priority_name_by_id
-
Params: $id - Integer: ID of the case status to return Returns: String: the status name.
lookup_priority_id_by_name
-
Params: $name - String: the status name. Returns: Integer: ID of the case status.
lookup_status_name_by_id
-
Params: $id - Integer: ID of the case status to return Returns: String: the status name.
lookup_status_id_by_name
-
Params: $name - String: the status name. Returns: Integer: ID of the case status.
remove_component
-
Description: Removes selected component from the selected test case. Params: $case_ids - Integer/Array/String: An integer or alias representing the ID in the database, an array of case_ids or aliases, or a string of comma separated case_ids. $component_id - Integer: - The component ID to be removed. Returns: Array: Empty on success.
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 aliases, or a string of comma separated case_ids. $tag - String - A single tag to be removed. Returns: Array: Empty on success.
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 user Returns: Integer: Version of the stored text
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_id - 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 still linked if any, empty if not.
update
-
Description: Updates the fields of the selected case or cases. Params: $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: Hash/Array: In the case of a single case it is returned. If a list was passed, it returns 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 | +-------------------+----------------+ | ids (redonly) | Integer/String | | status | Integer/String | | category | Integer/String | | priority | Integer/String | | default_tester | Integer/String | | estimated_time | String | | isautomated | Boolean | | sortkey | Integer | | script | String | | arguments | String | | summary | String | | requirement | String | | alias | String | | dependson | Array/String | | blocks | Array/String | +-------------------+----------------+
SEE ALSO
AUTHOR
Greg Hendricks <ghendricks@novell.com>