Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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 static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
 import org.junit.Test;
 
 public class GadgetTokenStoreTest {
 
   private static final String GADGET_URL = "http://www.example.com/gadget.xml";
   
   public static final String DEFAULT_CALLBACK = "http://www.example.com/oauthcallback";
 
   public static final String GADGET_SPEC =
       "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
       "  <Module>\n" +
       "    <ModulePrefs title=\"hello world example\">\n" +
       "   \n" +
       "    <OAuth>\n" +
       "      <Service name='testservice'>" +
       "        <Access " +
       "          url='" + . + '\'' +
       "          param_location='uri-query' " +
       "          method='GET'" +
       "        />" +
       "        <Request " +
       "          url='" + . + '\'' +
       "          param_location='uri-query' " +
       "          method='GET'" +
       "        />" +
       "        <Authorization " +
       "          url='" + . + '\'' +
       "        />" +
       "      </Service>" +
       "    </OAuth>\n" +
       "    </ModulePrefs>\n" +
       "    <Content type=\"html\">\n" +
       "       <![CDATA[\n" +
       "         Hello, world!\n" +
       "       ]]>\n" +
       "       \n" +
       "    </Content>\n" +
       "  </Module>";
 
   private BlobCrypter stateCrypter;
 
   @Before
   public void setUp() throws Exception {
      = new BasicOAuthStore();
         ."keyname"null));
 
      = new FakeGadgetToken();
     .setOwnerId("owner");
     .setViewerId("viewer");
 
      = new FakeGadgetToken();
     .setOwnerId("owner");
    .setViewerId("owner");
     = new BasicBlobCrypter("abcdefghijklmnop".getBytes());
  }
  @Test
  public void testGetOAuthAccessor_signedFetch() throws Exception {
    OAuthArguments arguments = new OAuthArguments();
    arguments.setUseToken(.);
    assertEquals("keyname"info.getConsumer().getKeyName());
    assertEquals("key"info.getConsumer().getConsumer().consumerKey);
    assertNull(info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
    OAuthArguments arguments = new OAuthArguments();
    try {
      fail();
    } catch (OAuthRequestException e) {
      assertEquals("BAD_OAUTH_CONFIGURATION".getError());
    }
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("hmac");
        "hmacsecret".nullnull);
    OAuthArguments arguments = new OAuthArguments();
    arguments.setUseToken(.);
    arguments.setServiceName("hmac");
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("otherservice");
        "hmacsecret".nullnull);
    OAuthArguments arguments = new OAuthArguments();
    arguments.setUseToken(.);
    arguments.setServiceName("hmac");
    assertEquals("keyname"info.getConsumer().getKeyName());
    assertEquals("key"info.getConsumer().getConsumer().consumerKey);
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("");
        "hmacsecret".nullnull);
    OAuthArguments arguments = new OAuthArguments();
    arguments.setUseToken(.);
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("testservice");
        "hmacsecret".nullnull);
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("testservice");
        "hmacsecret".nullnull);
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
        );
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("testservice");
        "hmacsecret".nullnull);
    .setTokenInfo(null"testservice""",
        new TokenInfo("token""secret"null, 0));
    // Owner views their own page
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
        );
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertEquals("token"info.getAccessor().accessToken);
    assertEquals("secret"info.getAccessor().tokenSecret);
    // Friend views page
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
    index.setGadgetUri();
    index.setServiceName("testservice");
        "hmacsecret".nullnull);
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    Assert.assertNull(info.getConsumer().getKeyName());
    assertEquals("hmac"info.getConsumer().getConsumer().consumerKey);
    assertEquals("hmacsecret"info.getConsumer().getConsumer().consumerSecret);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
  @Test
  public void testGetOAuthAccessor_serviceNotFound() throws Exception {
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("no such service");
    arguments.setUseToken(.);
    try {
      fail();
    } catch (OAuthRequestException e) {
      assertEquals("BAD_OAUTH_CONFIGURATION".getError());
    }
  }
  @Test
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    .setAppUrl("http://www.example.com/body.xml");
        );
        info.getConsumer().getConsumer().serviceProvider.requestTokenURL);
        info.getConsumer().getConsumer().serviceProvider.userAuthorizationURL);
        info.getConsumer().getConsumer().serviceProvider.accessTokenURL);
  }
  @Test
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    .setAppUrl("http://www.example.com/header.xml");
        );
        info.getConsumer().getConsumer().serviceProvider.requestTokenURL);
        info.getConsumer().getConsumer().serviceProvider.userAuthorizationURL);
        info.getConsumer().getConsumer().serviceProvider.accessTokenURL);
  }
  @Test
  public void testAccessTokenFromServerDatabase() throws Exception {
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    .storeTokenKeyAndSecret(nullarguments,
        new TokenInfo("access""secret""sessionhandle", 12345L), );
        );
    assertNull(info.getAccessor().requestToken);
    assertEquals("access"info.getAccessor().accessToken);
    assertEquals("secret"info.getAccessor().tokenSecret);
    assertEquals("sessionhandle"info.getSessionHandle());
    assertEquals(12345L, info.getTokenExpireMillis());
  }
  @Test
  public void testAccessTokenFromClient() throws Exception {
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    .storeTokenKeyAndSecret(nullarguments,
        new TokenInfo("access""secret"null, 0), );
    .setAccessToken("clienttoken");
    .setAccessTokenSecret("clienttokensecret");
    .setSessionHandle("clienthandle");
        );
    assertNull(info.getAccessor().requestToken);
    assertEquals("clienttoken"info.getAccessor().accessToken);
    assertEquals("clienttokensecret"info.getAccessor().tokenSecret);
    assertEquals("clienthandle"info.getSessionHandle());
    assertEquals(56789L, info.getTokenExpireMillis());
  }
  @Test
  public void testRequestTokenFromClientState() throws Exception {
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    .storeTokenKeyAndSecret(nullarguments,
        new TokenInfo("access""secret"null, 0), );
    .setRequestToken("request");
    .setRequestTokenSecret("requestsecret");
        );
    assertEquals("request"info.getAccessor().requestToken);
    assertEquals("requestsecret"info.getAccessor().tokenSecret);
    assertNull(info.getAccessor().accessToken);
  }
  @Test
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    arguments.setRequestToken("preapproved");
    arguments.setRequestTokenSecret("preapprovedsecret");
    .storeTokenKeyAndSecret(nullarguments,
        new TokenInfo("access""secret"null, 0), );
        );
    assertNull(info.getAccessor().requestToken);
    assertEquals("access"info.getAccessor().accessToken);
    assertEquals("secret"info.getAccessor().tokenSecret);
  }
  @Test
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    arguments.setRequestToken("preapproved");
    arguments.setRequestTokenSecret("preapprovedsecret");
        );
    assertNull(info.getAccessor().accessToken);
    assertEquals("preapproved"info.getAccessor().requestToken);
    assertEquals("preapprovedsecret"info.getAccessor().tokenSecret);
  }
  @Test
  public void testRemoveToken() throws Exception {
    OAuthArguments arguments = new OAuthArguments();
    arguments.setServiceName("testservice");
    arguments.setUseToken(.);
    .storeTokenKeyAndSecret(nullarguments,
        new TokenInfo("access""secret"null, 0), );
        );
    assertNull(info.getAccessor().requestToken);
    assertEquals("access"info.getAccessor().accessToken);
    assertEquals("secret"info.getAccessor().tokenSecret);
    .removeToken(nullarguments);
    assertNull(info.getAccessor().requestToken);
    assertNull(info.getAccessor().accessToken);
    assertNull(info.getAccessor().tokenSecret);
  }
New to GrepCode? Check out our FAQ X