def test_keyword_lib_with_alias(self): get_kw_ = GetKeyword(table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.get_resource_b_robot_path, rf_extension=self.rf_ext) # regex, file_path = get_kw_.return_file_and_patter( # 'LongName', # 'Long Name Keyword' # ) # self.assertEqual( # file_path, # self.long_name_file # ) kw = ('Keyword Which Also Has Really Long Name But Not As' ' Long The Class Name By 1234 In Keyword') regex, file_path = get_kw_.return_file_and_patter('OtherNameLib', kw) expected_re = ('(?i)(\\@keyword.+name=[\\\'"]' 'keyword[_ ]?which[_ ]?also[_ ]?has[_ ]?really' '[_ ]?long[_ ]?name[_ ]?but[_ ]?not[_ ]?as' '[_ ]?long[_ ]?the[_ ]?class[_ ]?name[_ ]?by' '[_ ]?\\$\\{.+\\}[_ ]?in[_ ]?keyword)') self.assertEqual(file_path, self.get_resource_lib_longer_than_100_chars) self.assertEqual(regex, expected_re)
def test_with_test_a_robot(self): get_kw = GetKeyword(table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_a_file, rf_extension=self.rf_ext) kw = 'Resource A Keyword 1' object_name = None regex, file_path = get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, '(?im)^resource[_ ]?a[_ ]?keyword[_ ]?1$') self.assertEqual(file_path, self.resource_a_table_file)
def test_embedding_arg_kw(self): _get_kw = GetKeyword(table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_b_file, rf_extension=self.rf_ext) regex, file_path = _get_kw.return_file_and_patter( '', 'Embedding arg To Keyword Name') self.assertEqual(file_path, self.resource_b_table_file) self.assertEqual( regex, '(?im)^embedding[_ ]?\$\{.+\}[_ ]?to[_ ]?keyword[_ ]?name$')
def test_with_test_a_robot(self): get_kw = GetKeyword( table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_a_file, rf_extension=self.rf_ext ) kw = 'Resource A Keyword 1' object_name = None regex, file_path = get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, '(?im)^resource[_ ]?a[_ ]?keyword[_ ]?1$') self.assertEqual(file_path, self.resource_a_table_file)
def test_embedding_arg_kw(self): _get_kw = GetKeyword( table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_b_file, rf_extension=self.rf_ext ) regex, file_path = _get_kw.return_file_and_patter( '', 'Embedding arg To Keyword Name') self.assertEqual(file_path, self.resource_b_table_file) self.assertEqual( regex, '(?im)^embedding[_ ]?\$\{.+\}[_ ]?to[_ ]?keyword[_ ]?name$' )
def test_keyword_lib_with_alias(self): get_kw_ = GetKeyword( table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.get_resource_b_robot_path, rf_extension=self.rf_ext ) # regex, file_path = get_kw_.return_file_and_patter( # 'LongName', # 'Long Name Keyword' # ) # self.assertEqual( # file_path, # self.long_name_file # ) kw = ( 'Keyword Which Also Has Really Long Name But Not As' ' Long The Class Name By 1234 In Keyword' ) regex, file_path = get_kw_.return_file_and_patter( 'OtherNameLib', kw ) expected_re = ( '(?i)(\\@keyword.+name=[\\\'"]' 'keyword[_ ]?which[_ ]?also[_ ]?has[_ ]?really' '[_ ]?long[_ ]?name[_ ]?but[_ ]?not[_ ]?as' '[_ ]?long[_ ]?the[_ ]?class[_ ]?name[_ ]?by' '[_ ]?\\$\\{.+\\}[_ ]?in[_ ]?keyword)' ) self.assertEqual( file_path, self.get_resource_lib_longer_than_100_chars ) self.assertEqual(regex, expected_re)
class TestGetKeywordFromResource(unittest.TestCase): @classmethod def setUpClass(cls): db_base = path.join( env.RESULTS_DIR, 'database_in_package_dir') cls.db_dir = path.join( db_base, 'db_dir' ) cls.index_dir = path.join( db_base, 'index_dir', ) cls.suite_dir = path.join( env.TEST_DATA_DIR, 'suite_tree' ) if path.exists(db_base): shutil.rmtree(db_base) mkdir(db_base) mkdir(cls.db_dir) mkdir(cls.index_dir) scanner = Scanner() scanner.scan( cls.suite_dir, 'robot', cls.db_dir) index_all(cls.db_dir, cls.index_dir) cls.rf_ext = 'robot' def setUp(self): self.get_kw = GetKeyword( table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.get_common_robot_path, rf_extension=self.rf_ext ) def test_return_file_and_patter(self): kw = 'Common Keyword 2' object_name = None expected_path = path.normcase(self.get_common_robot_path) regex, file_path = self.get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) object_name = 'common' regex, file_path = self.get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'common keyword 2' regex, file_path = self.get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'COMMON KEYWORD 2' regex, file_path = self.get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'Common_Keyword_2' regex, file_path = self.get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'CommonKeyword2' regex, file_path = self.get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) def test_with_test_a_robot(self): get_kw = GetKeyword( table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_a_file, rf_extension=self.rf_ext ) kw = 'Resource A Keyword 1' object_name = None regex, file_path = get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, '(?im)^resource[_ ]?a[_ ]?keyword[_ ]?1$') self.assertEqual(file_path, self.resource_a_table_file) def test_get_regex_resource(self): kw = 'Common Keyword 2' regex = self.get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'RUN' regex = self.get_kw.get_regex_resource(kw) self.assertEqual(regex, '(?im)^run$') kw = 'Common_Keyword_2' regex = self.get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'CommonKeyword2' regex = self.get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'commonKeyword2' regex = self.get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'COMMON KEYWORD 2' regex = self.get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) def test_rf_data(self): self.assertTrue(self.get_kw.rf_data(self.get_common_robot_path)) self.assertFalse(self.get_kw.rf_data(self.get_common_variables_path)) @property def get_common_robot(self): return 'common.robot' @property def get_common_robot_path(self): return path.join(self.suite_dir, self.get_common_robot) @property def get_common_keyword_2_regex(self): return '(?im)^common[_ ]?keyword[_ ]?2$' @property def get_common_variables_path(self): return path.join(self.suite_dir, 'common_variables.py') @property def test_a_file(self): return path.normcase(path.join(self.suite_dir, 'test_a.robot')) @property def resource_a_table_file(self): return path.normcase(path.join(self.suite_dir, 'resource_a.robot')) @property def test_a_table_name(self): return rf_table_name(self.test_a_file) @property def resource_a_table_name(self): return rf_table_name(self.resource_a_table_file)
class TestGetKeywordFromResource(unittest.TestCase): @classmethod def setUpClass(cls): db_base = path.join(env.RESULTS_DIR, 'database_in_package_dir') cls.db_dir = path.join(db_base, 'db_dir') cls.index_dir = path.join( db_base, 'index_dir', ) cls.suite_dir = path.join(env.TEST_DATA_DIR, 'suite_tree') if path.exists(db_base): shutil.rmtree(db_base) mkdir(db_base) mkdir(cls.db_dir) mkdir(cls.index_dir) scanner = Scanner() scanner.scan(cls.suite_dir, 'robot', cls.db_dir) index_all(cls.db_dir, cls.index_dir) cls.rf_ext = 'robot' def setUp(self): self._get_kw = GetKeyword(table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.get_common_robot_path, rf_extension=self.rf_ext) def test_return_file_and_patter(self): kw = 'Common Keyword 2' object_name = None expected_path = path.normcase(self.get_common_robot_path) regex, file_path = self._get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) object_name = 'common' regex, file_path = self._get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'common keyword 2' regex, file_path = self._get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'COMMON KEYWORD 2' regex, file_path = self._get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'Common_Keyword_2' regex, file_path = self._get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) kw = 'CommonKeyword2' regex, file_path = self._get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, self.get_common_keyword_2_regex) self.assertEqual(file_path, expected_path) def test_with_test_a_robot(self): get_kw = GetKeyword(table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_a_file, rf_extension=self.rf_ext) kw = 'Resource A Keyword 1' object_name = None regex, file_path = get_kw.return_file_and_patter(object_name, kw) self.assertEqual(regex, '(?im)^resource[_ ]?a[_ ]?keyword[_ ]?1$') self.assertEqual(file_path, self.resource_a_table_file) def test_get_regex_resource(self): kw = 'Common Keyword 2' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'RUN' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, '(?im)^run$') kw = 'Common_Keyword_2' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'CommonKeyword2' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'commonKeyword2' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'COMMON KEYWORD 2' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, self.get_common_keyword_2_regex) kw = 'Embedding ${arg} To Keyword Name' regex = self._get_kw.get_regex_resource(kw) self.assertEqual( regex, '(?im)^embedding[_ ]?\$\{.+\}[_ ]?to[_ ]?keyword[_ ]?name$') kw = 'Embedding ${arg1} And ${arg2} To Keyword Name' regex = self._get_kw.get_regex_resource(kw) self.assertEqual(regex, ('(?im)^embedding[_ ]?' '\$\{.+\}[_ ]?' 'and[_ ]?' '\$\{.+\}[_ ]?' 'to[_ ]?' 'keyword[_ ]?' 'name$')) def test_rf_data(self): self.assertTrue(self._get_kw.rf_data(self.get_common_robot_path)) self.assertFalse(self._get_kw.rf_data(self.get_common_variables_path)) def test_embedding_arg_kw(self): _get_kw = GetKeyword(table_dir=self.db_dir, index_dir=self.index_dir, open_tab=self.test_b_file, rf_extension=self.rf_ext) regex, file_path = _get_kw.return_file_and_patter( '', 'Embedding arg To Keyword Name') self.assertEqual(file_path, self.resource_b_table_file) self.assertEqual( regex, '(?im)^embedding[_ ]?\$\{.+\}[_ ]?to[_ ]?keyword[_ ]?name$') @property def get_common_robot(self): return 'common.robot' @property def get_common_robot_path(self): return path.join(self.suite_dir, self.get_common_robot) @property def get_common_keyword_2_regex(self): return '(?im)^common[_ ]?keyword[_ ]?2$' @property def get_common_variables_path(self): return path.join(self.suite_dir, 'common_variables.py') @property def test_a_file(self): return path.normcase(path.join(self.suite_dir, 'test_a.robot')) @property def resource_a_table_file(self): return path.normcase(path.join(self.suite_dir, 'resource_a.robot')) @property def test_b_file(self): return path.normcase(path.join(self.suite_dir, 'test_b.robot')) @property def resource_b_table_file(self): return path.normcase(path.join(self.suite_dir, 'resource_b.robot')) @property def test_a_table_name(self): return rf_table_name(self.test_a_file) @property def resource_a_table_name(self): return rf_table_name(self.resource_a_table_file)