Package org.beangle.web.io

Source Code of org.beangle.web.io.SplitStreamDownloaderTest

/* Copyright c 2005-2012.
* Licensed under GNU  LESSER General Public License, Version 3.
* http://www.gnu.org/licenses
*/
package org.beangle.web.io;

import java.io.File;
import java.net.URL;

import org.beangle.web.mime.MimeTypeProvider;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class SplitStreamDownloaderTest {

  StreamDownloader streamDownloader = new SplitStreamDownloader(new MimeTypeProvider());

  public void download() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    URL testDoc = DefaultStreamDownloaderTest.class.getResource("/download.txt");
    streamDownloader.download(request, response, testDoc, null);
    Assert.assertEquals(response.getStatus(), 200);
    Assert.assertEquals(response.getHeader("Accept-Ranges"), "bytes");

    Assert.assertEquals(response.getContentLength(), 59);

    File file = new File(testDoc.toURI());
    request = new MockHttpServletRequest();
    response = new MockHttpServletResponse();
    request.addHeader("Range", "bytes=5-12");
    streamDownloader.download(request, response, testDoc, null);
    Assert.assertEquals(response.getStatus(), 206);
    Assert.assertEquals(response.getHeader("Content-Range"), "bytes 5-12/" + file.length());
    String content = response.getContentAsString();
    Assert.assertEquals(content, "document");
  }
}
TOP

Related Classes of org.beangle.web.io.SplitStreamDownloaderTest

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.