= Test Manager for Trac Plugin - Public API = The TestManagerForTracPlugin plugin can be used programmatically to create, edit Test Catalogs, Test Cases and Test Plans, and to set the test execution verdicts of Test Cases in a plan. In the following, because of the spam filter not allowing more than a few URLs in a page, I have replaced: {{{ http://yourserver/yourproject }}} with: {{{ }}} [[BR]][[BR]] == Working with Test Catalogs and Test Cases == You can create test catalogs and cases programmatically by means of the following http requests. [[BR]] === Create a root test catalog === Get the following URL: {{{ /testcreate?type=catalog&path=TC&title=My%20new%20catalog }}} this will assign a unique ID (the number 0 in the URL below) to the new catalog, create the corresponding Wiki page and redirect to it. You may discard the response if you don't need to know the catalog ID (last number in the URL): {{{ /wiki/TC_TT0 }}} [[BR]] === Create a sub-catalog === Get the wollowing URL, where "path" is the name of the parent catalog. {{{ /testcreate?type=catalog&path=TC_TT0&title=My%20sub%20catalog }}} this will assign a unique ID (the number 1 in the URL below) to the new catalog, create the corresponding Wiki page and redirect to it. You may discard the response if you don't need to know the catalog ID (last number in the URL): {{{ /wiki/TC_TT0_TT1 }}} [[BR]] === Create a Test Case === Get the following URL, where "path" is the name of the parent (sub-)catalog. {{{ /testcreate?type=testcase&path=TC_TT0_TT1&title=My%20new%20Test%20Case }}} this will assign a unique ID (the number 0 in the URL below) to the new test case, create the corresponding Wiki page and redirect to it. You may discard the response if you don't need to know the test case ID (last number in the URL): {{{ /wiki/TC_TT0_TT1_TC0 }}} [[BR]][[BR]] == Working with Test Plans and setting the status of a Test Case == You can also create a new Test Plan (e.g. for each nightly build) programmatically as follows. [[BR]] === Create a Test Plan from a specific catalog === Get the wollowing URL, where "path" is the name of the (sub-)catalog to create the test plan against. {{{ /testcreate?type=testplan&path=TC_TT0&title=Test%20Plan%20for%2020100818 }}} this will assign a unique ID (the number 1 in the URL below) to the new test plan and redirect to displaying the Test Plan: You may discard the response if you don't need to know the plan ID (planid parameter in the URL): {{{ /wiki/TC_TT0?planid=1 }}} The Test Plan will contain all of the test cases in the specified catalog, with a status of "Untested". '''Note:''' As you can notice, you can always pass from a test catalog to one of its test plans by adding the "planid=" parameter to the test catalog URL. The same also stands for test cases. You can pass to a test case in a particular plan by adding the planid parameter to its URL. [[BR]][[BR]] === Set a Test Case execution verdict, in the context of a Test Plan === Then, you can set the verdict for any test case in the plan, by means of the following. Get the following URL, where "id" is the Test Case ID and planid is the Test Plan ID: {{{ /teststatusupdate?id=5&planid=1&status=SUCCESSFUL }}} The supported statuses are currently: - TO_BE_TESTED - SUCCESSFUL - FAILED [[BR]][[BR]] == Traceability between Test Cases and Tickets == You can open a Ticket and have a traceback to the (e.g. failed) Test Case as follows. [[BR]] === Open a Ticket on a Test Case === Whether you deploy TracTicketTemplatePlugin or not, you can get the following URL, where testCaseNumber is the Test Case complete path, planid is the Test Plan ID and planName is its name: {{{ /newticket?testCaseNumber=TC_TT0_TC0&planId=1&planName=Test%20Plan%20for%2020100818&description=Test%20Case:%20[wiki:TC_TT0_TC0],%20Test%20Plan:%20Test%20Plan%20for%2020100818%20(1) }}} this will redirect to a Ticket edit page, with the Test Case in Test Plan hyperlink in the description (as Wiki page references). You can simply post the form to create the Ticket.