def test_report_local_fail(self): if self.port is None: port = 8133 count = 8 server = test_server.TestServer(port, count) thread = threading.Thread(None, server.start_server) thread.start() else: port = self.port log_file = os.tempnam(None, "stasis-") case_lib = stasis.TestCaseLibrary(self.cv) url = stasis.buildUrl("localhost", "user", "pass", "/", "http", port) xml_file = "seq_report_fail.xml" params = {} sequence_lib = stasis.TestSequenceLibrary(case_lib) series = sequence_lib.load(xml_file) log_reporter = stasis.LogTestCaseReporter(3, logfile=log_file) series.addReporter(log_reporter) testopia_reporter = stasis.TestopiaCaseReporter(url) series.addReporter(testopia_reporter) dispatcher = stasis.RunDispatcher(series, self.rr) dispatcher.run() case_fail_count = 0 fail_count = 0 fd = open(log_file, 'r') for line in fd.readlines(): if re.search("CASE_FAIL_", line): case_fail_count += 1 if re.search(" FAIL ", line): fail_count += 1 fd.close() self.assertEqual(fail_count, 2) self.assertEqual(case_fail_count, 4)
def test_report_local_fail(self): port = 8232 server = test_server.TestServer(port) server.count = 4 server.start() log_file = os.tempnam(None,"stasis-") case_lib = stasis.TestCaseLibrary(self.cv) url = stasis.buildUrl("localhost","user","pass","","http", port) xml_file = os.path.join("testopia_run_files","seq_report_fail.xml") params = {} sequence_lib = stasis.TestSequenceLibrary(self.cv, self.sv, case_lib) sequence = sequence_lib.load(xml_file) log_reporter = stasis.LogTestCaseReporter(2, logfile=log_file) sequence.addReporter(log_reporter) testopia_reporter = stasis.TestopiaCaseReporter(url) sequence.addReporter(testopia_reporter) runner = stasis.Runner(sequence, params) runner.run(wait_before_kill=3) begin_count = 0 pass_count = 0 total = 2 fd = open(log_file, 'r') for line in fd.readlines(): if re.search(" BEGIN ", line): begin_count += 1 if re.search(" ERROR ", line): pass_count += 1 fd.close() self.assertEqual(pass_count, total) self.assertEqual(begin_count, total)
def test_list_seqence_local(self): port = 8222 #server.count = 4 server = test_server.TestServer(port, 4) thread.start_new(server.start_server, ()) url = "http://localhost:%s" % (port) status, out = commands.getstatusoutput("%s -u %s -U %s -P %s -l %s 32" % ( self.script_name, url, self.username, self.password, "list")) self.assertEqual(status, 0)
def test_run_seqence_local(self): port = 8222 server = test_server.TestServer(port) server.count = 4 server.start() log_file = os.tempnam(None,"stasis-") case_lib = stasis.TestCaseLibrary(self.cv) #url = stasis.buildUrl("localhost","user","pass","","http", port) url = "http://localhost:%s" % (port) status, out = commands.getstatusoutput("%s -u %s -U %s -P %s 32" % ( self.script_name, url, self.username, self.password)) self.assertEqual(status, 0)
def test_sequence_save_ini(self): if self.port is None: port = 8817 count = 12 server = test_server.TestServer(port, count) thread = threading.Thread(None, server.start_server) thread.start() else: port = self.port ini_file = os.tempnam(None, "stasis_") case_lib = stasis.TestCaseLibrary(self.cv) url = stasis.buildUrl("localhost", "user", "pass", "/", "http", port) params = {} sequence_lib = stasis.TestSequenceLibrary(case_lib) series = sequence_lib.load(32, url) print "INI FILE: %s" % ini_file fd = open(ini_file, 'w') parser = ConfigParser.SafeConfigParser() for tc in series: tc.addConfSection(parser) parser.write(fd) fd.close() fd = open(ini_file, 'r') found_file_2 = False found_file_22 = False found_function = False line_count = 0 section_count = 0 lines = fd.readlines() fd.close() for line in lines: line_count += 1 if re.search(' = case_pass_22', line): found_file_22 = True elif re.search(' = case_pass_2', line): found_file_2 = True elif re.search(' = test_case_pass_func', line): found_function = True elif re.search('\[.*/', line): section_count += 1 self.assertEqual(line_count, 108) self.assertEqual(section_count, 9) self.assert_(found_file_2) self.assert_(found_file_22) self.assert_(found_function)
def test_list_seqence_local(self): if self.port is None: port = 8213 server = test_server.TestServer(port, 10) server.count = 11 thread = threading.Thread(None, server.start_server) thread.start() else: port = self.port url = "http://%s:%s@localhost:%s" % (self.password, self.username, port) script_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0]))), "scripts") cmd = "%s -u %s -l list 32" % (os.path.join(script_path, self.script_name), url) status, out = commands.getstatusoutput(cmd) self.assertEqual(status, 0) lines = out.split("\n") self.assertEqual(len(lines), 3) case_count = 0 for line in lines: if re.search("case_pass_2", line): case_count += 1 self.assertEqual(case_count, 2)
def test_run_seqence_local(self): if self.port is None: port = 8113 count = 12 server = test_server.TestServer(port, count) thread = threading.Thread(None, server.start_server) thread.start() else: port = self.port log_file = os.tempnam(None, "stasis-") print "Log file: %s" % (log_file) case_lib = stasis.TestCaseLibrary(self.cv) url = stasis.buildUrl("localhost", "user", "pass", "/", "http", port) params = {} sequence_lib = stasis.TestSequenceLibrary(case_lib) series = sequence_lib.load(32, url) log_reporter = stasis.LogTestCaseReporter(debug=TestStasisTestopiaLocal.debug, \ logfile=log_file) series.addReporter(log_reporter) dispatcher = stasis.RunDispatcher(series, self.rr) dispatcher.run() case_pass_count = 0 pass_count = 0 total = 3 fd = open(log_file, 'r') for line in fd.readlines(): if re.search("CASE_PASS_", line): case_pass_count += 1 if re.search(" PASS ", line): pass_count += 1 fd.close() self.assertEqual(pass_count, total) self.assertEqual(case_pass_count, total)
def test_seqence_local_pass(self): if self.port is None: port = 8224 server = test_server.TestServer(port, 10) server.count = 17 thread = threading.Thread(None, server.start_server) thread.start() else: port = self.port url = "http://%s:%s@localhost:%s" % (self.password, self.username, port) script_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0]))), "scripts") cmd = "%s -u %s -vv 32" % (os.path.join(script_path, self.script_name), url) status, out = commands.getstatusoutput(cmd) self.assertEqual(status, 0) logdir = None lines = out.split("\n") for line in lines: m = re.search("Log directory: (.*)$", line) if m: logdir = m.group(1) self.assert_(logdir is not None) #self.assertEqual(len(lines), 3) logs = glob.glob(os.path.join(logdir,"run*log")) self.assertEqual(len(logs), 1) fd = open(logs[0]) lines = fd.readlines() fd.close() case_count = 0 for line in lines: if re.search("case_pass_2", line): case_count += 1 self.assertEqual(case_count, 4)