Package com.github.kristofa.test.http.file

Source Code of com.github.kristofa.test.http.file.HttpRequestFileWriterTest

package com.github.kristofa.test.http.file;

import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.junit.Before;
import org.junit.Test;

import com.github.kristofa.test.http.HttpRequestImpl;
import com.github.kristofa.test.http.Method;
import com.github.kristofa.test.http.file.HttpRequestFileWriterImpl;

public class HttpRequestFileWriterTest {

    private static final String UTF8 = "UTF8";

    private static final String FILE_NAME = "HttpRequestFileWriterTest.txt";
    private static final String FILE_NAME_ENTITY = "HttpRequestFileWriterTest_entity.txt";

    private final static String TEMP_DIR = System.getProperty("java.io.tmpdir");

    private final static Method METHOD = Method.POST;
    private final static String HEADER_NAME_1 = "headerName1";
    private final static String HEADER_VALUE_1 = "headerValue1";
    private final static String HEADER_NAME_2 = "headerName2";
    private final static String HEADER_VALUE_2 = "headerValue2";
    private final static String PATH = "/path";
    private final static String PARAM_NAME_1 = "param1";
    private final static String PARAM_VALUE_1 = "paramValue1";
    private final static String PARAM_NAME_2 = "param2";
    private final static String PARAM_VALUE_2 = "paramValue2";
    private static final byte[] CONTENT = new String("content").getBytes();

    private HttpRequestFileWriterImpl writer;

    @Before
    public void setup() {
        writer = new HttpRequestFileWriterImpl();
    }

    @Test
    public void testWrite() throws IOException {
        final HttpRequestImpl httpRequestImpl = new HttpRequestImpl();
        httpRequestImpl.method(METHOD).httpMessageHeader(HEADER_NAME_1, HEADER_VALUE_1)
            .httpMessageHeader(HEADER_NAME_2, HEADER_VALUE_2).path(PATH).queryParameter(PARAM_NAME_1, PARAM_VALUE_1)
            .queryParameter(PARAM_NAME_2, PARAM_VALUE_2).content(CONTENT);

        final File requestFile = new File(TEMP_DIR, FILE_NAME);
        final File requestEntityFile = new File(TEMP_DIR, FILE_NAME_ENTITY);

        writer.write(httpRequestImpl, requestFile, requestEntityFile);

        final String expectedRequestFileContent = "[Method]\n" + //
            METHOD + "\n" + //
            "[HttpMessageHeader]\n" + //
            HEADER_NAME_1 + "=" + HEADER_VALUE_1 + "\n" + //
            HEADER_NAME_2 + "=" + HEADER_VALUE_2 + "\n" + //
            "[Path]\n" + //
            PATH + "\n" + //
            "[QueryParameters]\n" + //
            PARAM_NAME_1 + "=" + PARAM_VALUE_1 + "\n" + //
            PARAM_NAME_2 + "=" + PARAM_VALUE_2 + "\n";

        assertEquals(expectedRequestFileContent, FileUtils.readFileToString(requestFile, UTF8));
        assertArrayEquals(CONTENT, FileUtils.readFileToByteArray(requestEntityFile));
    }

}
TOP

Related Classes of com.github.kristofa.test.http.file.HttpRequestFileWriterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.