@Override
  public boolean rename(Path src, Path dst) throws IOException {
    FTPClient client = connect();
    try {
      boolean success = rename(client, src, dst);
      return success;
    } finally {
      disconnect(client);
    }
  }
@Test
  public void testRenameFileWithFullQualifiedPath() throws Exception {
    BaseUser user = server.addUser("test", "password", new WritePermission());
    Configuration configuration = new Configuration();
    configuration.set("fs.defaultFS", "ftp:///");
    configuration.set("fs.ftp.host", "localhost");
    configuration.setInt("fs.ftp.host.port", server.getPort());
    configuration.set("fs.ftp.user.localhost", user.getName());
    configuration.set("fs.ftp.password.localhost", user.getPassword());
    configuration.setBoolean("fs.ftp.impl.disable.cache", true);

    FileSystem fs = FileSystem.get(configuration);


    Path ftpDir = fs.makeQualified(new Path(testDir.toAbsolutePath().toString()));
    Path file1 = fs.makeQualified(new Path(ftpDir, "renamefile" + "1"));
    Path file2 = fs.makeQualified(new Path(ftpDir, "renamefile" + "2"));
    touch(fs, file1);
    assertTrue(fs.rename(file1, file2));
  }