This is an automated email from the ASF dual-hosted git repository. ron pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
commit 5ea7ea70f317bea1d544579ed6f9bac8b72d15ec Author: Feng Jin <[email protected]> AuthorDate: Tue Sep 10 11:06:23 2024 +0800 [FLINK-36242][test] Fix inconsistent logic between listTable and getTable in TestFileSystemCatalog --- .../file/testutils/catalog/TestFileSystemCatalog.java | 9 ++++++--- .../file/testutils/catalog/TestFileSystemCatalogTest.java | 15 +++++++++++++-- .../testutils/catalog/TestFileSystemCatalogTestBase.java | 1 + 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java index 6d64ecee032..3d72da3ae78 100644 --- a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java +++ b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java @@ -241,6 +241,7 @@ public class TestFileSystemCatalog extends AbstractCatalog { return Arrays.stream(fs.listStatus(dbPath)) .filter(FileStatus::isDir) .map(fileStatus -> fileStatus.getPath().getName()) + .filter(name -> tableExists(new ObjectPath(databaseName, name))) .collect(Collectors.toList()); } catch (IOException e) { throw new CatalogException( @@ -355,10 +356,12 @@ public class TestFileSystemCatalog extends AbstractCatalog { try { if (!fs.exists(path)) { fs.mkdirs(path); + } + if (!fs.exists(tableSchemaPath)) { fs.mkdirs(tableSchemaPath); - if (isFileSystemTable(catalogTable.getOptions())) { - fs.mkdirs(tableDataPath); - } + } + if (isFileSystemTable(catalogTable.getOptions()) && !fs.exists(tableDataPath)) { + fs.mkdirs(tableDataPath); } // write table schema diff --git a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java index 3d7ba88a96e..1936896146b 100644 --- a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java +++ b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java @@ -42,6 +42,8 @@ import org.apache.flink.table.refresh.RefreshHandler; import org.junit.jupiter.api.Test; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -305,12 +307,21 @@ public class TestFileSystemCatalogTest extends TestFileSystemCatalogTestBase { // test list table List<String> tables = catalog.listTables(TEST_DEFAULT_DATABASE); - assertThat(tables.contains(tablePath1.getObjectName())).isTrue(); - assertThat(tables.contains(tablePath2.getObjectName())).isTrue(); + assertThat(tables).contains(tablePath1.getObjectName()); + assertThat(tables).contains(tablePath2.getObjectName()); // test list non-exist database table assertThrows( DatabaseNotExistException.class, () -> catalog.listTables(NONE_EXIST_DATABASE)); + + // test list table ignore the empty path + String nonExistTablePath = + String.format( + "%s/%s/%s", + tempFile.getAbsolutePath(), TEST_DEFAULT_DATABASE, NONE_EXIST_TABLE); + Files.createDirectories(Paths.get(nonExistTablePath)); + tables = catalog.listTables(TEST_DEFAULT_DATABASE); + assertThat(tables).doesNotContain(NONE_EXIST_TABLE); } @Test diff --git a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java index 8cd5fc306e6..fb419cf019e 100644 --- a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java +++ b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java @@ -32,6 +32,7 @@ public abstract class TestFileSystemCatalogTestBase extends AbstractTestBase { protected static final String TEST_CATALOG = "test_catalog"; protected static final String TEST_DEFAULT_DATABASE = "test_db"; protected static final String NONE_EXIST_DATABASE = "none_exist_database"; + protected static final String NONE_EXIST_TABLE = "none_exist_table"; protected TestFileSystemCatalog catalog;
