use of com.fitpay.android.api.models.device.CommitConfirm in project fitpay-android-sdk by fitpay.
the class CommitTest2 method testCanConfirmCommits.
@Test
public void testCanConfirmCommits() throws Exception {
Device device = getTestDevice();
Device createdDevice = createDevice(user, device);
assertNotNull("created device", createdDevice);
Collections.DeviceCollection devices = getDevices(user);
assertNotNull("devices collection should not be null", devices);
assertEquals("should have one device", 1, devices.getTotalResults());
String pan = "9999504454545450";
CreditCard creditCard = getTestCreditCard(pan);
CreditCard createdCard = createCreditCard(user, creditCard);
assertNotNull("card not created", createdCard);
createdCard = acceptTerms(createdCard);
waitForActivation(createdCard);
pan = "9999504454545451";
creditCard = getTestCreditCard(pan);
createdCard = createCreditCard(user, creditCard);
assertNotNull("card not created", createdCard);
acceptTerms(createdCard);
Collections.CommitsCollection commits = getCommits(createdDevice, null);
assertNotNull("commits collection", commits);
assertTrue("number of commits should be 2 or more. Got: " + commits.getTotalResults(), commits.getTotalResults() >= 2);
for (Commit commit : commits.getResults()) {
final CountDownLatch latch = new CountDownLatch(1);
if (commit.canConfirmCommit()) {
CommitConfirm confirm = new CommitConfirm(ResponseState.SUCCESS);
commit.confirm(confirm, new ApiCallback<Void>() {
@Override
public void onSuccess(Void result) {
latch.countDown();
}
@Override
public void onFailure(@ResultCode.Code int errorCode, String errorMessage) {
fail("commit confirm failed");
}
});
} else {
// TODO: uncomment out once the paltform supports this feature fully
// if (!commit.getCommitType().equals(CommitTypes.APDU_PACKAGE)) {
// fail("expected confirm link on commit: " + commit);
// }
}
latch.await(5000, TimeUnit.MILLISECONDS);
}
}
Aggregations