def test_id_with_keyword_parents(self): kw = TestSuite().tests.create().keywords.create() kw.keywords = [Keyword(), Keyword()] kw.keywords[-1].keywords.create() assert_equal(kw.keywords[0].id, 's1-t1-k1-k1') assert_equal(kw.keywords[1].id, 's1-t1-k1-k2') assert_equal(kw.keywords[1].keywords[0].id, 's1-t1-k1-k2-k1')
def test_id_with_keyword_parents(self): kw = TestSuite().tests.create().body.create('parent') kw.body = [Keyword('child1'), Keyword('child2')] kw.body[-1].body.create() assert_equal(kw.body[0].id, 's1-t1-k1-k1') assert_equal(kw.body[1].id, 's1-t1-k1-k2') assert_equal(kw.body[1].body[0].id, 's1-t1-k1-k2-k1')
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 _get_suite_with_tests(self): suite = TestSuite(name='suite') suite.tests = [TestCase('t1'), TestCase('t2')] suite.tests[0].keywords = [Keyword('t1-k1'), Keyword('t1-k2')] suite.tests[0].keywords[0].keywords = [Keyword('t1-k1-k1')] suite.tests[1].keywords = [Keyword('t2-k1')] return suite
def _get_suite_with_keywords(self): suite = TestSuite(name='root') suite.keywords = [ Keyword('k1', type='setup'), Keyword('k2', type='teardown') ] suite.keywords[0].keywords = [Keyword('k1-k2')] return suite
def test_keyword_name(self): kw = Keyword('keyword') assert_equal(kw.name, 'keyword') kw = Keyword('keyword', 'lib') assert_equal(kw.name, 'lib.keyword') kw.kwname = 'Kekkonen' kw.libname = 'Urho' assert_equal(kw.name, 'Urho.Kekkonen')
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_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_id_with_keyword_parent(self): kw = Keyword() assert_equal(kw.body.create_message().id, 'k1-m1') assert_equal(kw.body.create_message().id, 'k1-m2') assert_equal(kw.body.create_keyword().id, 'k1-k1') assert_equal(kw.body.create_message().id, 'k1-m3') assert_equal(kw.body.create_keyword().body.create_message().id, 'k1-k2-m1')
def test_name_escaping(self): kw = Keyword('quote:"', 'and *url* https://url.com', '*"Doc"*',) self._verify_keyword(kw, 0, 'quote:"', 'and *url* https://url.com', '<b>"Doc"</b>') test = TestCase('quote:" and *url* https://url.com', '*"Doc"*',) self._verify_test(test, 'quote:" and *url* https://url.com', '<b>"Doc"</b>') suite = TestSuite('quote:" and *url* https://url.com', '*"Doc"*',) self._verify_suite(suite, 'quote:" and *url* https://url.com', '<b>"Doc"</b>')
def test_order(self): kw = Keyword() m1 = kw.messages.create('m1') k1 = kw.keywords.create('k1') k2 = kw.keywords.create('k2') m2 = kw.messages.create('m2') k3 = kw.keywords.create('k3') assert_equal(kw.children, [m1, k1, k2, m2, k3])
def test_keyword_with_values(self): kw = Keyword('KW Name', 'libname', 'http://doc', ('arg1', 'arg2'), ('${v1}', '${v2}'), ('tag1', 'tag2'), '1 second', 'setup', 'PASS', '20111204 19:42:42.000', '20111204 19:42:42.042') self._verify_keyword(kw, 1, 'KW Name', 'libname', '<a href="http://doc">http://doc</a>', 'arg1, arg2', '${v1}, ${v2}', 'tag1, tag2', '1 second', 1, 0, 42)
def test_order(self): kw = Keyword() m1 = kw.body.create_message('m1') k1 = kw.body.create_keyword('k1') k2 = kw.body.create_keyword('k2') m2 = kw.body.create_message('m2') k3 = kw.body.create_keyword('k3') assert_equal(list(kw.body), [m1, k1, k2, m2, k3])
def setUp(self): self.suite = TestSuite() self.suite.keywords = [Keyword(), Keyword()] s1 = self.suite.suites.create() s1.keywords.create() tc = s1.tests.create() tc.keywords = [Keyword(), Keyword(), Keyword()] s2 = self.suite.suites.create() t1 = s2.tests.create() t2 = s2.tests.create() t1.keywords = [Keyword()] t2.keywords = [Keyword(), Keyword()]
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 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): 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.keywords = [Keyword(), Keyword(), Keyword()] s2 = self.suite.suites.create() t1 = s2.tests.create() t2 = s2.tests.create() t1.keywords = [Keyword()] t2.keywords = [Keyword(), Keyword()]
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_only_keywords(self): kw = Keyword() for i in range(10): kw.body.create(str(i)) assert_equal(kw.children, list(kw.body))
def test_default_keyword(self): self._verify_keyword(Keyword())
def test_keyword_passed_failed_skipped_propertys(self): self._verify_passed_failed_skipped(Keyword())
def test_keyword_passed_after_dry_run(self): self._verify_passed_failed_skipped(Keyword(status='NOT_RUN'), initial_status='NOT_RUN')
def test_only_messages(self): kw = Keyword() for i in range(10): kw.messages.create(str(i)) assert_equal(kw.children, list(kw.messages))
def test_keyword(self): self._verify(Keyword())
def test_keyword_name_cannot_be_set_directly(self): assert_raises(AttributeError, setattr, Keyword(), 'name', 'value')
def test_only_messages(self): kw = Keyword() for i in range(10): kw.body.create_message(str(i)) assert_equal([m.message for m in kw.body], [str(i) for i in range(10)])
def test_only_keywords(self): kw = Keyword() for i in range(10): kw.body.create_keyword(str(i)) assert_equal([k.name for k in kw.body], [str(i) for i in range(10)])
def test_keyword_passed_after_dry_run(self): self._verify_status_propertys(Keyword(status=Keyword.NOT_RUN), initial_status=Keyword.NOT_RUN)
def test_status_propertys_with_keyword(self): self._verify_status_propertys(Keyword())