def test_prune_test_from_suite(self): suite = self.suite.suites[0] assert_equal(len(suite.suites), 0) assert_equal(len(suite.tests), 1) SuiteBuilder(JsBuildingContext(prune_input=True)).build(suite) assert_equal(len(suite.suites), 0) assert_equal(len(suite.tests), 0)
def test_timestamps(self): suite = TestSuite(starttime='20111205 00:33:33.333') suite.setup.config(kwname='s1', starttime='20111205 00:33:33.334') suite.setup.body.create_message('Message', timestamp='20111205 00:33:33.343') suite.setup.body.create_message(level='DEBUG', timestamp='20111205 00:33:33.344') suite.tests.create(starttime='20111205 00:33:34.333') context = JsBuildingContext() model = SuiteBuilder(context).build(suite) self._verify_status(model[5], start=0) self._verify_status(model[-2][0][8], start=1) self._verify_mapped(model[-2][0][-1], context.strings, ((10, 2, 'Message'), (11, 1, ''))) self._verify_status(model[-3][0][4], start=1000)
def test_no_pruning(self): SuiteBuilder(JsBuildingContext(prune_input=False)).build(self.suite) assert_equal(self.suite.setup.kwname, 's') assert_equal(self.suite.teardown.kwname, 't') assert_equal(self.suite.suites[0].setup.kwname, 's1') assert_equal(self.suite.suites[0].teardown.kwname, None) assert_equal(self.suite.suites[0].tests[0].setup.kwname, 'tcs') assert_equal(self.suite.suites[0].tests[0].teardown.kwname, 'tct') assert_equal(len(self.suite.suites[0].tests[0].body), 3) assert_equal(len(self.suite.suites[0].tests[0].body[0].body), 5) assert_equal(len(self.suite.suites[0].tests[0].body[0].messages), 3) assert_equal(self.suite.suites[0].tests[0].body[0].teardown.kwname, 'kt') assert_equal(len(self.suite.suites[1].tests[0].body), 1) assert_equal(len(self.suite.suites[1].tests[1].body), 2)
def test_message_linking(self): suite = self._get_suite_with_keywords() msg1 = suite.setup.body[0].body.create_message( 'Message 1', 'WARN', timestamp='20111204 22:04:03.210') msg2 = suite.tests.create().body.create_keyword().body.create_message( 'Message 2', 'ERROR', timestamp='20111204 22:04:04.210') context = JsBuildingContext(split_log=True) SuiteBuilder(context).build(suite) errors = ErrorsBuilder(context).build(ExecutionErrors([msg1, msg2])) assert_equal(remap(errors, context.strings), ((-1000, 3, 'Message 1', 's1-k1-k1'), (0, 4, 'Message 2', 's1-t1-k1'))) assert_equal(remap(context.link(msg1), context.strings), 's1-k1-k1') assert_equal(remap(context.link(msg2), context.strings), 's1-t1-k1') assert_true('*s1-k1-k1' in context.strings) assert_true('*s1-t1-k1' in context.strings) for res in context.split_results: assert_true('*s1-k1-k1' not in res[1]) assert_true('*s1-t1-k1' not in res[1])
def _create_suite_model(self): self.context = JsBuildingContext() return SuiteBuilder(self.context).build(self._get_suite())
def _build_and_remap(self, suite, split_log=False): context = JsBuildingContext(split_log=split_log) model = remap(SuiteBuilder(context).build(suite), context.strings) return self._to_list(model), context