Fixing integration test to pass spurious lease update fix.

This commit is contained in:
Sahil Palvia 2017-06-30 11:17:21 -07:00
parent 96024bd7f9
commit 45fa933bc0
3 changed files with 27 additions and 18 deletions

View file

@ -110,7 +110,7 @@ public class LeaseManagerIntegrationTest extends LeaseIntegrationTest {
leaseManager.renewLease(lease);
Assert.assertFalse(leaseManager.renewLease(leaseCopy));
Assert.assertTrue(leaseManager.renewLease(leaseCopy));
}
/**

View file

@ -14,17 +14,16 @@
*/
package com.amazonaws.services.kinesis.leases.impl;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.Executors;
import com.amazonaws.services.kinesis.clientlibrary.types.ExtendedSequenceNumber;
import com.amazonaws.services.kinesis.leases.exceptions.LeasingException;
import com.amazonaws.services.kinesis.leases.interfaces.ILeaseRenewer;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.amazonaws.services.kinesis.clientlibrary.types.ExtendedSequenceNumber;
import com.amazonaws.services.kinesis.leases.exceptions.LeasingException;
import com.amazonaws.services.kinesis.leases.interfaces.ILeaseRenewer;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.Executors;
public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
@ -59,7 +58,7 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
KinesisClientLease renewedLease = builder.renewMutateAssert(renewer, "1", "2").get("2");
leaseManager.updateLease(renewedLease);
builder.renewMutateAssert(renewer, "1");
builder.renewMutateAssert(renewer, "1", "2");
}
@Test
@ -108,11 +107,12 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
leaseManager.updateLease(lease2); // lose lease 2
// Do another renewal and make sure the copy doesn't change
builder.renewMutateAssert(renewer, "1");
builder.renewMutateAssert(renewer, "1", "2");
heldLeases = renewer.getCurrentlyHeldLeases();
Assert.assertEquals(2, heldLeases.size());
Assert.assertEquals((Long) 1L, heldLeases.get("1").getLeaseCounter());
Assert.assertEquals((Long) 1L, heldLeases.get("2").getLeaseCounter());
Assert.assertEquals((Long) 2L, heldLeases.get("1").getLeaseCounter());
Assert.assertEquals((Long) 2L, heldLeases.get("2").getLeaseCounter());
}
@Test
@ -177,10 +177,10 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
// cause lease loss such that the renewer knows the lease has been lost when update is called
leaseManager.renewLease(lease);
builder.renewMutateAssert(renewer);
builder.renewMutateAssert(renewer, "1");
lease.setCheckpoint(new ExtendedSequenceNumber("new checkpoint"));
Assert.assertFalse(renewer.updateLease(lease, lease.getConcurrencyToken()));
Assert.assertTrue(renewer.updateLease(lease, lease.getConcurrencyToken()));
}
@Test
@ -196,7 +196,7 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
// cause lease loss such that the renewer knows the lease has been lost when update is called
leaseManager.renewLease(lease);
builder.renewMutateAssert(renewer);
builder.renewMutateAssert(renewer, "1");
// regain the lease
builder.addLeasesToRenew(renewer, "1");

View file

@ -35,6 +35,7 @@ public class TestHarnessBuilder {
private Map<String, KinesisClientLease> leases = new HashMap<String, KinesisClientLease>();
private KinesisClientLeaseManager leaseManager;
private Map<String, KinesisClientLease> originalLeases = new HashMap<>();
private Callable<Long> timeProvider = new Callable<Long>() {
@ -54,6 +55,15 @@ public class TestHarnessBuilder {
}
public TestHarnessBuilder withLease(String shardId, String owner) {
KinesisClientLease lease = createLease(shardId, owner);
KinesisClientLease originalLease = createLease(shardId, owner);
leases.put(shardId, lease);
originalLeases.put(shardId, originalLease);
return this;
}
private KinesisClientLease createLease(String shardId, String owner) {
KinesisClientLease lease = new KinesisClientLease();
lease.setCheckpoint(new ExtendedSequenceNumber("checkpoint"));
lease.setOwnerSwitchesSinceCheckpoint(0L);
@ -62,8 +72,7 @@ public class TestHarnessBuilder {
lease.setParentShardIds(Collections.singleton("parentShardId"));
lease.setLeaseKey(shardId);
leases.put(shardId, lease);
return this;
return lease;
}
public Map<String, KinesisClientLease> build() throws LeasingException {
@ -147,7 +156,7 @@ public class TestHarnessBuilder {
Assert.assertEquals(renewedShardIds.length, heldLeases.size());
for (String shardId : renewedShardIds) {
KinesisClientLease original = leases.get(shardId);
KinesisClientLease original = originalLeases.get(shardId);
Assert.assertNotNull(original);
KinesisClientLease actual = heldLeases.get(shardId);