It's worth noting that CachedContentFetcher, in it's current form, isn't
really something I'd advocate using for anything other than the smallest
sights. https://issues.apache.org/jira/browse/SHINDIG-173 is my current
proposal to address that.

On Wed, Apr 9, 2008 at 2:18 PM, <[EMAIL PROTECTED]> wrote:

> Author: sgala
> Date: Wed Apr  9 14:18:20 2008
> New Revision: 646542
>
> URL: http://svn.apache.org/viewvc?rev=646542&view=rev
> Log:
> Test that nocache is honored by CachedContentFetcher
>
> Added:
>
>  
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/CachedContentFetcherTest.java
>
> Added:
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/CachedContentFetcherTest.java
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/CachedContentFetcherTest.java?rev=646542&view=auto
>
> ==============================================================================
> ---
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/CachedContentFetcherTest.java
> (added)
> +++
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/CachedContentFetcherTest.java
> Wed Apr  9 14:18:20 2008
> @@ -0,0 +1,73 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations under the
> License.
> + */
> +package org.apache.shindig.gadgets;
> +
> +import junit.framework.TestCase;
> +
> +import java.io.BufferedWriter;
> +import java.io.File;
> +import java.io.FileWriter;
> +import java.net.URI;
> +
> +public class CachedContentFetcherTest extends TestCase {
> +  private RemoteContentFetcher fetcher
> +      = new CachedContentFetcher(new
> BasicRemoteContentFetcher(Integer.MAX_VALUE));
> +
> +  public void testFetch() throws Exception {
> +    String content = "Hello, world!";
> +    File temp = File.createTempFile(this.getName(), ".txt");
> +    temp.deleteOnExit();
> +    BufferedWriter out = new BufferedWriter(new FileWriter(temp));
> +    out.write(content);
> +    out.close();
> +    RemoteContentRequest request = new
> RemoteContentRequest(temp.toURI());
> +    RemoteContent response = fetcher.fetch(request);
> +    assertEquals(RemoteContent.SC_OK, response.getHttpStatusCode());
> +    assertEquals(content, response.getResponseAsString());
> +    temp.delete();
> +    response = fetcher.fetch(request);
> +    assertEquals(RemoteContent.SC_OK, response.getHttpStatusCode());
> +    assertEquals(content, response.getResponseAsString());
> +  }
> +
> +  public void testDontCache() throws Exception {
> +    String content = "Hello, world!";
> +    File temp = File.createTempFile(this.getName(), ".txt");
> +    temp.deleteOnExit();
> +    BufferedWriter out = new BufferedWriter(new FileWriter(temp));
> +    out.write(content);
> +    out.close();
> +    RemoteContentRequest request =
> RemoteContentRequest.getRequest(temp.toURI(), true);
> +    RemoteContent response = fetcher.fetch(request);
> +    assertEquals(RemoteContent.SC_OK, response.getHttpStatusCode());
> +    assertEquals(content, response.getResponseAsString());
> +    temp.delete();
> +    response = fetcher.fetch(request);
> +    assertEquals(RemoteContent.SC_NOT_FOUND,
> response.getHttpStatusCode());
> +  }
> +
> +
> +  public void testNotExists() throws Exception {
> +    RemoteContentRequest request
> +        = new RemoteContentRequest(new URI("file:///does/not/exist"));
> +    RemoteContent response = fetcher.fetch(request);
> +    assertEquals(RemoteContent.SC_NOT_FOUND,
> response.getHttpStatusCode());
> +  }
> +
> +  // TODO test caching of POST requests, headers, options, etc.
> +}
>
>
>


-- 
~Kevin

Reply via email to