简体   繁体   中英

Sending file with POST request with HttpUnit

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?

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM