package org.wiztools.restclient; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.junit.*; import static org.junit.Assert.*; import org.wiztools.commons.Charsets; import org.wiztools.commons.FileUtil; import org.wiztools.restclient.bean.*; import org.wiztools.restclient.persistence.PersistenceRead; import org.wiztools.restclient.persistence.XmlPersistenceRead; /** * * @author subwiz */ public class BodyPersistenceTest { private PersistenceRead p = new XmlPersistenceRead(); public BodyPersistenceTest() { } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { } @After public void tearDown() { } private RequestBean getRequestBeanWithoutBody() throws MalformedURLException { RequestBean expResult = new RequestBean(); expResult.setMethod(HTTPMethod.POST); expResult.setUrl(new URL("http://localhost:10101/")); expResult.setHttpVersion(HTTPVersion.HTTP_1_1); expResult.setFollowRedirect(true); return expResult; } @Test public void testStringBody() throws Exception { System.out.println("testStringBody"); RequestBean expResult = getRequestBeanWithoutBody(); ContentType ct = new ContentTypeBean("text/plain", Charsets.UTF_8); ReqEntityStringBean body = new ReqEntityStringBean("Subhash loves Aarthi", ct); expResult.setBody(body); Request actual = p.getRequestFromFile(new File("src/test/resources/reqBodyString.rcq")); assertEquals(expResult, actual); } @Test public void testFileBody() throws Exception { System.out.println("testFileBody"); RequestBean expResult = getRequestBeanWithoutBody(); ContentType ct = new ContentTypeBean("text/plain", Charsets.UTF_8); ReqEntityFileBean body = new ReqEntityFileBean(new File("/etc/hosts"), ct); expResult.setBody(body); Request actual = p.getRequestFromFile(new File("src/test/resources/reqBodyFile.rcq")); assertEquals(expResult, actual); } @Test public void testByteArrayBody() throws Exception { System.out.println("testByteArrayBody"); RequestBean expResult = getRequestBeanWithoutBody(); ContentType ct = new ContentTypeBean("image/jpeg", null); byte[] arr = FileUtil.getContentAsBytes(new File("src/test/resources/subhash_by_aarthi.jpeg")); ReqEntityByteArrayBean body = new ReqEntityByteArrayBean(arr, ct); expResult.setBody(body); Request actual = p.getRequestFromFile(new File("src/test/resources/reqBodyByteArray.rcq")); assertEquals(expResult, actual); } @Test public void testMultipartBody() throws Exception { System.out.println("testMultipartBody"); List<ReqEntityPart> parts = new ArrayList<>(); ContentType ct = new ContentTypeBean("text/plain", Charsets.UTF_8); ReqEntityFilePartBean partFile = new ReqEntityFilePartBean("hosts-txt-name", "hosts.txt", ct, new File("/etc/hosts")); ReqEntityStringPartBean partString = new ReqEntityStringPartBean("aarthi.txt", ct, "Hello Babes!"); parts.add(partFile); parts.add(partString); ReqEntityMultipartBean expResult = new ReqEntityMultipartBean(parts, null, MultipartSubtype.FORM_DATA); Request actual = p.getRequestFromFile(new File("src/test/resources/reqBodyMultipart.rcq")); assertEquals(expResult, actual.getBody()); } }