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.
- Relationship- For example to get all of test cases belong to 'RHEL 5'
- [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-lookupsAvailable 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()
- Nitrate XML-RPC Service API
- XML-RPC与web service
- java.lang.NoClassDefFoundError: javax/xml/rpc/Service
- RPC service
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service简单入门
- web service (SOAP/XML-RPC) 与 动态代理、AOP
- Apache XML-RPC与vcXMLRPC实现ajax调用web service
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service简单入门
- javax/xml/rpc/Service+org/apache/catalina/loader/WebappClassLoader
- PHP中使用XML-RPC构造Web Service简单入门
- PHP中使用XML-RPC构造Web Service
- PHP中使用XML-RPC构造Web Service简单入门
- CheckBox滑动后乱序
- php mysql_query 返回值
- Swift中闭包(closure)的使用
- C数据结构学习历程(1) 顺序表
- MPLS调试笔记之FP用法
- Nitrate XML-RPC Service API
- Android CheckBox 图片设置开关
- 灰度线性变换
- Vim多窗口编辑
- BZOJ 4001[TJOI2015]概率论
- Android签名打包出现Export aborted because fatal lint errors were found的解决
- SVG可伸缩矢量图形学习笔记
- MyEclipse 生成javaDoc文档
- Android HTTP Content-type( Mime-Type)对照表