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

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

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

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

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

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

import com.github.kristofa.test.http.HttpResponseImpl;

public class HttpResponseFileWriterImplTest {

    private static final String UTF8 = "UTF8";

    private final static String TEMP_DIR = System.getProperty("java.io.tmpdir");
    private final static String HTTP_RESPONSE_FILENAME = "HttpResponseFileWriterImplTest.txt";
    private final static String HTTP_RESPONSE_ENTITY_FILENAME = "HttpResponseFileWriterImplTest_entity.txt";
    private final static String HTTP_RESPONSE_FILENAME_2 = "HttpResponseFileWriterImplTest_2.txt";
    private final static String HTTP_RESPONSE_ENTITY_FILENAME_2 = "HttpResponseFileWriterImplTest_entity_2.txt";

    private static final int HTTP_CODE = 200;
    private static final String CONTENTTYPE = "contentType";
    private static final byte[] RESPONSE_CONTENT = new String("responseContent").getBytes();

    @Test
    public void testWrite() throws IOException {
        final HttpResponseImpl httpResponseImpl = new HttpResponseImpl(HTTP_CODE, CONTENTTYPE, RESPONSE_CONTENT);

        final File responseFile = new File(TEMP_DIR, HTTP_RESPONSE_FILENAME);
        final File responseEntityFile = new File(TEMP_DIR, HTTP_RESPONSE_ENTITY_FILENAME);

        final HttpResponseFileWriterImpl writer = new HttpResponseFileWriterImpl();
        writer.write(httpResponseImpl, responseFile, responseEntityFile);

        final String expectedResponseFileContent = "[HttpCode]\n" + //
            HTTP_CODE + "\n" + //
            "[ContentType]\n" + //
            CONTENTTYPE + "\n";

        assertEquals(expectedResponseFileContent, FileUtils.readFileToString(responseFile, UTF8));
        assertArrayEquals(RESPONSE_CONTENT, FileUtils.readFileToByteArray(responseEntityFile));
    }

    @Test
    public void testWriteEmptyContentTypeAndContent() throws IOException {
        final HttpResponseImpl httpResponseImpl = new HttpResponseImpl(HTTP_CODE, null, null);

        final File responseFile = new File(TEMP_DIR, HTTP_RESPONSE_FILENAME_2);
        final File responseEntityFile = new File(TEMP_DIR, HTTP_RESPONSE_ENTITY_FILENAME_2);

        final HttpResponseFileWriterImpl writer = new HttpResponseFileWriterImpl();
        writer.write(httpResponseImpl, responseFile, responseEntityFile);

        final String expectedResponseFileContent = "[HttpCode]\n" + //
            HTTP_CODE + "\n" + //
            "[ContentType]\n\n"; //

        assertEquals(expectedResponseFileContent, FileUtils.readFileToString(responseFile, UTF8));
        assertFalse("There is no content so we expect file not to be created.", responseEntityFile.exists());
    }

}
TOP

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

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.