def total_testcases_by_tag_executed(self, tag): """ tag - can be a single tag or a list of tags. """ tags = tag if helpers.is_list(tag): tags = helpers.list_flatten(tags) tags_and_release = helpers.list_flatten( [self.release_lowercase(), tag]) return self.total_testcases_by_tag(tags_and_release, collection="test_cases_archive")
def remove_test_cases_matching_build(self, build_name, release=None, tags=None, collection='test_cases'): query = {"build_name": build_name} if release: query["tags"] = {"$all": helpers.list_flatten([release, tags])} return self.remove_docs(collection=collection, query=query)
def manual_by_tag(self, tag=None, collection="test_cases"): authors = self.suite_authors() if tag == None: tags = helpers.list_flatten([self.release_lowercase(), "manual"]) else: tags = helpers.list_flatten( [self.release_lowercase(), "manual", tag]) query = {"tags": {"$all": tags}, "build_name": self._build_name} testcases = self.catalog().db()[collection] cases = testcases.find(query) tests = [] for x in cases: tests.append("%s %s %s %s" % (authors[x['product_suite']], x['product_suite'], x['name'], [helpers.utf8(tag) for tag in x['tags']])) return tests
def releases(self, product): """ Returns a list of releases for a product or empty list for no match. """ if product in self.products(): releases_list = self.configs()['products'][product]['releases'] releases = helpers.list_flatten( [rel.keys() for rel in releases_list]) return releases return []
def total_testcases_by_tag(self, tag, collection="test_cases"): """ tag - can be a single tag or a list of tags. """ tags = [self.release_lowercase(), tag] if helpers.is_list(tag): tags = helpers.list_flatten(tags) query = {"tags": {"$all": tags}, "build_name": self._build_name} testcases = self.catalog().db()[collection] cases = testcases.find(query) total_testcases = 0 total_pass = 0 total_fail = 0 for x in cases: total_testcases += 1 status = x['status'] if status == 'PASS': total_pass += 1 elif status == 'FAIL': total_fail += 1 return total_testcases, total_pass, total_fail