3

we have a REST service, which we would like to test. I thought about using HttpUnit for this purpose. We sent POST request to a resource URL and after receiving the request we retrieve the file from request. In our server code we have something like this:

MultipartFormData body = request().body().asMultipartFormData();
FilePart file = body.getFile("upfile");
File pictureFile = file.getFile();

In my test I wrote:

WebConversation wc = new WebConversation();
WebRequest wr = new PostMethodWebRequest("http://linkToOurResource");
File f = new File("testFile.jpg");
wr.selectFile("upfile", f, "multipart/form-data;");
    WebResponse response = wc.getResponse(wr);

but I'm getting the following error:

Test functional.AcceptanceTests.testAddingNewClient failed: Parameter 'upfile' is not a file parameter and may not be set to a file value.

Any suggestions how to send the file in the POST request to our server?

Brian Campbell
  • 322,767
  • 57
  • 360
  • 340
Jakub
  • 3,129
  • 8
  • 44
  • 63

1 Answers1

0

You might want to read the httpunit developer FAQ - just search httpunit's Unit Tests to find a fitting source code example:

https://sourceforge.net/mailarchive/forum.php?thread_name=5051BBF6.70700%40bitplan.com&forum_name=httpunit-develop

Wolfgang Fahl
  • 15,016
  • 11
  • 93
  • 186