Beispiel #1
0
    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")
Beispiel #2
0
 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)
Beispiel #3
0
    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
Beispiel #4
0
 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 []
Beispiel #5
0
    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