def test_nested_structure(self): suite = TestSuite() suite.setup.config(kwname='setup', type='setup') suite.teardown.config(kwname='td', type='teardown') K1 = self._verify_keyword(suite.setup, type=1, kwname='setup') K2 = self._verify_keyword(suite.teardown, type=2, kwname='td') suite.suites = [TestSuite()] suite.suites[0].tests = [TestCase(tags=['crit', 'xxx'])] t = self._verify_test(suite.suites[0].tests[0], tags=('crit', 'xxx')) suite.tests = [TestCase(), TestCase(status='PASS')] S1 = self._verify_suite(suite.suites[0], status=0, tests=(t,), stats=(1, 0, 1, 0)) suite.tests[0].body = [Keyword(type=Keyword.FOR_TYPE), Keyword()] suite.tests[0].body[0].body = [Keyword(type=Keyword.FOR_ITEM_TYPE)] suite.tests[0].body[0].messages = [Message()] k = self._verify_keyword(suite.tests[0].body[0].body[0], type=4) m = self._verify_message(suite.tests[0].body[0].messages[0]) k1 = self._verify_keyword(suite.tests[0].body[0], type=3, keywords=(k,), messages=(m,)) suite.tests[0].body[1].messages = [Message(), Message('msg', level='TRACE')] m1 = self._verify_message(suite.tests[0].body[1].messages[0]) m2 = self._verify_message(suite.tests[0].body[1].messages[1], 'msg', level=0) k2 = self._verify_keyword(suite.tests[0].body[1], messages=(m1, m2)) T1 = self._verify_test(suite.tests[0], keywords=(k1, k2)) T2 = self._verify_test(suite.tests[1], status=1) self._verify_suite(suite, status=0, keywords=(K1, K2), suites=(S1,), tests=(T1, T2), stats=(3, 1, 2, 0)) self._verify_min_message_level('TRACE')
def test_order_after_modifications(self): kw = Keyword('parent') kw.body.create('k1') kw.messages.create('m1') k2 = kw.body.create('k2') m2 = kw.messages.create('m2') k1 = kw.body[0] = Keyword('k1-new') m1 = kw.messages[0] = Message('m1-new') m3 = Message('m3') kw.messages.append(m3) k3 = Keyword('k3') kw.body.extend([k3]) assert_equal(kw.children, [k1, m1, k2, m2, m3, k3]) kw.body = [k1, k3] kw.messages = [m1] assert_equal(kw.children, [k1, m1, k3])
def test_warning_linking(self): msg = Message('Message', 'WARN', timestamp='20111204 22:04:03.210', parent=TestCase().body.create_keyword()) self._verify_message(msg, 'Message', 3, 0) links = self.context._msg_links assert_equal(len(links), 1) key = (msg.message, msg.level, msg.timestamp) assert_equal(remap(links[key], self.context.strings), 't1-k1')
def test_error_linking(self): msg = Message('ERROR Message', 'ERROR', timestamp='20150609 01:02:03.004', parent=TestCase().body.create_keyword('Parent KW').body.create_keyword('Child KW')) self._verify_message(msg, 'ERROR Message', 4, 0) links = self.context._msg_links assert_equal(len(links), 1) key = (msg.message, msg.level, msg.timestamp) assert_equal(remap(links[key], self.context.strings), 't1-k1-k1')
def setUp(self): self.suite = TestSuite() self.suite.setup.config(kwname='s') self.suite.teardown.config(kwname='t') s1 = self.suite.suites.create() s1.setup.config(kwname='s1') tc = s1.tests.create() tc.setup.config(kwname='tcs') tc.teardown.config(kwname='tct') tc.body = [Keyword(), Keyword(), Keyword()] tc.body[0].body = [Keyword(), Keyword()] tc.body[0].messages = [Message(), Message(), Message()] tc.body[0].teardown.config(kwname='kt') s2 = self.suite.suites.create() t1 = s2.tests.create() t2 = s2.tests.create() t1.body = [Keyword()] t2.body = [Keyword(), Keyword()]
def setUp(self): self.empty = Message() self.ascii = Message('Kekkonen') self.non_ascii = Message(u'hyv\xe4 nimi')
def test_html(self): assert_equal(Message('Hello, Kitty!', html=True).html_message, 'Hello, Kitty!') assert_equal(Message('<b> & ftp://x', html=True).html_message, '<b> & ftp://x')
def test_no_html(self): assert_equal(Message('Hello, Kitty!').html_message, 'Hello, Kitty!') assert_equal(Message('<b> & ftp://x').html_message, '<b> & <a href="ftp://x">ftp://x</a>')
def test_id_without_parent(self): assert_equal(Message().id, 'm1')
def __init__(self, message, level='INFO', html=False, timestamp=None): message = self._normalize_message(message) level, html = self._get_level_and_html(level, html) timestamp = timestamp or utils.get_timestamp() BaseMessage.__init__(self, message, level, html, timestamp)
def setUp(self): msgs = [Message('Error', 'ERROR', timestamp='20111206 14:33:00.000'), Message('Warning', 'WARN', timestamp='20111206 14:33:00.042')] self.errors = ExecutionErrors(msgs)
def test_prune_errors(self): errors = ExecutionErrors([Message(), Message()]) ErrorsBuilder(JsBuildingContext(prune_input=False)).build(errors) assert_equal(len(errors), 2) ErrorsBuilder(JsBuildingContext(prune_input=True)).build(errors) assert_equal(len(errors), 0)
def test_message_with_html(self): self._verify_message(Message('<img>'), '<img>') self._verify_message(Message('<b></b>', html=True), '<b></b>')
def test_slots(self): assert_raises(AttributeError, setattr, Message(), 'attr', 'value')
def test_default_message(self): self._verify_message(Message()) self._verify_min_message_level('INFO')
def test_empty(self): assert_equal(Message().html_message, '') assert_equal(Message(html=True).html_message, '')
def test_message(self): self._verify(Message())
def test_message_with_values(self): msg = Message('Message', 'DEBUG', timestamp='20111204 22:04:03.210') self._verify_message(msg, 'Message', 1, 0) self._verify_min_message_level('DEBUG')