I’m trying to create multipart POST call using RestAssured, but I don’t know how to get any boundary there. I tried this code, but it doesn’t work.
JavaScript
x
given().contentType("multipart/form-data")
.config(config.multiPartConfig(multiPartConfig().defaultFileName(null).defaultBoundary("WebKitFormBoundary123")))
.multiPart("file", new File("srctestresourcespicture.png"), "image/png")
.multiPart("name", "picture.png")
.multiPart("userId", 1426373, "text/plain")
.log().all()
.when().post(URL).then().log().all().statusCode(200);
Log
JavaScript
Request method: POST
Request URI: URL
Request params: <none>
Query params: <none>
Form params: <none>
Path params: <none>
Headers: Accept=application/json
Cookies: <none>
Multiparts: ------------
Content-Disposition: form-data; name = file; filename = picture.png
Content-Type: image/png
srctestresourcespicture.png
------------
Content-Disposition: form-data; name = name
Content-Type: text/plain
picture.png
------------
Content-Disposition: form-data; name = userId
Content-Type: text/plain
1426373
Wanted result:
JavaScript
------WebKitFormBoundary123
Content-Disposition: form-data; name="file"; filename="picture.png"
Content-Type: image/png
srctestresourcespicture.png
------WebKitFormBoundary123
Content-Disposition: form-data; name="name"
picture.png
------WebKitFormBoundary123
Content-Disposition: form-data; name="userId"
1426373
------WebKitFormBoundary123--
So, how do I get ——WebKitFormBoundary123 in the request multipart form?
UPDATE: If I use this:
JavaScript
contentType("multipart/form-data; boundary=--WebKitFormBoundary123")
I will get this, which still doesn’t look the same and it doesn’t work
JavaScript
Request method: POST
Request URI: URL
Request params: <none>
Query params: <none>
Form params: <none>
Path params: <none>
Headers: Accept=application/json; boundary=--WebKitFormBoundary123
Cookies: <none>
Multiparts: ------------
Content-Disposition: form-data; boundary=--WebKitFormBoundary123; name = file; filename = picture.png
Content-Type: image/png
srctestresourcespicture.png
------------
Content-Disposition: form-data; boundary=--WebKitFormBoundary123; name = name
Content-Type: text/plain
picture.png
------------
Content-Disposition: form-data; boundary=--WebKitFormBoundary123; name = userId
Content-Type: text/plain
1426373
Advertisement
Answer
I found out that auto-generated boundary is what I need and it’s not displayed in Rest Assured log, but it’s sent.