Exemplo n.º 1
0
        /// <summary>
        /// get a test case id. If the test case does not exist then create one
        /// </summary>
        /// <param name="testName"></param>
        /// <returns>a valid test case id or 0 in case of failure</returns>
        public int GetTestCaseId(string testName)
        {
            int TCaseId = getTestCaseByName(testName, testSuiteId);

            if (TCaseId == 0)
            {
                // need to create test case
                GeneralResult result = proxy.CreateTestCase(connectionData.UserId, testSuiteId, testName, testProjectId,
                                                            "Automated TestCase", new TestStep[0], "", 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);
        }
        public int AddTestIfNotExisting(string testName, string testSuite, string testDescription = "")
        {
            int testSuiteId;

            if (testSuiteDirectory.ContainsKey(testSuite))
            {
                testSuiteId = testSuiteDirectory[testSuite];
            }
            else
            {
                testSuiteId = GetTestSuiteId(projectData.ProjectId, testSuite, true);
                testSuiteDirectory.Add(testSuite, testSuiteId);
            }

            int           TCaseId = getTestCaseByName(testName, testSuiteId);
            GeneralResult result;

            if (TCaseId == 0)
            {
                // need to create test case
                result = proxy.CreateTestCase(connectionData.User, testSuiteId, testName, projectData.ProjectId,
                                              testDescription, new TestStep[0], "", 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}", projectData.ProjectPrefix, tcExternalId);
                int    featureId  = proxy.addTestCaseToTestPlan(projectData.ProjectId, projectData.TestplanId, externalId, result.additionalInfo.version_number, projectData.PlatformId);
                if (featureId == 0)
                {
                    Console.Error.WriteLine("Failed to assign TestCase {0} to testplan", testName);
                    return(0);
                }
            }

            return(TCaseId);
        }