@Test
  public void testRetrieve() throws Exception {
    SalesforceConnector connector = new SalesforceConnector();
    PartnerConnection partnerConnection = Mockito.mock(PartnerConnection.class);
    BulkConnection bulkConnection = Mockito.mock(BulkConnection.class);
    connector.setBulkConnection(bulkConnection);
    connector.setConnection(partnerConnection);

    SObject sObject1 = Mockito.mock(SObject.class);
    SObject sObject2 = Mockito.mock(SObject.class);

    when(partnerConnection.retrieve(eq("Id,Name"), eq("Account"), eq(new String[] {"id1", "id2"})))
        .thenReturn(new SObject[] {sObject1, sObject2});

    List<Map<String, Object>> result =
        connector.retrieve("Account", Arrays.asList("id1", "id2"), Arrays.asList("Id", "Name"));

    assertEquals(2, result.size());
  }