class TestKeywordTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().keyword_table self.kw = UserKeyword(None, 'name') def test_init(self): assert_equal(self.table.keywords, []) def test_add_keyword(self): kw = self.table.add('My name') assert_true(len(self.table.keywords), 1) assert_true(self.table.keywords[0] is kw) assert_equal(kw.name, 'My name') def test_settings(self): assert_true(isinstance(self.kw.doc, Documentation)) assert_true(isinstance(self.kw.args, Arguments)) assert_true(isinstance(self.kw.return_, Return)) assert_true(isinstance(self.kw.timeout, Timeout)) assert_true(isinstance(self.kw.teardown, Fixture)) def test_set_settings(self): self.kw.doc.populate('My coooool doc') self.kw.args.populate(['${args}', 'are not', 'validated']) assert_equal(self.kw.doc.value, 'My coooool doc') assert_equal(self.kw.args.value, ['${args}', 'are not', 'validated']) def test_add_step(self): step = self.kw.add_step(['Keyword', 'arg1', 'arg2']) assert_equal(self.kw.steps, [step]) assert_equal(step.name, 'Keyword') assert_equal(step.args, ['arg1', 'arg2']) def test_add_for_loop(self): loop = self.kw.add_for_loop(['${var}', 'IN', 'value']) assert_equal(self.kw.steps, [loop]) def test_old_style_headers_are_ignored(self): self.table.set_header(['keywords', 'Action', 'Arg', 'Argument']) assert_equal(self.table.header, ['keywords']) def test_len(self): self.table.set_header(['Keywords']) assert_equal(len(self.table), 0) self.table.add('A kw') self.table.add('B keyword') assert_equal(len(self.table), 2)
class TestTestCaseTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().testcase_table self.test = TestCase(None, 'name') def test_init(self): assert_equal(self.table.tests, []) def test_add_test(self): test = self.table.add('My name') assert_true(len(self.table.tests), 1) assert_true(self.table.tests[0] is test) assert_equal(test.name, 'My name') def test_settings(self): assert_true(isinstance(self.test.doc, Documentation)) assert_true(isinstance(self.test.tags, Tags)) assert_true(isinstance(self.test.setup, Fixture)) assert_true(isinstance(self.test.teardown, Fixture)) assert_true(isinstance(self.test.timeout, Timeout)) def test_set_settings(self): self.test.doc.populate('My coooool doc') self.test.tags.populate(['My', 'coooool', 'tags']) assert_equal(self.test.doc.value, 'My coooool doc') assert_equal(self.test.tags.value, ['My', 'coooool', 'tags']) def test_add_step(self): step = self.test.add_step(['Keyword', 'arg1', 'arg2']) assert_equal(self.test.steps, [step]) assert_equal(step.name, 'Keyword') assert_equal(step.args, ['arg1', 'arg2']) def test_add_for_loop(self): loop = self.test.add_for_loop(['${var}', 'IN', 'value']) assert_equal(self.test.steps, [loop]) def test_old_style_headers_are_ignored(self): self.table.set_header(['test case', 'Action', 'Arg', 'Argument']) assert_equal(self.table.header, ['test case']) def test_len(self): self.table.set_header(['Test Case']) assert_equal(len(self.table), 0) self.table.add('A test') self.table.add('B test') assert_equal(len(self.table), 2)
class TestKeywordTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().keyword_table self.kw = UserKeyword(None, 'name') def test_init(self): assert_equal(self.table.keywords, []) def test_add_keyword(self): kw = self.table.add('My name') assert_true(len(self.table.keywords), 1) assert_true(self.table.keywords[0] is kw) assert_equal(kw.name, 'My name') def test_settings(self): assert_true(isinstance(self.kw.doc, Documentation)) assert_true(isinstance(self.kw.args, Arguments)) assert_true(isinstance(self.kw.return_, Return)) assert_true(isinstance(self.kw.timeout, Timeout)) assert_true(isinstance(self.kw.teardown, Fixture)) def test_set_settings(self): self.kw.doc.populate('My coooool doc') self.kw.args.populate(['${args}', 'are not', 'validated']) assert_equal(self.kw.doc.value, 'My coooool doc') assert_equal(self.kw.args.value, ['${args}', 'are not', 'validated']) def test_add_step(self): step = self.kw.add_step(['Keyword', 'arg1', 'arg2']) assert_equal(self.kw.steps, [step]) assert_equal(step.name, 'Keyword') assert_equal(step.args, ['arg1', 'arg2']) def test_add_for_loop(self): loop = self.kw.add_for_loop(['${var}', 'IN', 'value']) assert_equal(self.kw.steps, [loop]) def test_old_style_headers_are_ignored(self): self.table.set_header(['keywords', 'Action', 'Arg', 'Argument']) assert_equal(self.table.header, ['keywords']) def test_len(self): self.table.set_header(['Keywords']) assert_equal(len(self.table), 0) self.table.add('A kw') self.table.add('B keyword') assert_equal(len(self.table), 2)
class TestTestCaseTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().testcase_table self.test = TestCase(None, 'name') def test_init(self): assert_equal(self.table.tests, []) def test_add_test(self): test = self.table.add('My name') assert_true(len(self.table.tests), 1) assert_true(self.table.tests[0] is test) assert_equal(test.name, 'My name') def test_settings(self): assert_true(isinstance(self.test.doc, Documentation)) assert_true(isinstance(self.test.tags, Tags)) assert_true(isinstance(self.test.setup, Fixture)) assert_true(isinstance(self.test.teardown, Fixture)) assert_true(isinstance(self.test.timeout, Timeout)) def test_set_settings(self): self.test.doc.populate('My coooool doc') self.test.tags.populate(['My', 'coooool', 'tags']) assert_equal(self.test.doc.value, 'My coooool doc') assert_equal(self.test.tags.value, ['My', 'coooool', 'tags']) def test_add_step(self): step = self.test.add_step(['Keyword', 'arg1', 'arg2']) assert_equal(self.test.steps, [step]) assert_equal(step.name, 'Keyword') assert_equal(step.args, ['arg1', 'arg2']) def test_add_for_loop(self): loop = self.test.add_for_loop(['${var}', 'IN', 'value']) assert_equal(self.test.steps, [loop]) def test_old_style_headers_are_ignored(self): self.table.set_header(['test case', 'Action', 'Arg', 'Argument']) assert_equal(self.table.header, ['test case']) def test_len(self): self.table.set_header(['Test Case']) assert_equal(len(self.table), 0) self.table.add('A test') self.table.add('B test') assert_equal(len(self.table), 2)
class TestVariableTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().variable_table def test_init(self): assert_equal(self.table.variables, []) def test_add_variables(self): self.table.add('${SCALAR}', ['hello']) self.table.add('${S2} =', 'hello as string') self.table.add('@{LIST}', ['hello', 'world']) assert_equal(len(self.table.variables), 3) assert_equal(self.table.variables[0].name, '${SCALAR}') assert_equal(self.table.variables[0].value, ['hello']) assert_equal(self.table.variables[1].name, '${S2}') assert_equal(self.table.variables[1].value, ['hello as string']) assert_equal(self.table.variables[2].name, '@{LIST}') assert_equal(self.table.variables[2].value, ['hello', 'world']) def test_empty_value(self): self.table.add('${V1}', []) self.table.add('${V2}', '') assert_equal(self.table.variables[0].value, ['']) assert_equal(self.table.variables[1].value, ['']) def test_variable_syntax_is_not_verified(self): self.table.add('not var', 'the value') assert_equal(self.table.variables[0].name, 'not var') assert_equal(self.table.variables[0].value, ['the value']) def test_old_style_headers_are_ignored(self): self.table.set_header(['Variable', 'value', 'Value']) assert_equal(self.table.header, ['Variable']) def test_len(self): self.table.set_header(['Variable', 'value', 'Value']) assert_equal(len(self.table), 0) self.table.add('${a var}', 'some') self.table.add('@{b var}', 's', 'ome') assert_equal(len(self.table), 2)
class TestVariableTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().variable_table def test_init(self): assert_equal(self.table.variables, []) def test_add_variables(self): self.table.add('${SCALAR}', ['hello']) self.table.add('${S2} =', 'hello as string') self.table.add('@{LIST}', ['hello', 'world']) assert_equal(len(self.table.variables), 3) assert_equal(self.table.variables[0].name, '${SCALAR}') assert_equal(self.table.variables[0].value, ['hello']) assert_equal(self.table.variables[1].name, '${S2}') assert_equal(self.table.variables[1].value, ['hello as string']) assert_equal(self.table.variables[2].name, '@{LIST}') assert_equal(self.table.variables[2].value, ['hello', 'world']) def test_empty_value(self): self.table.add('${V1}', []) self.table.add('${V2}', '') assert_equal(self.table.variables[0].value, ['']) assert_equal(self.table.variables[1].value, ['']) def test_variable_syntax_is_not_verified(self): self.table.add('not var', 'the value') assert_equal(self.table.variables[0].name, 'not var') assert_equal(self.table.variables[0].value, ['the value']) def test_old_style_headers_are_ignored(self): self.table.set_header(['Variable', 'value', 'Value']) assert_equal(self.table.header, ['Variable']) def test_len(self): self.table.set_header(['Variable', 'value', 'Value']) assert_equal(len(self.table), 0) self.table.add('${a var}', 'some') self.table.add('@{b var}', 's', 'ome') assert_equal(len(self.table), 2)
class TestSettingTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().setting_table def test_init(self): assert_true(isinstance(self.table.doc, Documentation)) assert_true(isinstance(self.table.suite_setup, Fixture)) assert_true(isinstance(self.table.suite_teardown, Fixture)) assert_true(isinstance(self.table.test_setup, Fixture)) assert_true(isinstance(self.table.test_teardown, Fixture)) assert_true(isinstance(self.table.test_timeout, Timeout)) assert_true(isinstance(self.table.force_tags, Tags)) assert_true(isinstance(self.table.default_tags, Tags)) assert_equal(self.table.metadata.data, []) assert_equal(self.table.imports.data, []) def test_doc_default(self): assert_equal(self.table.doc.value, '') def test_set_doc_with_string(self): self.table.doc.populate('hello') assert_equal(self.table.doc.value, 'hello') def test_set_doc_with_list(self): self.table.doc.populate(['hello', 'world']) assert_equal(self.table.doc.value, 'helloworld') def test_fixture_default(self): assert_equal(self.table.suite_setup.name, None) assert_equal(self.table.suite_setup.args, []) assert_false(hasattr(self.table.suite_setup, 'value')) def test_set_fixture(self): self.table.suite_teardown.populate(['Name', 'a1', 'a2']) assert_equal(self.table.suite_teardown.name, 'Name') assert_equal(self.table.suite_teardown.args, ['a1', 'a2']) assert_false(hasattr(self.table.suite_teardown, 'value')) def test_set_fixture_with_empty_value(self): self.table.test_teardown.populate([]) assert_equal(self.table.test_teardown.name, '') assert_equal(self.table.test_teardown.args, []) def test_timeout_default(self): assert_equal(self.table.test_timeout.value, None) assert_equal(self.table.test_timeout.message, '') assert_false(hasattr(self.table.suite_setup, 'value')) def test_set_timeout(self): self.table.test_timeout.populate(['1s', 'msg', 'in multiple', 'cell']) assert_equal(self.table.test_timeout.value, '1s') assert_equal(self.table.test_timeout.message, 'msg in multiple cell') assert_false(hasattr(self.table.suite_teardown, 'value')) def test_set_timeout_with_empty_value(self): self.table.test_timeout.populate([]) assert_equal(self.table.test_timeout.value, '') assert_equal(self.table.test_timeout.message, '') def test_metadata(self): self.table.add_metadata('Foo', 'bar') self.table.add_metadata('boo', ['f', 'a', 'r']) assert_equal(len(self.table.metadata), 2) assert_equal(self.table.metadata[0].name, 'Foo') assert_equal(self.table.metadata[0].value, 'bar') assert_equal(self.table.metadata[1].name, 'boo') assert_equal(self.table.metadata[1].value, 'f a r') self.table.metadata[0] = self.table.metadata[1] assert_equal(self.table.metadata[0].name, 'boo') assert_equal(self.table.metadata[0].value, 'f a r') def test_imports(self): self._verify_import(self.table.add_library('Name'), 'Name') self._verify_import(self.table.add_resource('reso.txt'), 'reso.txt') self._verify_import(self.table.add_variables('varz.py'), 'varz.py') self._verify_import(self.table.add_variables('./v2.py', ['a1', 'a2']), './v2.py', ['a1', 'a2']) self._verify_import(self.table.add_library('N2', ['1', '2', '3', '4']), 'N2', ['1', '2', '3', '4']) assert_equal(len(self.table.imports), 5) assert_true(all(isinstance(im, _Import) for im in self.table.imports)) self.table.imports[1] = self.table.imports[0] assert_equal(self.table.imports[1].name, 'Name') def test_resource_with_invalid_args(self): reso = self.table.add_resource('reso.txt', ['invalid', 'args']) self._verify_import(reso, 'reso.txt invalid args') def test_library_with_name(self): lib = self.table.add_library('Name', ['WITH NAME', 'New name']) self._verify_import(lib, 'Name', [], 'New name') lib = self.table.add_library('Orig', ['a1', 'a2', 'WITH NAME', 'New']) self._verify_import(lib, 'Orig', ['a1', 'a2'], 'New') def _verify_import(self, imp, name, args=[], alias=None): assert_equal(imp.name, name) assert_equal(imp.args, args) assert_equal(imp.alias, alias) assert_equal(imp.type, type(imp).__name__) def test_old_style_headers_are_ignored(self): self.table.set_header(['Settings', 'Value', 'value', 'Value']) assert_equal(self.table.header, ['Settings']) def test_len(self): assert_equal(len(self.table), 0) self.table.add_library('SomeLib') assert_equal(len(self.table), 1) self.table.doc.value = 'Some doc' self.table.add_metadata('meta name', 'content') assert_equal(len(self.table), 3)
class TestSettingTable(unittest.TestCase): def setUp(self): self.table = TestCaseFile().setting_table def test_init(self): assert_true(isinstance(self.table.doc, Documentation)) assert_true(isinstance(self.table.suite_setup, Fixture)) assert_true(isinstance(self.table.suite_teardown, Fixture)) assert_true(isinstance(self.table.test_setup, Fixture)) assert_true(isinstance(self.table.test_teardown, Fixture)) assert_true(isinstance(self.table.test_timeout, Timeout)) assert_true(isinstance(self.table.force_tags, Tags)) assert_true(isinstance(self.table.default_tags, Tags)) assert_equal(self.table.metadata.data, []) assert_equal(self.table.imports.data, []) def test_doc_default(self): assert_equal(self.table.doc.value, '') def test_set_doc_with_string(self): self.table.doc.populate('hello') assert_equal(self.table.doc.value, 'hello') def test_set_doc_with_list(self): self.table.doc.populate(['hello', 'world']) assert_equal(self.table.doc.value, 'helloworld') def test_fixture_default(self): assert_equal(self.table.suite_setup.name, None) assert_equal(self.table.suite_setup.args, []) assert_false(hasattr(self.table.suite_setup, 'value')) def test_set_fixture(self): self.table.suite_teardown.populate(['Name', 'a1', 'a2']) assert_equal(self.table.suite_teardown.name, 'Name') assert_equal(self.table.suite_teardown.args, ['a1', 'a2']) assert_false(hasattr(self.table.suite_teardown, 'value')) def test_set_fixture_with_empty_value(self): self.table.test_teardown.populate([]) assert_equal(self.table.test_teardown.name, '') assert_equal(self.table.test_teardown.args, []) def test_timeout_default(self): assert_equal(self.table.test_timeout.value, None) assert_equal(self.table.test_timeout.message, '') assert_false(hasattr(self.table.suite_setup, 'value')) def test_set_timeout(self): self.table.test_timeout.populate(['1s', 'msg', 'in multiple', 'cell']) assert_equal(self.table.test_timeout.value, '1s') assert_equal(self.table.test_timeout.message, 'msg in multiple cell') assert_false(hasattr(self.table.suite_teardown, 'value')) def test_set_timeout_with_empty_value(self): self.table.test_timeout.populate([]) assert_equal(self.table.test_timeout.value, '') assert_equal(self.table.test_timeout.message, '') def test_metadata(self): self.table.add_metadata('Foo', 'bar') self.table.add_metadata('boo', ['f', 'a', 'r']) assert_equal(len(self.table.metadata), 2) assert_equal(self.table.metadata[0].name, 'Foo') assert_equal(self.table.metadata[0].value, 'bar') assert_equal(self.table.metadata[1].name, 'boo') assert_equal(self.table.metadata[1].value, 'f a r') self.table.metadata[0] = self.table.metadata[1] assert_equal(self.table.metadata[0].name, 'boo') assert_equal(self.table.metadata[0].value, 'f a r') def test_imports(self): self._verify_import(self.table.add_library('Name'), 'Name') self._verify_import(self.table.add_resource('reso.txt'), 'reso.txt') self._verify_import(self.table.add_variables('varz.py'), 'varz.py') self._verify_import(self.table.add_variables('./v2.py', ['a1', 'a2']), './v2.py', ['a1', 'a2']) self._verify_import(self.table.add_library('N2', ['1', '2', '3', '4']), 'N2', ['1', '2', '3', '4']) assert_equal(len(self.table.imports), 5) assert_true(all(isinstance(im, _Import) for im in self.table.imports)) self.table.imports[1] = self.table.imports[0] assert_equal(self.table.imports[1].name, 'Name') def test_resource_with_invalid_args(self): reso = self.table.add_resource('reso.txt', ['invalid', 'args']) self._verify_import(reso, 'reso.txt invalid args') def test_library_with_name(self): lib = self.table.add_library('Name', ['WITH NAME', 'New name']) self._verify_import(lib, 'Name', [], 'New name') lib = self.table.add_library('Orig', ['a1', 'a2', 'WITH NAME', 'New']) self._verify_import(lib, 'Orig', ['a1', 'a2'], 'New') def _verify_import(self, imp, name, args=[], alias=None): assert_equal(imp.name, name) assert_equal(imp.args, args) assert_equal(imp.alias, alias) assert_equal(imp.type, type(imp).__name__) def test_old_style_headers_are_ignored(self): self.table.set_header(['Settings', 'Value', 'value', 'Value']) assert_equal(self.table.header, ['Settings']) def test_len(self): assert_equal(len(self.table), 0) self.table.add_library('SomeLib') assert_equal(len(self.table), 1) self.table.doc.value = 'Some doc' self.table.add_metadata('meta name', 'content') assert_equal(len(self.table), 3)