Author: beaton
Date: Sat Jul 19 22:11:26 2008
New Revision: 678250

URL: http://svn.apache.org/viewvc?rev=678250&view=rev
Log:
Better test coverage for OAuth token storage, and allow the OAuth tests 
to run without relying on particular files in the classpath.  This lets 
us run the tests independently from inside eclipse.

Added:
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStoreTest.java
Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStore.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthFetcherFactory.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthFetcherTest.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStore.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStore.java?rev=678250&r1=678249&r2=678250&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStore.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStore.java
 Sat Jul 19 22:11:26 2008
@@ -41,26 +41,27 @@
   public BasicGadgetOAuthTokenStore(OAuthStore store,
       GadgetSpecFactory specFactory) throws GadgetException {
     super(store, specFactory);
-    initFromConfigFile(specFactory);
   }
 
-  public void initFromConfigFile(GadgetSpecFactory specFactory)
-  throws GadgetException {
+  public void initFromConfigFile() throws GadgetException {
     // Read our consumer keys and secrets from config/oauth.js
-    // This actually involves fetching gadget specs
     try {
       String oauthConfigStr = ResourceLoader.getContent(OAUTH_CONFIG);
-
+      initFromConfigString(oauthConfigStr);
+    } catch (IOException e) {
+      throw new GadgetException(GadgetException.Code.OAUTH_STORAGE_ERROR, e);
+    }
+  }
+  
+  public void initFromConfigString(String oauthConfigStr)throws 
GadgetException {
+    try {
       JSONObject oauthConfigs = new JSONObject(oauthConfigStr);
-
       for (Iterator<?> i = oauthConfigs.keys(); i.hasNext();) {
         String url = (String) i.next();
         URI gadgetUri = new URI(url);
         JSONObject oauthConfig = oauthConfigs.getJSONObject(url);
         storeConsumerInfos(gadgetUri, oauthConfig);
       }
-    } catch (IOException e) {
-      throw new GadgetException(GadgetException.Code.OAUTH_STORAGE_ERROR, e);
     } catch (JSONException e) {
       throw new GadgetException(GadgetException.Code.OAUTH_STORAGE_ERROR, e);
     } catch (URISyntaxException e) {

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthFetcherFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthFetcherFactory.java?rev=678250&r1=678249&r2=678250&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthFetcherFactory.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/OAuthFetcherFactory.java
 Sat Jul 19 22:11:26 2008
@@ -55,8 +55,10 @@
       this.oauthCrypter = new BasicBlobCrypter(
           Crypto.getRandomBytes(BasicBlobCrypter.MASTER_KEY_MIN_LEN));
 
-      this.tokenStore =
+      BasicGadgetOAuthTokenStore store =
           new BasicGadgetOAuthTokenStore(new BasicOAuthStore(), specFactory);
+      store.initFromConfigFile();
+      this.tokenStore = store;
     } catch (Throwable t) {
       // Since this happens at startup, we don't want to kill the server just
       // because we can't initialize the OAuth config.

Added: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java?rev=678250&view=auto
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
 (added)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
 Sat Jul 19 22:11:26 2008
@@ -0,0 +1,48 @@
+/*
+ * 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 java.net.URI;
+
+import org.apache.shindig.gadgets.oauth.GadgetTokenStoreTest;
+import org.apache.shindig.gadgets.spec.GadgetSpec;
+
+/**
+ * Fakes out a gadget spec factory
+ */
+public class FakeGadgetSpecFactory implements GadgetSpecFactory {
+  public static final String SERVICE_NAME = "testservice";
+  public static final String SERVICE_NAME_NO_KEY = "nokey";
+  
+  public GadgetSpec getGadgetSpec(GadgetContext context) {
+    // we don't need this one yet
+    return null;
+  }
+  
+  public GadgetSpec getGadgetSpec(URI gadgetUri, boolean ignoreCache)
+      throws GadgetException {
+    if (gadgetUri.toString().contains("nokey")) {
+      String nokeySpec = GadgetTokenStoreTest.GADGET_SPEC.replace(
+          SERVICE_NAME, SERVICE_NAME_NO_KEY);
+      return new GadgetSpec(gadgetUri, nokeySpec);
+    } else {
+      return new GadgetSpec(gadgetUri, GadgetTokenStoreTest.GADGET_SPEC);
+    }
+  }
+}

Added: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStoreTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStoreTest.java?rev=678250&view=auto
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStoreTest.java
 (added)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/BasicGadgetOAuthTokenStoreTest.java
 Sat Jul 19 22:11:26 2008
@@ -0,0 +1,63 @@
+/*
+ * 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.oauth;
+
+import org.apache.shindig.gadgets.FakeGadgetSpecFactory;
+import org.apache.shindig.gadgets.GadgetTestFixture;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests for BasicGadgetOAuthTokenStore
+ */
+public class BasicGadgetOAuthTokenStoreTest extends GadgetTestFixture {
+  
+  private static final String CONFIG = "" +
+               "{" +
+               " 
'http://localhost:8080/gadgets/files/samplecontainer/examples/oauth.xml' : {" +
+               "   'testservice' : {" +
+      "     'consumer_key' : 'noCallbackConsumer'," +
+      "     'consumer_secret' : 'noCallbackSecret'," + 
+      "     'key_type' : 'HMAC_SYMMETRIC'" +
+      "   }" +
+      " }" +
+      "}";
+  
+  private BasicGadgetOAuthTokenStore store;
+  
+  @Before
+  public void setUp() throws Exception {
+    OAuthStore backingStore = new BasicOAuthStore();    
+    store = new BasicGadgetOAuthTokenStore(backingStore, new 
FakeGadgetSpecFactory());
+    store.initFromConfigString(CONFIG);
+  }
+  
+  @Test
+  public void testReadOk() throws Exception {
+    OAuthStore.TokenKey key = new OAuthStore.TokenKey();
+    
key.setGadgetUri("http://localhost:8080/gadgets/files/samplecontainer/examples/oauth.xml";);
+    key.setServiceName("testservice");
+    key.setUserId("bob");
+    key.setModuleId(0);
+    key.setTokenName("");
+    OAuthStore.AccessorInfo accessor = store.getOAuthAccessor(key, false);
+    assertEquals("noCallbackConsumer", accessor.accessor.consumer.consumerKey);
+    assertEquals("noCallbackSecret", 
accessor.accessor.consumer.consumerSecret);
+    assertEquals(OAuthStore.SignatureType.HMAC_SHA1, accessor.signatureType);
+  }
+}

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthFetcherTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthFetcherTest.java?rev=678250&r1=678249&r2=678250&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthFetcherTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthFetcherTest.java
 Sat Jul 19 22:11:26 2008
@@ -21,25 +21,23 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
+import java.net.URI;
+import java.util.Map;
+
 import org.apache.shindig.common.BasicSecurityToken;
 import org.apache.shindig.common.SecurityToken;
 import org.apache.shindig.common.crypto.BasicBlobCrypter;
 import org.apache.shindig.common.crypto.BlobCrypter;
-import org.apache.shindig.gadgets.GadgetContext;
+import org.apache.shindig.gadgets.FakeGadgetSpecFactory;
 import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.GadgetSpecFactory;
 import org.apache.shindig.gadgets.http.HttpFetcher;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.oauth.FakeOAuthServiceProvider.TokenPair;
-import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.net.URI;
-import java.util.Map;
-
 /**
  * Primitive test of the main code paths in OAuthFetcher.
  *
@@ -52,8 +50,6 @@
   private BlobCrypter blobCrypter;
   private FakeOAuthServiceProvider serviceProvider;
 
-  public static final String SERVICE_NAME = "testservice";
-  public static final String SERVICE_NAME_NO_KEY = "nokey";
   public static final String GADGET_URL = "http://www.example.com/gadget.xml";;
   public static final String GADGET_URL_NO_KEY =
       "http://www.example.com/nokey.xml";;
@@ -72,21 +68,27 @@
     BasicOAuthStore base = new BasicOAuthStore();
     addValidConsumer(base);
     addInvalidConsumer(base);
-    return new BasicGadgetOAuthTokenStore(base, new FakeGadgetSpecFactory());
+    BasicGadgetOAuthTokenStore store = new BasicGadgetOAuthTokenStore(base,
+        new FakeGadgetSpecFactory());
+    store.initFromConfigString("{}");
+    return store;
   }
 
   private static void addValidConsumer(BasicOAuthStore base) {
     addConsumer(
         base,
         GADGET_URL,
-        SERVICE_NAME,
+        FakeGadgetSpecFactory.SERVICE_NAME,
         FakeOAuthServiceProvider.CONSUMER_KEY,
         FakeOAuthServiceProvider.CONSUMER_SECRET);
   }
 
   private static void addInvalidConsumer(BasicOAuthStore base) {
-    addConsumer(base, GADGET_URL_NO_KEY, SERVICE_NAME_NO_KEY, "garbage_key",
-        "garbage_secret");
+    addConsumer(
+        base,
+        GADGET_URL_NO_KEY,
+        FakeGadgetSpecFactory.SERVICE_NAME_NO_KEY,
+        "garbage_key", "garbage_secret");
   }
 
   private static void addConsumer(
@@ -128,8 +130,8 @@
   }
 
   @SuppressWarnings("unused")
-  public HttpFetcher getFetcher(
-      SecurityToken authToken, OAuthRequestParams params) throws 
GadgetException {
+  public HttpFetcher getFetcher(SecurityToken authToken,
+      OAuthRequestParams params) throws GadgetException {
     OAuthFetcher fetcher = new OAuthFetcher(
         tokenStore, blobCrypter, serviceProvider, authToken, params);
     return fetcher;
@@ -143,7 +145,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -156,7 +159,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -164,7 +168,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "somebody else"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -172,7 +177,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("somebody else", "somebody else"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -185,7 +191,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("somebody else", "somebody else"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -200,7 +207,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -213,7 +221,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -223,7 +232,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -236,7 +246,8 @@
     serviceProvider.browserVisit(approvalUrl + "&user_data=reapproved");
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -254,7 +265,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -267,7 +279,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -277,7 +290,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -290,7 +304,8 @@
     serviceProvider.browserVisit(approvalUrl + "&user_data=reapproved");
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -305,7 +320,8 @@
 
     fetcher = getFetcher(
         getNokeySecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME_NO_KEY, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME_NO_KEY, null,
+            null, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -327,7 +343,8 @@
 
     fetcher = getFetcher(
         getNokeySecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME_NO_KEY, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME_NO_KEY, null,
+            null, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -350,7 +367,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -367,7 +385,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -380,7 +399,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -395,7 +415,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, null, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null, null,
+            false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -415,7 +436,8 @@
 
     fetcher = getFetcher(
         getSecurityToken("owner", "owner"),
-        new OAuthRequestParams(SERVICE_NAME, null, clientState, false));
+        new OAuthRequestParams(FakeGadgetSpecFactory.SERVICE_NAME, null,
+            clientState, false));
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
     response = fetcher.fetch(request);
@@ -447,7 +469,8 @@
     String errorText = metadata.get("oauthErrorText");
     assertEquals(
         0,
-        errorText.indexOf("Spec does not contain OAuth service 
'nosuchservice'.  Known services: 'testservice'\n"));
+        errorText.indexOf("Spec does not contain OAuth service " +
+                       "'nosuchservice'.  Known services: 'testservice'\n"));
   }
   
   @Test
@@ -463,7 +486,8 @@
     TokenPair reqToken = serviceProvider.getPreapprovedToken("preapproved");
     
     OAuthRequestParams params = new OAuthRequestParams(
-        SERVICE_NAME, null, null, false, reqToken.token, reqToken.secret);
+        FakeGadgetSpecFactory.SERVICE_NAME, null, null, false, reqToken.token,
+            reqToken.secret);
 
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
@@ -507,7 +531,8 @@
     HttpResponse response;
 
     OAuthRequestParams params = new OAuthRequestParams(
-        SERVICE_NAME, null, null, false, "garbage", "garbage");
+        FakeGadgetSpecFactory.SERVICE_NAME, null, null, false, "garbage",
+        "garbage");
     
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
@@ -521,7 +546,8 @@
     serviceProvider.browserVisit(approvalUrl + "&user_data=hello-oauth");
 
     params = new OAuthRequestParams(
-        SERVICE_NAME, null, clientState, false, "garbage", "garbage");
+        FakeGadgetSpecFactory.SERVICE_NAME, null, clientState, false, 
"garbage",
+            "garbage");
     
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
@@ -531,7 +557,8 @@
     clientState = response.getMetadata().get("oauthState");
     
     params = new OAuthRequestParams(
-        SERVICE_NAME, null, clientState, false, "garbage", "garbage");
+        FakeGadgetSpecFactory.SERVICE_NAME, null, clientState, false, 
"garbage",
+            "garbage");
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
@@ -540,13 +567,15 @@
   }
   
   @Test
-  public void testPreapprovedToken_invalidWithOutClientState() throws 
Exception {
+  public void testPreapprovedToken_invalidWithOutClientState()
+      throws Exception {
     HttpFetcher fetcher;
     HttpRequest request;
     HttpResponse response;
 
     OAuthRequestParams params = new OAuthRequestParams(
-        SERVICE_NAME, null, null, false, "garbage", "garbage");
+        FakeGadgetSpecFactory.SERVICE_NAME, null, null, false, "garbage",
+        "garbage");
     
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
@@ -560,7 +589,8 @@
     serviceProvider.browserVisit(approvalUrl + "&user_data=hello-oauth");
 
     params = new OAuthRequestParams(
-        SERVICE_NAME, null, clientState, false, "garbage", "garbage");
+        FakeGadgetSpecFactory.SERVICE_NAME, null, clientState, false, 
"garbage",
+        "garbage");
     
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
@@ -571,7 +601,8 @@
     
     // Simulates a user leaving the page and then returning
     params = new OAuthRequestParams(
-        SERVICE_NAME, null, null, false, "garbage", "garbage");
+        FakeGadgetSpecFactory.SERVICE_NAME, null, null, false, "garbage",
+        "garbage");
     fetcher = getFetcher(getSecurityToken("owner", "owner"), params);
     request = new HttpRequest(
         new URI(FakeOAuthServiceProvider.RESOURCE_URL));
@@ -579,20 +610,5 @@
     assertEquals("User data is hello-oauth", response.getResponseAsString());
   }
   
-  private static class FakeGadgetSpecFactory implements GadgetSpecFactory {
-    public GadgetSpec getGadgetSpec(GadgetContext context) {
-      // we don't need this one for this test
-      return null;
-    }
-    public GadgetSpec getGadgetSpec(URI gadgetUri, boolean ignoreCache)
-        throws GadgetException {
-      if (gadgetUri.toString().contains("nokey")) {
-        String nokeySpec = GadgetTokenStoreTest.GADGET_SPEC.replace(
-            SERVICE_NAME, SERVICE_NAME_NO_KEY);
-        return new GadgetSpec(gadgetUri, nokeySpec);
-      } else {
-        return new GadgetSpec(gadgetUri, GadgetTokenStoreTest.GADGET_SPEC);
-      }
-    }
-  }
+
 }


Reply via email to