Add a pdf as an attachment for a mock response
I am reading a file from my system and i need to send it as a pdf attachment in my mock response. I am using ready api. Can any body give me advice please?
I have tried the below code and when the request is made, the pdf is downloaded but it fails to load it on the browser.
String filename='C:/soapui.log'
File file = new File(filename);
def headers = mockResponse.responseHeaders
headers["Content-Type"]=["application/pdf"]
headers["Content-Disposition"]=["attachment.pdf"]
mockResponse.responseHeaders=headers
How do i return a file as a pdf,which i am reading in from my system
Any suggestions please?
Thank you
Got the solution.Here you go:
import com.itextpdf.text.Document
import com.itextpdf.text.Paragraph
import com.itextpdf.text.pdf.PdfWriter
import org.apache.commons.io.IOUtils
def headers = mockResponse.responseHeadersDocument document = new Document();
File file = new File("response.pdf")
FileOutputStream fos= new FileOutputStream(file)
PdfWriter pdfWriter = PdfWriter.getInstance(document, fos);
document.open();
Paragraph paragraph = new Paragraph();
paragraph.add("Hello groovy!");
document.add(paragraph);
document.close()
fos.close()try
{
def httpResponse = mockRequest.httpResponse
FileInputStream fis= new FileInputStream(file);
OutputStream outputStream = httpResponse.getOutputStream()IOUtils.copy(fis,outputStream)
fis.close()
outputStream.close()}
catch (Exception e){log.info "error"
}
mockRequest.httpResponse.addHeader("Content-Type", "application/pdf")
mockRequest.httpResponse.addHeader("Content-Disposition", "attachment;filename="+file)