Package org.apache.hadoop.hdfs.web.WebHdfsFileSystem

Examples of org.apache.hadoop.hdfs.web.WebHdfsFileSystem.OffsetUrlOpener


  public void testByteRange() throws Exception {
    final Configuration conf = new Configuration();
    final String uri = WebHdfsFileSystem.SCHEME  + "://localhost:50070/";
    final WebHdfsFileSystem webhdfs = (WebHdfsFileSystem)FileSystem.get(new URI(uri), conf);

    OffsetUrlOpener ospy = spy(webhdfs.new OffsetUrlOpener(new URL("http://test/")));
    doReturn(new MockHttpURLConnection(ospy.getURL())).when(ospy)
        .openConnection();
    OffsetUrlOpener rspy = spy(webhdfs.new OffsetUrlOpener((URL) null));
    doReturn(new MockHttpURLConnection(rspy.getURL())).when(rspy)
        .openConnection();
    final OffsetUrlInputStream is = new OffsetUrlInputStream(ospy, rspy);

    assertEquals("getPos wrong", 0, is.getPos());

    is.read();

    assertNull("Initial call made incorrectly (Range Check)", ospy
        .openConnection().getRequestProperty("Range"));

    assertEquals("getPos should be 1 after reading one byte", 1, is.getPos());

    is.read();

    assertEquals("getPos should be 2 after reading two bytes", 2, is.getPos());

    // No additional connections should have been made (no seek)

    rspy.setURL(new URL("http://resolvedurl/"));

    is.seek(100);
    is.read();

    assertEquals("getPos should be 101 after reading one byte", 101,
        is.getPos());

    verify(rspy, times(1)).openConnection();

    is.seek(101);
    is.read();

    verify(rspy, times(1)).openConnection();

    // Seek to 101 should not result in another request"

    is.seek(2500);
    is.read();

    ((MockHttpURLConnection) rspy.openConnection()).setResponseCode(206);
    is.seek(0);

    try {
      is.read();
      fail("Exception should be thrown when 206 response is given "
View Full Code Here

TOP

Related Classes of org.apache.hadoop.hdfs.web.WebHdfsFileSystem.OffsetUrlOpener

Copyright © 2018 www.massapicom. 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.