def test_load_module_twice(self): self.check_list_modules('core') self.check_list_full_modules(1, 'core') self.assertRaisesRegex( Py4JJavaError, "A module with name 'core' already exists", self.t_env.load_module, 'core', Module( get_gateway().jvm.org.apache.flink.table.module.CoreModule.INSTANCE))
def test_unload_and_load_module(self): t_env = self.t_env t_env.unload_module('core') t_env.load_module('core', Module( get_gateway().jvm.org.apache.flink.table.module.CoreModule.INSTANCE)) table_result = t_env.execute_sql("select concat('unload', 'load') as test_module") self.assertEqual(table_result.get_result_kind(), ResultKind.SUCCESS_WITH_CONTENT) self.assert_equals(table_result.get_table_schema().get_field_names(), ['test_module'])
def test_use_modules(self): # please do not change this order since ModuleMock depends on FunctionDefinitionMock _load_specific_flink_module_jars('/flink-table/flink-table-common') _load_specific_flink_module_jars('/flink-table/flink-table-api-java') self.t_env.load_module('x', Module( get_gateway().jvm.org.apache.flink.table.utils.ModuleMock("x") )) self.t_env.load_module('y', Module( get_gateway().jvm.org.apache.flink.table.utils.ModuleMock("y") )) self.check_list_modules('core', 'x', 'y') self.check_list_full_modules(3, 'core', 'x', 'y') self.t_env.use_modules('y', 'core') self.check_list_modules('y', 'core') self.check_list_full_modules(2, 'y', 'core', 'x')