use of com.fitpay.android.api.models.security.OAuthToken in project fitpay-android-sdk by fitpay.
the class TestActions method doLogin.
protected boolean doLogin(LoginIdentity loginIdentity) throws Exception {
final CountDownLatch latch = new CountDownLatch(1);
ResultProvidingCallback<OAuthToken> callback = new ResultProvidingCallback<>(latch);
ApiManager.getInstance().loginUser(loginIdentity, callback);
boolean completed = latch.await(TIMEOUT, TimeUnit.SECONDS);
assertTrue("login did not complete successfully", completed);
assertEquals("login error code. (message: " + callback.getErrorMessage() + ")", -1, callback.getErrorCode());
return completed;
}
use of com.fitpay.android.api.models.security.OAuthToken in project fitpay-android-sdk by fitpay.
the class WebViewCommunicatorImpl method sendUserData.
@Override
@JavascriptInterface
public void sendUserData(String callbackId, String deviceId, String token, String userId) {
this.deviceId = deviceId;
FPLog.d(TAG, "sendUserData received data: deviceId: " + deviceId + ", token: " + token + ", userId: " + userId);
OAuthToken oAuthToken = new OAuthToken.Builder().accessToken(token).build();
ApiManager.getInstance().setAuthToken(oAuthToken);
getUserAndDevice(deviceId, callbackId);
}
use of com.fitpay.android.api.models.security.OAuthToken in project fitpay-android-sdk by fitpay.
the class UserTest2 method testCantLoginWithDifferentPassword.
@Test
// this test does not work in demo environment since does auto-login
@Ignore
public void testCantLoginWithDifferentPassword() throws Exception {
this.user = getUser();
assertNotNull(user);
LoginIdentity badCredentials = getTestLoginIdentity(userName, TestUtils.getRandomLengthNumber(4, 4));
final CountDownLatch latch = new CountDownLatch(1);
ResultProvidingCallback<OAuthToken> callback = new ResultProvidingCallback<>(latch);
ApiManager.getInstance().loginUser(badCredentials, callback);
boolean completed = latch.await(TIMEOUT, TimeUnit.SECONDS);
assertTrue("login did not complete successfully", completed);
assertEquals("login error code. (message: " + callback.getErrorMessage() + ")", 401, callback.getErrorCode());
}
use of com.fitpay.android.api.models.security.OAuthToken in project fitpay-android-sdk by fitpay.
the class Steps method login.
public void login() throws InterruptedException {
final CountDownLatch latch = new CountDownLatch(1);
final boolean[] isRequestSuccess = { false };
LoginIdentity loginIdentity = null;
try {
loginIdentity = new LoginIdentity.Builder().setUsername(userName).setPassword(password).build();
} catch (ValidationException ignored) {
}
Assert.assertNotNull(loginIdentity);
ApiManager.getInstance().loginUser(loginIdentity, new ApiCallback<OAuthToken>() {
@Override
public void onSuccess(OAuthToken result) {
Assert.assertNotNull("missing bearer token", result.getAccessToken());
isRequestSuccess[0] = true;
latch.countDown();
}
@Override
public void onFailure(@ResultCode.Code int errorCode, String errorMessage) {
fail("unable to login: " + errorMessage);
latch.countDown();
}
});
latch.await(TIMEOUT, TimeUnit.SECONDS);
Assert.assertTrue(isRequestSuccess[0]);
}
use of com.fitpay.android.api.models.security.OAuthToken in project fitpay-android-sdk by fitpay.
the class BearerTokenTest method testExpiredToken.
@Test
public void testExpiredToken() throws Exception {
OAuthToken token = new OAuthToken.Builder().accessToken("eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI0MmMwOWY5YS1mYWRmLTQyZDUtOGYzZC0zN2M4NTI2MTllY2YiLCJzdWIiOiIwYWQxMmEwNC0yZDc0LTRmYjUtYjFmMi00ZmVkZjcwMGRlMGQiLCJzY29wZSI6WyJ1c2VyLnJlYWQiLCJ1c2VyLndyaXRlIiwidHJhbnNhY3Rpb25zLnJlYWQiLCJkZXZpY2VzLndyaXRlIiwiZGV2aWNlcy5yZWFkIiwib3JnYW5pemF0aW9ucy5GSVRQQVkiLCJjcmVkaXRDYXJkcy53cml0ZSIsImNyZWRpdENhcmRzLnJlYWQiXSwiY2xpZW50X2lkIjoiZnBfd2ViYXBwX3BKa1ZwMlJsIiwiY2lkIjoiZnBfd2ViYXBwX3BKa1ZwMlJsIiwiYXpwIjoiZnBfd2ViYXBwX3BKa1ZwMlJsIiwidXNlcl9pZCI6IjBhZDEyYTA0LTJkNzQtNGZiNS1iMWYyLTRmZWRmNzAwZGUwZCIsIm9yaWdpbiI6InVhYSIsInVzZXJfbmFtZSI6InNjb3R0K25ld3dhbGxldEBmaXQtcGF5LmNvbSFmcF93ZWJhcHBfcEprVnAyUmwiLCJlbWFpbCI6InNjb3R0K25ld3dhbGxldEBmaXQtcGF5LmNvbSIsImF1dGhfdGltZSI6MTUwNTMyMDM3NCwicmV2X3NpZyI6IjU5MzQ5Njc1IiwiaWF0IjoxNTA1MzIwMzc0LCJleHAiOjE1MDUzNjM1NzQsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC91YWEvb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJhdWQiOlsiZnBfd2ViYXBwX3BKa1ZwMlJsIiwidXNlciIsInRyYW5zYWN0aW9ucyIsImRldmljZXMiLCJvcmdhbml6YXRpb25zIiwiY3JlZGl0Q2FyZHMiXX0.Z6WP2EIZR7jumtqfPboCPczJf-CR3I6RF498UlNQPsVuOV9bVbK1o0UjhVWYUnKQEfc_Ujirp_z8Eb6jeDx1eFyDN6cvFV9Bp0UJrvPBO79gCL3jeu0yb-M1mESTYKuoyk5rDa4_jW_1gI9BKDX8UXAEICaELasQRv4fgG0zGcua-f-FJJywtkvLc3PEaZP2xN8wpcUL053jg2QaNjgGWH_YWN3krj43gnAcgt9rOVZlTJKSGpED0Np4bq8IHZa6FBh-aFG0OzO3VWilMHiwFDLTEIlgrfVvV5-7_JKXDDDgy9ukbtmbzth1xPVBVNlxKS7K6tSlvttJ3esRuYMUqw").build();
ApiManager.getInstance().setAuthToken(token);
CountDownLatch latch = new CountDownLatch(1);
final List<Integer> codes = new ArrayList<>();
ApiManager.getInstance().getUser(new ApiCallback<User>() {
@Override
public void onSuccess(User result) {
codes.add(200);
latch.countDown();
}
@Override
public void onFailure(@ResultCode.Code int errorCode, String errorMessage) {
System.out.println(errorMessage);
codes.add(errorCode);
latch.countDown();
}
});
latch.await();
Assert.assertEquals("incorrect number for response codes captured", 1, codes.size());
Assert.assertEquals(new Integer(AccessDenied.INVALID_TOKEN_RESPONSE_CODE), codes.get(0));
// EXPIRED_TOKEN will be received only once after commit: limited the number of expired token events (#156)
Assert.assertEquals("access denied not posted to RxBus", 2, listener.getReceived().size());
// key setup
Assert.assertEquals(AccessDenied.Reason.EXPIRED_TOKEN, listener.getReceived().get(0).getReason());
// Assert.assertEquals(AccessDenied.Reason.EXPIRED_TOKEN, listener.getReceived().get(1).getReason()); // getting user
// denied get user
Assert.assertEquals(AccessDenied.Reason.UNAUTHORIZED, listener.getReceived().get(1).getReason());
}
Aggregations