Package org.richfaces.test.staging

Source Code of org.richfaces.test.staging.ServerResourceTest$MockResource

/**
*
*/
package org.richfaces.test.staging;

import static org.junit.Assert.*;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Set;

import org.junit.Test;
import org.richfaces.test.staging.ClasspathServerResource;
import org.richfaces.test.staging.ServerResource;
import org.richfaces.test.staging.ServerResourcePath;
import org.richfaces.test.staging.ServerResourcesDirectory;

/**
* @author asmirnov
*
*/
public class ServerResourceTest {

  private class MockResource implements ServerResource {

    public void addResource(ServerResourcePath path, ServerResource resource) {
    }

    public InputStream getAsStream() throws IOException {
      return null;
    }

    public Set<String> getPaths() {
      return null;
    }

    public ServerResource getResource(ServerResourcePath path) {
      if (null != path && path.isFile()) {
        return this;
      }
      return null;
    }

    public URL getURL() {
      return null;
    }

  }

  /**
   * Test method for
   * {@link org.richfaces.test.staging.ServerResourcesDirectory#addResource(org.richfaces.test.staging.ServerResourcePath, org.richfaces.test.staging.ServerResource)}
   * .
   */
  @Test
  public void testAddResource() {
    ServerResourcesDirectory root = new ServerResourcesDirectory();
    MockResource webXml = new MockResource();
    root.addResource(ServerResourcePath.WEB_XML, webXml);
    assertEquals(1, root.getPaths().size());
    MockResource facesConfig = new MockResource();
    root.addResource(ServerResourcePath.FACES_CONFIG, facesConfig);
    assertEquals(1, root.getPaths().size());
    ServerResource webInf = root.getResource(ServerResourcePath.WEB_INF);
    assertNotNull(webInf);
    assertEquals(2, webInf.getPaths().size());
    assertSame(webXml, webInf
        .getResource(new ServerResourcePath("/web.xml")));
    assertSame(facesConfig, webInf.getResource(new ServerResourcePath(
        "/faces-config.xml")));
  }

  /**
   * Test method for
   * {@link org.richfaces.test.staging.ServerResourcesDirectory#getResource(org.richfaces.test.staging.ServerResourcePath)}
   * .
   */
  @Test
  public void testGetResource() {
    ServerResourcesDirectory root = new ServerResourcesDirectory();
    MockResource webXml = new MockResource();
    root.addResource(ServerResourcePath.WEB_XML, webXml);
    ServerResource webInf = root.getResource(ServerResourcePath.WEB_INF);
    assertNotNull(webInf);
    assertNull(root.getResource(new ServerResourcePath("/foo")));
    assertNull(root.getResource(new ServerResourcePath("/foo/baz")));
    assertEquals(1, root.getPaths().size());
    assertNull(root.getResource(new ServerResourcePath(
        "/WEB-INF/web.xml/foo")));
    assertSame(webXml, webInf.getResource(new ServerResourcePath(
        "/web.xml")));
  }

  /**
   * Test method for
   * {@link org.richfaces.test.staging.ServerResourcesDirectory#getResource(org.richfaces.test.staging.ServerResourcePath)}
   * .
   */
  @Test
  public void testGetResourceRoot() {
    ServerResourcesDirectory root = new ServerResourcesDirectory();
    MockResource indexXhtml = new MockResource();
    root.addResource(new ServerResourcePath("/index.xhtml"), indexXhtml);
    ServerResource index = root.getResource(new ServerResourcePath("/index.xhtml"));
    assertNotNull(index);
    assertNull(root.getResource(new ServerResourcePath("/foo")));
    assertNull(root.getResource(new ServerResourcePath("/foo/baz")));
    assertEquals(1, root.getPaths().size());
  }
 
  /**
   * Test method for
   * {@link org.richfaces.test.staging.ServerResourcesDirectory#getAsStream()}.
   *
   * @throws IOException
   */
  @Test
  public void testGetAsStream() throws IOException {
    ClasspathServerResource resource = new ClasspathServerResource(
        "org/richfaces/test/resource.txt");
    InputStream inputStream = resource.getAsStream();
    assertNotNull(inputStream);
    try {
      byte[] buff = new byte[20];
      assertEquals(3, inputStream.read(buff));

    } finally {
      inputStream.close();     
    }
  }


  /**
   * Test method for
   * {@link org.richfaces.test.staging.ServerResourcesDirectory#getURL()}.
   */
  @Test
  public void testGetURL() {
    ClasspathServerResource resource = new ClasspathServerResource(
    "org/richfaces/test/resource.txt");
    assertNotNull(resource.getURL());
  }

}
TOP

Related Classes of org.richfaces.test.staging.ServerResourceTest$MockResource

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.