5

FTPS 接続を作成する CreateFTPConnection クラスがあります。この接続を使用して、ファイルが転送されます。これが TransferFile クラスのコードです

public class TransferFile
{
   private CreateFTPConnection ftpConnection;
   private FTPSClient client;

public TransferFile(CreateFTPConnection ftpConnection) {
    this.ftpConnection = ftpConnection;
    this.client = ftpConnection.getClient();
}

public void transfer(Message<?> msg)
{
    InputStream inputStream = null;
    try
    {
        if(!client.isConnected()){
            ftpConnection.init();
            client = ftpConnection.getClient();
        }
        File file = (File) msg.getPayload();
        inputStream = new FileInputStream(file);
        client.storeFile(file.getName(), inputStream);
        client.sendNoOp();
    } catch (Exception e) {
        try
        {
            client.disconnect();
        }
        catch (IOException e1) {
            e1.printStackTrace();
        }
    }
    finally
    {
        try {
            inputStream.close();
        } 
        catch (IOException e) {
            e.printStackTrace();
        }
    }
}
}

このクラスの jUnit Testcase を作成する必要があります。このために、FTPS モック サーバー接続を作成し、その接続を使用してファイル転送をテストする必要があります。FTPSモックサーバーを作成してテストケースを実行する方法を教えてください。私はこれをグーグルで調べましたが、得られるのはFTPSではなくFTPまたはSFTPです。私を助けてください。

4

1 に答える 1

7

この便利なMockFTPServerを見つけるかもしれません

問題は、これらのモック サーバーが TLS 部分を実装していないことです。TLS 経由の接続を許可するには、少し作業が必要になる場合があります。

テストのために、証明書の処理 (または場合によっては証明書のバイパス) に関する SO の記事を検索して見つけることができるはずです。

これは、基本的な FTP サーバー テストを作成する手順を説明する 別の記事です。

本格的な FTP サーバー ( mod_ftpアドオン付きの Apache http) 以外には、これを行うのに役立つものはないようです。

于 2012-12-26T16:05:33.497 に答える