AbstractClientTest.java :  » Contact » jpoco » jpoco » test » Android Open Source

Android Open Source » Contact » jpoco 
jpoco » jpoco » test » AbstractClientTest.java

package jpoco.test;


import java.util.*;

import javax.swing.JOptionPane;

import jpoco.client.*;

public abstract class AbstractClientTest extends AbstractTestCase
{
  
  
  public abstract ClientSettings getClientSettings();
  
  public void testWithXML() throws Exception
  {
    ClientSettings s = getClientSettings();
    s.setFormat(Format.XML);
    exerciseClient(s);
  }
  
  public void testWithJSON() throws Exception
  {
    ClientSettings s = getClientSettings();
    s.setFormat(Format.JSON);
    exerciseClient(s);
  }
  
  public void exerciseClient(ClientSettings s) throws Exception
  {
    Client client = new Client();
    client.setCompressionEnabled(false);
    client.setClientSettings(s);

    if (s.getUsesOAuth())
    {
      if ( ! s.getUserSpecificAccessToken().isValid() ) 
      {
        String url = client.getUserAuthorizationUrl();
    
        JOptionPane.showInputDialog(null, "URL:  " + url, url);
      
        client.fetchAccessToken();
      }
    }

    Contact self = client.getSelf();
    assertValid(self);
    
    if (this.getClientSettings().isOpenSocial())
    {
      List<Contact> allFriends = client.getFriends();
      assertContactList(allFriends);
    }
    else
    {
      List<Contact> allContacts = client.getContacts();
      assertContactList(allContacts);
    }
    
    if (this.getClientSettings().getSupportsFiltering())
    {
      exerciseFiltering(client);
    }
    
  }
  
  public void exerciseFiltering(Client client) throws Exception
  {
    List<Contact> people = null;
    
    if (this.getClientSettings().isOpenSocial())
    {
      people = client.getFriends();
    }
    else
    {
      people = client.getContacts();
    }
    
    Contact person = people.get(0);
    
    String dName = person.getDisplayName();
    
    QueryParameters queryParams = new QueryParameters();
    queryParams.addFilterOperation(new ContainsFilter("displayName", dName));
    
    List<Contact> contacts = client.query(queryParams);
    
    assertContactList(contacts);
    
    if (contacts.size() > 0)
    {
      Contact c = contacts.get(0);
      assertTrue(c.getDisplayName().indexOf(dName) != -1);
    }
    
    /* todo 
    
    queryParams = new QueryParameters();
    queryParams.addFilterOperation(new EqualsFilter("accounts.domain", "plaxo.com"));
    
    contacts = client.query(queryParams);
    
    assertContactList(contacts);
    
    for (Contact c : contacts)
    {
      List<Account> acc = c.getAccountsForDomain("plaxo.com");
      assertTrue(acc.size() > 0);
    }
    */
  }
  

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.