u MultipartFormDataInputオブジェクトをパラメーターとして受け取り、そこから多くの情報を引き出すResteasyWebサービスメソッドがあります。このメソッドのjUnitテストを作成したいのですが、このオブジェクトを作成してダミーデータを挿入する方法が見つからないため、Webサービスメソッドを直接呼び出すことができます。サービスメソッドは、次のようなフォームからデータを抽出します...
@POST
@Path("/requestDeviceCode")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes("multipart/form-data")
public DeviceCodeModel requestDeviceCode(final MultipartFormDataInput inputMultipart) {
// process the form data - only field in the form is the token
Map<String, List<InputPart>> formData = null; // we'll put the form data in here
formData = inputMultipart.getFormDataMap();
String token = null;
try {
token = formData.get("Token").get(0).getBodyAsString();
this._logger.debug("Pulled encrypted token out of input form, it's " + token);
それは問題なく動作しますが、parmとして'requestDeviceCode'に渡すオブジェクトを作成しようとすると、私は困惑します。私はこれのバリエーションを試しました...
// create a multipartForm (input to the service POST) and add the "token" string to it
MultipartFormDataOutput newForm = new MultipartFormDataOutput();
newForm.addFormData("Token", encryptedXMLString, MediaType.APPLICATION_XML_TYPE);
_service.requestDeviceCode((MultipartFormDataInput) newForm);
しかし、それはそれを行っていないだけです(この特定のエラーは、出力フォームを入力フォームにキャストできないことです)。新しいMultiPartFormDataInputを作成してデータを追加する方法を見つけることができませんでした。
誰かアドバイスはありますか?