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;
 

Reply via email to