TestController実装サービス jp.ossc.nimbus.service.test.HttpTestControllerClientService

jp.ossc.nimbus.service.test.HttpTestControllerClientServiceは、サーバ上に配置したTestControllerとHTTP通信で制御するTestController実装サービスです。
TestControllerから制御されるTestActionは、テスト対象のサーバや、スタブなどの周辺のサーバ等と、様々なプロトコルで通信する場合があります。そのため、TestControllerを稼働させる環境からは、様々な通信要件が発生します。しかし、ネットワーク環境の制約から、ローカル環境からは、テスト対象のサーバや、スタブなどの周辺のサーバ等とは、通信制限が存在する場合があります。
そのような場合に、ローカル環境に、HttpTestControllerClientServiceを立て、テスト対象のサーバや、スタブなどの周辺のサーバ等が配置されているネットワーク内に、HttpTestControllerServerServiceTestControllerServiceを配置しておくことで、ローカル環境とテスト対象のネットワーク間では、HTTP通信のみでテストの制御を行うことができるようになります。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.http.HttpClientFactoryサーバ上のHttpTestControllerServerServiceとのHTTP通信に使用する。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- TestControllerサービス -->
  8. <service name="TestController"
  9. code="jp.ossc.nimbus.service.test.HttpTestControllerClientService">
  10. <!-- HttpTestControllerServerServiceとHTTP通信を行うHttpClientFactoryサービスのサービス名を設定する -->
  11. <attribute name="HttpClientFactoryServiceName">#HttpClientFactory</attribute>
  12. <!-- TestResourceManagerサービスのサービス名を設定する -->
  13. <attribute name="TestResourceManagerServiceName">#TestResourceManager</attribute>
  14. <depends>HttpClientFactory</depends>
  15. <depends>TestResourceManager</depends>
  16. </service>
  17. <!-- HttpClientを生成するHttpClientFactoryサービス -->
  18. <service name="HttpClientFactory"
  19. code="jp.ossc.nimbus.service.http.httpclient.HttpClientFactoryService">
  20. <attribute name="Request(template)">
  21. <object code="jp.ossc.nimbus.service.http.httpclient.PostHttpRequestImpl">
  22. <attribute name="ContentType">application/json</attribute>
  23. <attribute name="URL">http://testframework_server:8080/</attribute>
  24. </object>
  25. </attribute>
  26. <attribute name="Request(upload)">
  27. <object code="jp.ossc.nimbus.service.http.httpclient.MultipartPostHttpRequestImpl">
  28. <attribute name="URL">http://testframework_server:8080/</attribute>
  29. </object>
  30. </attribute>
  31. </service>
  32. <!-- TestResourceManagerサービス -->
  33. <service name="TestResourceManager"
  34. code="jp.ossc.nimbus.service.test.resource.LocalTestResourceManagerService">
  35. <attribute name="TestResourceDirectory">./testResource</attribute>
  36. </service>
  37. </manager>
  38. </server>

HttpTestControllerServerService

jp.ossc.nimbus.service.test.HttpTestControllerServerServiceは、同一プロセス上に配置したTestControllerをHTTPで呼び出せるようにするサーバとなるサービスで、HttpTestControllerClientServiceと対にして使用します。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.test.TestController制御する対象となるTestControllerサービス。
jp.ossc.nimbus.service.test.TestResourceManagerクライアントから送られてきたテストリソースを配置する。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- HTTPサーバサービス -->
  8. <service name="HttpServer"
  9. code="jp.ossc.nimbus.service.http.proxy.ProxyServerService">
  10. <attribute name="Port">8080</attribute>
  11. <attribute name="ProcessServiceName">#HttpTestControllerServer</attribute>
  12. <depends>HttpTestControllerServer</depends>
  13. </service>
  14. <!-- HTTPでTestControllerを呼び出せるようにするサーバとなるサービス -->
  15. <service name="HttpTestControllerServer"
  16. code="jp.ossc.nimbus.service.test.HttpTestControllerServerService">
  17. <attribute name="TestControllerServiceName">#TestController</attribute>
  18. <attribute name="TestResourceManagerServiceName">#TestResourceManager</attribute>
  19. <depends>TestController</depends>
  20. <depends>TestResourceManager</depends>
  21. </service>
  22. <!-- TestControllerサービス -->
  23. <service name="TestController"
  24. code="jp.ossc.nimbus.service.test.TestControllerService">
  25. <attribute name="TestResourceFileBaseDirectory">./controller</attribute>
  26. <attribute name="TestResourceFileTempDirectory">./tmp</attribute>
  27. <attribute name="TestResourceManagerServiceName">#TestResourceManager</attribute>
  28. <depends>TestResourceManager</depends>
  29. </service>
  30. <!-- TestResourceManagerサービス -->
  31. <service name="TestResourceManager"
  32. code="jp.ossc.nimbus.service.test.resource.LocalTestResourceManagerService">
  33. <attribute name="TestResourceDirectory">./test</attribute>
  34. </service>
  35. </manager>
  36. </server>


テストフレームワーク/テストコントローラ