/// <summary>
/// get a test case id. If the test case does not exist then create one
/// </summary>
/// <param name="testName"></param>
/// <param name="testSuiteId"></param>
/// <param name="authorId"></param>
/// <param name="projectId"></param>
/// <returns>a valid test case id or 0 in case of failure</returns>
private int getTestCaseId(string testName, int testSuiteId, string authorId, int projectId, int testPlanId)
{
int TCaseId = getTestCaseByName(testName, testSuiteId);
if (TCaseId == 0)
{
// need to create test case
GeneralResult result = proxy.CreateTestCase(authorId, testSuiteId, testName, projectId,
"Automated TestCase", "", 0,
true, ActionOnDuplicatedName.Block, 2, 2);
TCaseId = result.additionalInfo.id;
int tcExternalId = result.additionalInfo.external_id;
if (result.status == false)
{
Console.Error.WriteLine("Failed to create TestCase for {0}", testName);
Console.Error.WriteLine(" Reason {0}", result.message);
return(0);
}
string externalId = string.Format("{0}-{1}", currentProject.prefix, tcExternalId);
int featureId = proxy.addTestCaseToTestPlan(currentProject.id, testPlanId, externalId, result.additionalInfo.version_number);
if (featureId == 0)
{
Console.Error.WriteLine("Failed to assign TestCase {0} to testplan", testName);
return(0);
}
}
return(TCaseId);
}