MockFtpServer - Ftpサーバのモック実装

2009/06/25 14:50Update
TAGS: MockFtpServer | FTP | サーバ | モック | テスト | Java | Apache

MockFtpServerはFtpクライアントコードをテストするため、Ftpサーバのモック実装です。2つ異なるレベルの抽象実装が提供されています。

◇ 言語:Java
◇ ライセンス:Apache License Version 2.0

■FakeFtpServer:ハイレベルのFtpサーバ抽象実装を提供します。次の機能があります。
◇ スタンドアロン・ダミー・FTPサーバ。テストコードと同じまたは違うJVMで実行可能。
◇ FTPサーバ・コマンド実装
◇ 成功/エラーシナリオをシミュレート可能
◇ FTPサーバコマンド・返答コードを知る必要がない
◇ ファイルシステム・シミュレーション(ファイルやディレクトリのパーミッション・サポート、Unixベースの権限認証)
◇ ユーザ・アカウント定義(権限コントロール、ホームディレクトリ設置)
◇ データ転送のactive/passiveモードサポート
◇ IPv6データ転送サポート
◇ Springフレームワークまたは他のDIコンテナーとの統合
◇ 任意言語のFTPクライアントコード サポート
>> 詳細について
http://mockftpserver.sourceforge.net/fakeftpserver-features.html

■StubFtpServer:FTP サーバの“Stub”実装を提供します。
◇ スタンドアロン・ダミー・FTPサーバ。テストコードと同じまたは違うJVMで実行可能。
◇ FTPサーバ・コマンド実装
◇ データ転送のactive/passiveモードサポート
◇ Springフレームワークまたは他のDIコンテナーとの統合
◇ 任意言語のFTPクライアントコード サポート
・・・

ほとんどの場合はFakeFtpServerを利用すればよいのですが、より下位FTPコマンドやその返答コードを利用したい場合はStubFtpServerを使います。

FakeFtpServer使用例:
//FTPサーバ
FakeFtpServer fakeFtpServer = new FakeFtpServer();
//FTP ユーザ・アカウント
fakeFtpServer.addUserAccount(new UserAccount("user", "password", "c:\\data"));
// ファイルシステム
FileSystem fileSystem = new WindowsFakeFileSystem();
fileSystem.add(new DirectoryEntry("c:\\data"));
fileSystem.add(new FileEntry("c:\\data\\file1.txt", "aaaa 123456"));
fileSystem.add(new FileEntry("c:\\data\\file2.dat"));
fakeFtpServer.setFileSystem(fileSystem);
fakeFtpServer.start();


これがあれば、FTPクライアントのプログラミングは楽になるでしょう。

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation