use of com.sforce.soap.partner.LoginResult in project pentaho-kettle by pentaho.
the class SalesforceConnectionIT method setUp.
@Before
public void setUp() throws RemoteException, ConnectionException {
GetServerTimestampResult serverTime = new GetServerTimestampResult();
serverTime.setTimestamp(Calendar.getInstance());
LoginResult result = mock(LoginResult.class);
bindingStub = mock(PartnerConnection.class);
when(bindingStub.login(anyString(), anyString())).thenReturn(result);
when(bindingStub.getServerTimestamp()).thenReturn(serverTime);
}
use of com.sforce.soap.partner.LoginResult in project pentaho-kettle by pentaho.
the class SalesforceConnectionIT method testConnectOptions.
@Test
public void testConnectOptions() {
LogChannelInterface logInterface = mock(LogChannelInterface.class);
String url = SalesforceConnectionUtils.TARGET_DEFAULT_URL;
String username = "username";
String password = "password";
Integer timeout = 30;
try {
SalesforceConnection connection = spy(new SalesforceConnection(logInterface, url, username, password));
connection.setTimeOut(timeout);
LoginResult loginResult = mock(LoginResult.class);
GetUserInfoResult userInfo = mock(GetUserInfoResult.class);
GetServerTimestampResult serverTime = new GetServerTimestampResult();
serverTime.setTimestamp(Calendar.getInstance());
ArgumentCaptor<ConnectorConfig> captorConfig = ArgumentCaptor.forClass(ConnectorConfig.class);
doReturn(loginResult).when(bindingStub).login(anyString(), anyString());
doReturn(userInfo).when(bindingStub).getUserInfo();
when(loginResult.getServerUrl()).thenReturn("http://localhost/services/Soap/u/37.0");
when(loginResult.getSessionId()).thenReturn(UUID.randomUUID().toString());
when(userInfo.getUserFullName()).thenReturn(UUID.randomUUID().toString());
when(userInfo.getUserEmail()).thenReturn(UUID.randomUUID().toString());
when(userInfo.getUserLanguage()).thenReturn(UUID.randomUUID().toString());
when(userInfo.getOrganizationName()).thenReturn(UUID.randomUUID().toString());
doReturn(serverTime).when(bindingStub).getServerTimestamp();
connection.setTimeOut(timeout);
connection.setUsingCompression(true);
connection.setRollbackAllChangesOnError(true);
try {
connection.connect();
} catch (KettleException e) {
// The connection should fail
// We just want to see the generated ConnectorConfig
}
verify(connection).createBinding(captorConfig.capture());
ConnectorConfig config = captorConfig.getValue();
assertNotNull(config);
assertEquals(url, config.getAuthEndpoint());
assertTrue(config.isCompression());
assertTrue(config.isManualLogin());
assertEquals(timeout, Integer.valueOf(config.getConnectionTimeout()));
assertEquals(timeout, Integer.valueOf(config.getReadTimeout()));
} catch (Exception e) {
fail("Connection fail: " + e.getMessage());
}
}
use of com.sforce.soap.partner.LoginResult in project components by Talend.
the class SalesforceSourceOrSink method performLogin.
/**
* Provides manual login as in {@link PartnerConnection} constructor, checks login result for valid connection/credentials.
*
* @param config connector configuration with endpoint/userId/password
* @param connection to be used for login in Salesforce.
* @throws ConnectionException if password has been expired or bad connection to Salesforce.
* @see com.sforce.soap.partner.PartnerConnection#PartnerConnection(ConnectorConfig config)
*/
private void performLogin(ConnectorConfig config, PartnerConnection connection) throws ConnectionException {
config.setServiceEndpoint(config.getAuthEndpoint());
LoginResult loginResult = connection.login(config.getUsername(), config.getPassword());
if (loginResult.isPasswordExpired()) {
throw new ConnectionException(MESSAGES.getMessage("error.expiredPassword"));
}
config.setSessionId(loginResult.getSessionId());
config.setServiceEndpoint(loginResult.getServerUrl());
connection.setSessionHeader(loginResult.getSessionId());
}
Aggregations