@Override
    public List<TScanRangeLocations> getScanRangeLocations(long maxScanRangeLength) {
        return result;
    }
@Test
    public void testIcebergMetadataScanNodeScheduler() throws Exception {
        mockedNativeTableC.newAppend().appendFile(FILE_B_1).commit();
        mockedNativeTableC.newAppend().appendFile(FILE_B_2).commit();
        mockedNativeTableC.refresh();

        new MockUp<IcebergMetadata>() {
            @Mock
            public Database getDb(String dbName) {
                return new Database(1, "db");
            }
        };

        new MockUp<IcebergHiveCatalog>() {
            @Mock
            org.apache.iceberg.Table getTable(String dbName, String tableName) throws StarRocksConnectorException {
                return mockedNativeTableC;
            }

            @Mock
            boolean tableExists(String dbName, String tableName) {
                return true;
            }
        };

        String sql = "explain scheduler select file_path from iceberg_catalog.db.tc$logical_iceberg_metadata";
        Pair<String, DefaultCoordinator> pair = UtFrameUtils.getPlanAndStartScheduling(starRocksAssert.getCtx(), sql);
        List<TScanRangeLocations> scanRangeLocations = pair.second.getFragments().get(1).collectScanNodes()
                .get(new PlanNodeId(0)).getScanRangeLocations(100);
        Assert.assertEquals(2, scanRangeLocations.size());
    }