protected abstract void write() throws IOException;
private void checkOutput( final Map<String, String> params, final Collection<FileFieldInfo> fileParams) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); FormDataWriter writer = new FormDataWriter() { @Override protected void write() throws IOException { for(Map.Entry<String,String> entry : params.entrySet()) { addField(entry.getKey(), entry.getValue()); } for(FileFieldInfo info : fileParams) { addFileField(info.name, info.fileName, info.subWriter); } } }; writer.write(out); String expected = createExpectedOutput(writer.boundary, params, fileParams); assertEquals(expected, TestUtils.asString(out)); }
private void println(CharSequence text) { printer.append(text); println(); }
private void finish() { printer.flush(); println("--" + boundary + "--"); printer.close(); }
protected final void addFileField(String name, String fileName, ApiRequestWriter subWriter) throws IOException { println("--" + boundary); println("Content-Disposition: form-data; name=\"" + name + "\"; " + "filename=\"" + fileName + "\""); println("Content-Type: " + subWriter.getContentType()); println(); printer.flush(); subWriter.write(out); println(); printer.flush(); }