package com.m3.curly; import org.junit.Test; import java.util.Arrays; import java.util.Map; import java.util.HashMap; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; public class RequestBodyTest { @Test public void type() throws Exception { assertThat(RequestBody.class, notNullValue()); } @Test public void instantiation() throws Exception { Request request = null; RequestBody target = new RequestBody(request); assertThat(target, notNullValue()); } @Test public void setBody_A$byteArray$String() throws Exception { Request request = new Request("http://www.example.com/"); RequestBody requestBody = new RequestBody(request); byte[] body = new byte[]{}; String contentType = null; assertThat(requestBody.setBody(body, contentType), is(requestBody)); } @Test public void asApplicationXWwwFormUrlencoded_A$() throws Exception { Request request = new Request("http://www.example.com/"); RequestBody requestBody = new RequestBody(request); assertThat(requestBody.asApplicationXWwwFormUrlencoded(), is(notNullValue())); } @Test public void asApplicationXWwwFormUrlencoded_multivalue$() throws Exception { Request request = new Request("http://www.example.com/"); Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put("single", "value1"); paramMap.put("double", new String[] { "value2", "value3" }); paramMap.put("double2", Arrays.asList(new String[] {"value4", "value5" })); request.setFormParams(paramMap); RequestBody requestBody = new RequestBody(request); assertThat(new String(requestBody.asApplicationXWwwFormUrlencoded()) , is("single=value1&double=value2&double=value3&double2=value4&double2=value5")); } @Test public void asMultipart_A$String() throws Exception { Request request = new Request("http://www.example.com/"); RequestBody requestBody = new RequestBody(request); String boundary = "ZZZZZ"; assertThat(requestBody.asMultipart(boundary), is(notNullValue())); } }