def retest_for_testrun(step, scope, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) only_failed = (scope == "only failed") testrunModel.retest(testrun, only_failed = only_failed)
def retest_for_testrun(step, scope, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) only_failed = (scope == "only failed") testrunModel.retest(testrun, only_failed=only_failed)
def add_users_to_testrun(step, stored, testrun_name): testrunModel = TestrunModel() testrun_name = testrunModel.get_stored_or_store_name(stored, testrun_name) user_ids = [] for user in step.hashes: user_id = UserModel().get_resid(user["name"])[0] user_ids.append(user_id) testrunModel.add_team_members(testrun_name, user_ids)
def approve_result_for_testrun(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testcaseModel = TestcaseModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] for testcase in step.hashes: testcase_id = testcaseModel.get_resid(testcase["name"])[0] testrunModel.approve_result(testrun_id, testcase_id)
def add_envgroups_to_testrun(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun_name = testrunModel.get_stored_or_store_name(stored_testrun, testrun_name) envgrp_ids = [] for envgrp in step.hashes: envgrp_id = EnvironmentgroupModel().get_resid(envgrp["name"])[0] envgrp_ids.append(envgrp_id) testrunModel.add_environmentgroups(testrun_name, envgrp_ids)
def user_marks_testcase_status(step, stored_user, user_name, stored_testrun, testrun_name): trModel = TestrunModel() testrun_name = trModel.get_stored_or_store_name(stored_testrun, testrun_name) userModel = UserModel() user_name = userModel.get_stored_or_store_name(stored_user, user_name) # first we need the testrun id so we can get the latest version to approve # user_id = UserModel().get_resid(user_name)[0] testrun_id = trModel.get_resid(testrun_name)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result_obj = trModel.get_result( testcase_id, includedtestcase_list=includedtestcase_list) result_id = get_resource_identity(result_obj)[0] started_result = trModel.start_testcase(result_obj, user_name) started_result_version = get_resource_identity(started_result)[1] # now finally mark it with the specified status trModel.set_testcase_status(result_id, started_result_version, user_name, tc["status"])
def testrun_has_environments(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = testrunModel.get_resid(testrun[ns("name")])[0] envgrp_list = testrunModel.get_environmentgroup_list(testrun_id) # walk through and verify that each environment is included for envgrp in step.hashes: # find that in the list of items verify_single_item_in_list(envgrp_list, "name", envgrp["name"])
def testrun_has_components(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] component_list = testrunModel.get_component_list(testrun_id) # walk through and verify that each testcase has the expected status for component in step.hashes: # find that in the list of testcases verify_single_item_in_list(component_list, "name", component["name"])
def assign_testcases_to_user_for_testrun(step, stored_user, user_name, stored_testrun, testrun_name): ''' Expect hashes to contain: | testcase name | ''' user_name = get_stored_or_store_name("user", stored_user, user_name) user_id = UserModel().get_resid(user_name)[0] testrun_name = get_stored_or_store_name("testrun", stored_testrun, testrun_name) trModel = TestrunModel() for tc in step.hashes: trModel.assign_testcase(testrun_name, user_id, tc["name"])
def testrun_results_have_approval_statuses(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testcaseModel = TestcaseModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] for testcase in step.hashes: testcase_id = testcaseModel.get_resid(testcase["name"])[0] result_obj = testrunModel.get_result(testcase_id, testrun_id) eq_(result_obj[ns("approvalStatusId")], get_approval_status_id(testcase["status"]), "Wrong approvalStatusId for result. Expected:\n%s" % testcase)
def user_marks_testcase_status(step, stored_user, user_name, stored_testrun, testrun_name): trModel = TestrunModel() testrun_name = trModel.get_stored_or_store_name(stored_testrun, testrun_name) userModel = UserModel() user_name = userModel.get_stored_or_store_name(stored_user, user_name) # first we need the testrun id so we can get the latest version to approve # user_id = UserModel().get_resid(user_name)[0] testrun_id = trModel.get_resid(testrun_name)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result_obj = trModel.get_result(testcase_id, includedtestcase_list = includedtestcase_list) result_id = get_resource_identity(result_obj)[0] started_result = trModel.start_testcase(result_obj, user_name) started_result_version = get_resource_identity(started_result)[1] # now finally mark it with the specified status trModel.set_testcase_status(result_id, started_result_version, user_name, tc["status"])
def testrun_has_testcases(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun # get the list of testcases for this testrun includedtestcase_list = testrunModel.get_included_testcases(testrun_id) # walk through and verify that each testcase has the expected status for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] # find that in the list of testcases verify_single_item_in_list(includedtestcase_list, "testCaseId", testcase_id)
def remember_the_url_for_the_testcase_result(step, stored_testcase, testcase_name, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) tcModel = TestcaseModel() testcase = tcModel.get_stored_or_store_obj(stored_testcase, testcase_name) testrun_id = get_resource_identity(testrun)[0] testcase_id = get_resource_identity(testcase)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) result = trModel.get_result(testcase_id, includedtestcase_list = includedtestcase_list) testresult_url = result[ns("resourceIdentity")]["@url"] get_stored_or_store_field("url", "testcaseRunResult", "", testresult_url)
def testrun_has_team_members(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] teammember_list = testrunModel.get_team_members_list(testrun_id) eq_list_length(teammember_list, step.hashes) for teammember in step.hashes: names = teammember["name"].split() verify_single_item_in_list(teammember_list, params = {"firstName": names[0], "lastName": names[1]} )
def fetch_results_by_ids(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testcaseModel = TestcaseModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] for testcase in step.hashes: # for each testcase name, fetch the result that matches it in the testrun list testcase_obj = testcaseModel.get_by_name(testcase["name"]) testcase_id = get_resource_identity(testcase_obj)[0] result_from_list = testrunModel.get_result(testcase_id, testrun_id = testrun_id) testresult_id = get_resource_identity(result_from_list)[0] result_from_endpoint = testrunModel.get_result_by_id(testresult_id) compare_dicts_by_keys(result_from_list, result_from_endpoint, ("testCaseId", "testRunId", "testSuiteId"))
def testrun_has_summary_counts(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) # get the list of testcases for this testrun summary_list = trModel.get_summary_list(testrun) # walk through and verify that each testcase has the expected status for category in step.hashes: # find that in the list of testcases status_id = get_result_status_id(category["name"]) categoryInfo = verify_single_item_in_list(summary_list, "categoryName", status_id) assert str(categoryInfo[ns("categoryValue")]) == category["count"], \ "%s count was wrong. Expected categoryName: %s , categoryValue: %s:\n%s" % \ (category["name"], status_id, category["count"], jstr(categoryInfo))
def retest_for_testcases(step, stored_testrun, testrun_name): ''' Step hashes can have a user name field or not. If it's not specified, it will, obviously, not pass a user id, so it will assign the new result object to the user of the previous result. ''' trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] try: tester_id = UserModel().get_resid(tc["user name"])[0] except KeyError: tester_id = None result = trModel.get_result( testcase_id, includedtestcase_list=includedtestcase_list) result_id = get_resource_identity(result)[0] trModel.retest_single(result_id, tester_id)
def remember_the_url_for_the_testcase_result(step, stored_testcase, testcase_name, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) tcModel = TestcaseModel() testcase = tcModel.get_stored_or_store_obj(stored_testcase, testcase_name) testrun_id = get_resource_identity(testrun)[0] testcase_id = get_resource_identity(testcase)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) result = trModel.get_result(testcase_id, includedtestcase_list=includedtestcase_list) testresult_url = result[ns("resourceIdentity")]["@url"] get_stored_or_store_field("url", "testcaseRunResult", "", testresult_url)
def testcases_have_result_statuses(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result = trModel.get_result( testcase_id, includedtestcase_list=includedtestcase_list) # ok, we have the tc result in question, now check that its status matches expectations eq_(result[ns("testRunResultStatusId")], get_result_status_id(tc["status"]), "testRunResultStatusId check")
def testrun_has_team_members(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] teammember_list = testrunModel.get_team_members_list(testrun_id) eq_list_length(teammember_list, step.hashes) for teammember in step.hashes: names = teammember["name"].split() verify_single_item_in_list(teammember_list, params={ "firstName": names[0], "lastName": names[1] })
def fetch_results_by_ids(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testcaseModel = TestcaseModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] for testcase in step.hashes: # for each testcase name, fetch the result that matches it in the testrun list testcase_obj = testcaseModel.get_by_name(testcase["name"]) testcase_id = get_resource_identity(testcase_obj)[0] result_from_list = testrunModel.get_result(testcase_id, testrun_id=testrun_id) testresult_id = get_resource_identity(result_from_list)[0] result_from_endpoint = testrunModel.get_result_by_id(testresult_id) compare_dicts_by_keys(result_from_list, result_from_endpoint, ("testCaseId", "testRunId", "testSuiteId"))
def testcases_have_environments(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result = trModel.get_result(testcase_id, includedtestcase_list = includedtestcase_list) testresult_id = get_resource_identity(result)[0] environments_list = trModel.get_result_environments_list(testresult_id) verify_single_item_in_list(environments_list, "name", tc["environment"])
def testcases_have_result_statuses(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result = trModel.get_result(testcase_id, includedtestcase_list = includedtestcase_list) # ok, we have the tc result in question, now check that its status matches expectations eq_(result[ns("testRunResultStatusId")], get_result_status_id(tc["status"]), "testRunResultStatusId check")
def create_testrun_with_name(step, stored, name, testcycle_name): testrunModel = TestrunModel() name = testrunModel.get_stored_or_store_name(stored, name) testcycle_id = TestcycleModel().get_resid(testcycle_name)[0] post_payload = {"testCycleId": testcycle_id, "name": name, "description": "Yeah, I'm gonna run to you...", "selfAssignAllowed": "true", "selfAssignPerEnvironment": "true", "selfAssignLimit": 10, "useLatestVersions": "true", "startDate": "2011/02/02", "endDate": "2012/02/02", "autoAssignToTeam": "true" } testrunModel.create(post_payload)
def create_testrun_with_name(step, stored, name, testcycle_name): testrunModel = TestrunModel() name = testrunModel.get_stored_or_store_name(stored, name) testcycle_id = TestcycleModel().get_resid(testcycle_name)[0] post_payload = { "testCycleId": testcycle_id, "name": name, "description": "Yeah, I'm gonna run to you...", "selfAssignAllowed": "true", "selfAssignPerEnvironment": "true", "selfAssignLimit": 10, "useLatestVersions": "true", "startDate": "2011/02/02", "endDate": "2012/02/02", "autoAssignToTeam": "true" } testrunModel.create(post_payload)
def testcases_have_pending_result_statuses(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] status_id = get_result_status_id("Pending") # get the list of testcases for this testrun result_list = trModel.search_for_results_by_result_status(testrun_id, status_id) eq_list_length(result_list, step.hashes) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result = verify_single_item_in_list(result_list, "testCaseId", testcase_id) # ok, we have the tc result in question, now check that its status matches expectations eq_(result[ns("testRunResultStatusId")], status_id, "testRunResultStatusId check")
def testcases_have_pending_result_statuses(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] status_id = get_result_status_id("Pending") # get the list of testcases for this testrun result_list = trModel.search_for_results_by_result_status( testrun_id, status_id) eq_list_length(result_list, step.hashes) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result = verify_single_item_in_list(result_list, "testCaseId", testcase_id) # ok, we have the tc result in question, now check that its status matches expectations eq_(result[ns("testRunResultStatusId")], status_id, "testRunResultStatusId check")
def retest_for_testcases(step, stored_testrun, testrun_name): ''' Step hashes can have a user name field or not. If it's not specified, it will, obviously, not pass a user id, so it will assign the new result object to the user of the previous result. ''' trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] try: tester_id = UserModel().get_resid(tc["user name"])[0] except KeyError: tester_id = None result = trModel.get_result(testcase_id, includedtestcase_list = includedtestcase_list) result_id = get_resource_identity(result)[0] trModel.retest_single(result_id, tester_id)
def check_url_for_the_testcase_result_has_not_changed(step, stored_testcase, testcase_name, stored_testrun, testrun_name): stored_url = get_stored_or_store_field("url", "testcaseRunResult", "that url", None) trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) tcModel = TestcaseModel() testcase = tcModel.get_stored_or_store_obj(stored_testcase, testcase_name) testrun_id = get_resource_identity(testrun)[0] testcase_id = get_resource_identity(testcase)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) result = trModel.get_result(testcase_id, includedtestcase_list = includedtestcase_list) testresult_url = result[ns("resourceIdentity")]["@url"] eq_(testresult_url, stored_url, "testRunResult URL check")
def check_url_for_the_testcase_result_has_not_changed(step, stored_testcase, testcase_name, stored_testrun, testrun_name): stored_url = get_stored_or_store_field("url", "testcaseRunResult", "that url", None) trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) tcModel = TestcaseModel() testcase = tcModel.get_stored_or_store_obj(stored_testcase, testcase_name) testrun_id = get_resource_identity(testrun)[0] testcase_id = get_resource_identity(testcase)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) result = trModel.get_result(testcase_id, includedtestcase_list=includedtestcase_list) testresult_url = result[ns("resourceIdentity")]["@url"] eq_(testresult_url, stored_url, "testRunResult URL check")
def testcases_have_environments(step, stored_testrun, testrun_name): trModel = TestrunModel() testrun = trModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrun_id = get_resource_identity(testrun)[0] # get the list of testcases for this testrun includedtestcase_list = trModel.get_included_testcases(testrun_id) for tc in step.hashes: testcase_id = TestcaseModel().get_resid(tc["name"])[0] result = trModel.get_result( testcase_id, includedtestcase_list=includedtestcase_list) testresult_id = get_resource_identity(result)[0] environments_list = trModel.get_result_environments_list(testresult_id) verify_single_item_in_list(environments_list, "name", tc["environment"])
def add_testsuites_to_testrun(step, stored, testrun_name): testrunModel = TestrunModel() testrun_name = testrunModel.get_stored_or_store_name(stored, testrun_name) for testsuite in step.hashes: testrunModel.add_testsuite(testrun_name, testsuite["name"])
def activate_testrun_with_name(step, stored, name): testrunModel = TestrunModel() name = testrunModel.get_stored_or_store_name(stored, name) testrunModel.activate(name)
def add_testcases_to_testrun(step, stored, testrun_name): testrunModel = TestrunModel() testrun_name = testrunModel.get_stored_or_store_name(stored, testrun_name) for tc in step.hashes: testrunModel.add_testcase(testrun_name, tc["testcase"])
def check_testrun_existence(step, stored, name, existence): testrunModel = TestrunModel() name = testrunModel.get_stored_or_store_name(stored, name) testrunModel.search_and_verify_existence(testrunModel.root_path, {"name": name}, existence)
def approve_all_results_for_testrun(step, stored_testrun, testrun_name): testrunModel = TestrunModel() testrun = testrunModel.get_stored_or_store_obj(stored_testrun, testrun_name) testrunModel.approve_all_results(testrun)