示例#1
0
        # create a randomize log file name in /tmp
        rnum = random.randint(10000, 99999)
        logname = "log" + str(rnum) + ".log"
        logpath = os.path.join('/tmp', logname)

        # call quilt submit -y logging_not_a_pattern -l DEBUG --log-file
        #   random_log_file
        queryStr = 'logging_not_a_pattern'
        quilt_test_core.call_quilt_script('quilt_submit.py',
                                          [queryStr, '--log-file', logpath],
                                          whichReturn=sei_core.EXITCODE,
                                          checkCall=False)

        # check resulting log file contains "logging_not_a_pattern"
        exists = 0 == sei_core.run_process(
            'grep "' + queryStr + '" "' + logpath + '" > /dev/null', shell=True,
            whichReturn=sei_core.EXITCODE, checkCall=False)
        self.assertTrue(exists)

        # delete the temp log file
        os.remove(logpath)


if __name__ == "__main__":
    quilt_test_core.unittest_main_helper(
        "Run integration test that verifies at least some logic functionality"
        " is behaving as desired",
        sys.argv)
    unittest.main()
示例#2
0
    def test_basic_status(self):

        quilt_lib_dir = quilt_test_core.get_quilt_lib_dir()
        # assemble the filename for query master
        quilt_status_file = os.path.join(quilt_lib_dir, 'quilt_status.py')

        # call quilt_status (check return code, capture output)
        out = sei_core.run_process([quilt_status_file, '-l', 'DEBUG'],
            whichReturn=sei_core.STDOUT, logToPython=False)

        # assure that name of the test source manager appears in the
        # output, test source name specified in testing 
        # config smd.d dir
        cfg = quilt_core.QuiltConfig()
        smgrs = cfg.GetSourceManagers()
        for smgr in smgrs:
            self.assertTrue(smgr in out)

        # check qmd to be sure that all quilt_status's have 
        # unregistered when process exits
        with quilt_core.GetQueryMasterProxy(cfg) as qm:
            qs = qm.GetClients("QuiltStatus")
            self.assertTrue(len(qs) == 0)


if __name__ == "__main__":
    quilt_test_core.unittest_main_helper("Run the most basic of test cases",
        sys.argv)
    unittest.main()
示例#3
0
        result is sorted
        """

        # issue a valid query
        # Assure proper execution, and get results from quilt_history
        o = str(quilt_test_core.call_quilt_script('quilt_submit.py', [
            '-y', 'out_of_order']))

        o = self.check_query_and_get_results3(o)

        # Check results
        #   assure that results are in order
        l = []
        for i in xrange(1, 6):
            searchStr = "{'timestamp': " + str(i) + '}'
            index = o.find(searchStr)
            logging.debug("looking for string: " + searchStr)
            self.assertTrue(index != -1)
            l.append(index)

        isSorted = all(l[i] <= l[i + 1] for i in xrange(len(l) - 1))
        self.assertTrue(isSorted)


if __name__ == "__main__":
    quilt_test_core.unittest_main_helper(
        "Run integration test for assuring unordered sources are ordered by "
        "the system",
        sys.argv)
    unittest.main()
示例#4
0
            len([m.start() for m in re.finditer(
                "Occurs_1_time", o)]))

        # have to +2 because the search variable 
        # and src query spec is also in the stdout
        self.assertTrue(occurences == 1 + 2)

        occurences = (
            len([m.start() for m in re.finditer(
                "Occurs_3_times", o)]))
        self.assertTrue(occurences == 1 + 4)


        # have no + 1, these are defaults set from src pattern

        occurences = (
            len([m.start() for m in re.finditer(
                "src default for pat2 occurs twice", o)]))
        self.assertTrue(occurences == 3)

        occurences = (
            len([m.start() for m in re.finditer(
                "src default for pat1 occurs once", o)]))
        self.assertTrue(occurences == 2)


if __name__ == "__main__":
    quilt_test_core.unittest_main_helper(
        "Run integration test for multiple basic source", sys.argv)
    unittest.main()
示例#5
0
        # issue the query using the qor pattern
        o = str(quilt_test_core.call_quilt_script('quilt_submit.py', [
            'semantics_qor', '-y'
        ]))
        # assure the query is successful, and get results
        o = self.check_query_and_get_results(o)

        # check that results contain one number only in small
        occurences = (
            len([m.start() for m in re.finditer(
                "{'timestamp': 9}", o)]))
        self.assertTrue(occurences == 1)

        # check that results contain one number only in med
        occurences = (
            len([m.start() for m in re.finditer(
                "{'timestamp': 20}", o)]))
        self.assertTrue(occurences == 1)
        # check that results contain one number only from both
        occurences = (
            len([m.start() for m in re.finditer(
                "{'timestamp': 10}", o)]))
        self.assertTrue(occurences == 1)


if __name__ == "__main__":
    quilt_test_core.unittest_main_helper(
        "Run integration test for semantic processing", sys.argv)
    unittest.main()
        self.contains_once(o, "{'timestamp': 5}")
        self.contains_once(o, "{'timestamp': 7}")
        self.contains_once(o, "{'timestamp': 9}")


    def test_concurrent(self):
        """
        submits the dups_concurrent pattern and assures that no duplicates
        are reported Also assures that correct values are placed in
        results
        """

        # issue a valid query
        # Assure proper execution, and get results from quilt_history
        o = str(quilt_test_core.call_quilt_script('quilt_submit.py', [
            '-y', 'dups_concurrent']))

        o = self.check_query_and_get_results2(o)

        self.contains_once(o, "{'timestamp': 2}")
        self.contains_once(o, "{'timestamp': 4}")
        self.contains_once(o, "{'timestamp': 6}")
        self.contains_once(o, "{'timestamp': 8}")
        self.contains_once(o, "{'timestamp': 10}")


if __name__ == "__main__":
    quilt_test_core.unittest_main_helper(
        "Run integration test for duplicate event prevention", sys.argv)
    unittest.main()