nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.test.HttpTestControllerClientServiceは、サーバ上に配置したTestControllerとHTTP通信で制御するTestController実装サービスです。
TestControllerから制御されるTestActionは、テスト対象のサーバや、スタブなどの周辺のサーバ等と、様々なプロトコルで通信する場合があります。そのため、TestControllerを稼働させる環境からは、様々な通信要件が発生します。しかし、ネットワーク環境の制約から、ローカル環境からは、テスト対象のサーバや、スタブなどの周辺のサーバ等とは、通信制限が存在する場合があります。
そのような場合に、ローカル環境に、HttpTestControllerClientServiceを立て、テスト対象のサーバや、スタブなどの周辺のサーバ等が配置されているネットワーク内に、HttpTestControllerServerServiceとTestControllerServiceを配置しておくことで、ローカル環境とテスト対象のネットワーク間では、HTTP通信のみでテストの制御を行うことができるようになります。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.http.HttpClientFactory | サーバ上のHttpTestControllerServerServiceとのHTTP通信に使用する。 |
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- TestControllerサービス -->
- <service name="TestController"
- code="jp.ossc.nimbus.service.test.HttpTestControllerClientService">
- <!-- HttpTestControllerServerServiceとHTTP通信を行うHttpClientFactoryサービスのサービス名を設定する -->
- <attribute name="HttpClientFactoryServiceName">#HttpClientFactory</attribute>
- <!-- TestResourceManagerサービスのサービス名を設定する -->
- <attribute name="TestResourceManagerServiceName">#TestResourceManager</attribute>
- <depends>HttpClientFactory</depends>
- <depends>TestResourceManager</depends>
- </service>
- <!-- HttpClientを生成するHttpClientFactoryサービス -->
- <service name="HttpClientFactory"
- code="jp.ossc.nimbus.service.http.httpclient.HttpClientFactoryService">
- <attribute name="Request(template)">
- <object code="jp.ossc.nimbus.service.http.httpclient.PostHttpRequestImpl">
- <attribute name="ContentType">application/json</attribute>
- <attribute name="URL">http://testframework_server:8080/</attribute>
- </object>
- </attribute>
- <attribute name="Request(upload)">
- <object code="jp.ossc.nimbus.service.http.httpclient.MultipartPostHttpRequestImpl">
- <attribute name="URL">http://testframework_server:8080/</attribute>
- </object>
- </attribute>
- </service>
- <!-- TestResourceManagerサービス -->
- <service name="TestResourceManager"
- code="jp.ossc.nimbus.service.test.resource.LocalTestResourceManagerService">
- <attribute name="TestResourceDirectory">./testResource</attribute>
- </service>
- </manager>
- </server>
jp.ossc.nimbus.service.test.HttpTestControllerServerServiceは、同一プロセス上に配置したTestControllerをHTTPで呼び出せるようにするサーバとなるサービスで、HttpTestControllerClientServiceと対にして使用します。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.test.TestController | 制御する対象となるTestControllerサービス。 |
jp.ossc.nimbus.service.test.TestResourceManager | クライアントから送られてきたテストリソースを配置する。 |
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- HTTPサーバサービス -->
- <service name="HttpServer"
- code="jp.ossc.nimbus.service.http.proxy.ProxyServerService">
- <attribute name="Port">8080</attribute>
- <attribute name="ProcessServiceName">#HttpTestControllerServer</attribute>
- <depends>HttpTestControllerServer</depends>
- </service>
- <!-- HTTPでTestControllerを呼び出せるようにするサーバとなるサービス -->
- <service name="HttpTestControllerServer"
- code="jp.ossc.nimbus.service.test.HttpTestControllerServerService">
- <attribute name="TestControllerServiceName">#TestController</attribute>
- <attribute name="TestResourceManagerServiceName">#TestResourceManager</attribute>
- <depends>TestController</depends>
- <depends>TestResourceManager</depends>
- </service>
- <!-- TestControllerサービス -->
- <service name="TestController"
- code="jp.ossc.nimbus.service.test.TestControllerService">
- <attribute name="TestResourceFileBaseDirectory">./controller</attribute>
- <attribute name="TestResourceFileTempDirectory">./tmp</attribute>
- <attribute name="TestResourceManagerServiceName">#TestResourceManager</attribute>
- <depends>TestResourceManager</depends>
- </service>
- <!-- TestResourceManagerサービス -->
- <service name="TestResourceManager"
- code="jp.ossc.nimbus.service.test.resource.LocalTestResourceManagerService">
- <attribute name="TestResourceDirectory">./test</attribute>
- </service>
- </manager>
- </server>