public List<PartitionInfo> getRemotePartitions(List<Partition> partitions) {
        List<Path> paths = Lists.newArrayList();
        for (Partition partition : partitions) {
            Path partitionPath = new Path(partition.getFullPath());
            paths.add(partitionPath);
        }
        FileStatus[] fileStatuses = getFileStatus(paths.toArray(new Path[0]));
        List<PartitionInfo> result = Lists.newArrayList();
        for (int i = 0; i < partitions.size(); i++) {
            Partition partition = partitions.get(i);
            FileStatus fileStatus = fileStatuses[i];
            final String fullPath = partition.getFullPath();
            final long time = fileStatus.getModificationTime();
            result.add(new PartitionInfo() {
                @Override
                public long getModifiedTime() {
                    return time;
                }

                @Override
                public String getFullPath() {
                    return fullPath;
                }
            });
        }
        return result;
    }
@Test
    public void testGetRemotePartitions() {
        List<String> partitionNames = Lists.newArrayList("dt=20200101", "dt=20200102", "dt=20200103");
        List<Partition> partitionList = Lists.newArrayList();
        List<FileStatus> fileStatusList = Lists.newArrayList();
        long modificationTime = 1000;
        for (String name : partitionNames) {
            Map<String, String> parameters = Maps.newHashMap();
            TextFileFormatDesc formatDesc = new TextFileFormatDesc("a", "b", "c", "d");
            String fullPath = "hdfs://path_to_table/" + name;
            Partition partition = new Partition(parameters, RemoteFileInputFormat.PARQUET, formatDesc, fullPath, true);
            partitionList.add(partition);

            Path filePath = new Path(fullPath + "/00000_0");
            FileStatus fileStatus = new FileStatus(100000, false, 1, 256, modificationTime++, filePath);
            fileStatusList.add(fileStatus);
        }

        FileStatus[] fileStatuses = fileStatusList.toArray(new FileStatus[0]);

        new MockUp<RemoteFileOperations>() {
            @Mock
            public FileStatus[] getFileStatus(Path... paths) {
                return fileStatuses;
            }
        };

        RemoteFileOperations ops = new RemoteFileOperations(null, null, null,
                false, true, null);
        List<PartitionInfo> partitions = ops.getRemotePartitions(partitionList);
        Assert.assertEquals(3, partitions.size());
        for (int i = 0; i < partitionNames.size(); i++) {
            Assert.assertEquals(partitions.get(i).getFullPath(), "hdfs://path_to_table/" + partitionNames.get((i)));
        }
    }