def test_nested_structure(self): suite = TestSuite() suite.keywords = [Keyword(type='setup'), Keyword(type='teardown')] K1 = self._verify_keyword(suite.keywords[0], type=1) K2 = self._verify_keyword(suite.keywords[1], type=2) 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)) suite.tests[0].keywords = [Keyword(type=Keyword.FOR_LOOP_TYPE), Keyword()] suite.tests[0].keywords[0].keywords = [Keyword(type=Keyword.FOR_ITEM_TYPE)] suite.tests[0].keywords[0].messages = [Message()] k = self._verify_keyword(suite.tests[0].keywords[0].keywords[0], type=4) m = self._verify_message(suite.tests[0].keywords[0].messages[0]) k1 = self._verify_keyword(suite.tests[0].keywords[0], type=3, keywords=(k,), messages=(m,)) suite.tests[0].keywords[1].messages = [Message(), Message('msg', level='TRACE')] m1 = self._verify_message(suite.tests[0].keywords[1].messages[0]) m2 = self._verify_message(suite.tests[0].keywords[1].messages[1], 'msg', level=0) k2 = self._verify_keyword(suite.tests[0].keywords[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)) self._verify_min_message_level('TRACE')
def test_nested_structure(self): suite = TestSuite() suite.setup.config(kwname='setup') suite.teardown.config(kwname='td') 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), Keyword()] suite.tests[0].body[0].body = [Keyword(type=Keyword.ITERATION), 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, body=(k, m)) suite.tests[0].body[1].body = [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], body=(m1, m2)) T1 = self._verify_test(suite.tests[0], body=(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_id(self): kw = TestSuite().tests.create().body.create_keyword() kw.body = [Keyword(), Message(), Keyword()] kw.body[-1].body = [Message(), Keyword(), Message()] assert_equal(kw.body[0].id, 's1-t1-k1-k1') assert_equal(kw.body[1].id, 's1-t1-k1-m1') assert_equal(kw.body[2].id, 's1-t1-k1-k2') assert_equal(kw.body[2].body[0].id, 's1-t1-k1-k2-m1') assert_equal(kw.body[2].body[1].id, 's1-t1-k1-k2-k1') assert_equal(kw.body[2].body[2].id, 's1-t1-k1-k2-m2')
def test_keywords_deprecation(self): kw = Keyword() kw.body = [Keyword(), Message(), Keyword(), Keyword(), Message()] kw.teardown.config(kwname='T') with warnings.catch_warnings(record=True) as w: kws = kw.keywords assert_equal(list(kws), [kw.body[0], kw.body[2], kw.body[3], kw.teardown]) assert_true('deprecated' in str(w[0].message)) assert_raises(AttributeError, kws.append, Keyword()) assert_raises(AttributeError, setattr, kw, 'keywords', [])
def test_order_after_modifications(self): kw = Keyword('parent') kw.body.create_keyword('k1') kw.body.create_message('m1') k2 = kw.body.create_keyword('k2') m2 = kw.body.create_message('m2') k1 = kw.body[0] = Keyword('k1-new') m1 = kw.body[1] = Message('m1-new') m3 = Message('m3') kw.body.append(m3) k3 = Keyword('k3') kw.body.extend([k3]) assert_equal(list(kw.body), [k1, m1, k2, m2, m3, k3]) kw.body = [k3, m2, k1] assert_equal(list(kw.body), [k3, m2, k1])
def test_order_after_modifications(self): kw = Keyword() kw.keywords.create('k1') kw.messages.create('m1') k2 = kw.keywords.create('k2') m2 = kw.messages.create('m2') k1 = kw.keywords[0] = Keyword('k1-new') m1 = kw.messages[0] = Message('m1-new') m3 = Message('m3') kw.messages.append(m3) k3 = Keyword('k3') kw.keywords.extend([k3]) assert_equal(kw.children, [k1, m1, k2, m2, m3, k3]) kw.keywords = [k1, k3] kw.messages = [m1] assert_equal(kw.children, [k1, m1, k3])
def test_error_linking(self): msg = Message('ERROR Message', 'ERROR', timestamp='20150609 01:02:03.004', parent=TestCase().keywords.create().keywords.create()) 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 test_warning_linking(self): msg = Message('Message', 'WARN', timestamp='20111204 22:04:03.210', parent=TestCase().keywords.create()) 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 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(), 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): 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_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')
def test_default_message(self): self._verify_message(Message()) self._verify_min_message_level('INFO')
def test_message(self): self._verify(Message())