package org.opendaylight.controller.cluster.datastore;
import static org.junit.Assert.assertEquals;
-import java.util.concurrent.Semaphore;
import org.junit.Test;
-import org.opendaylight.controller.cluster.datastore.identifiers.TransactionIdentifier;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.controller.cluster.datastore.messages.BatchedModificationsReply;
import org.opendaylight.controller.cluster.datastore.messages.DataExistsReply;
* @author Thomas Pantelis
*/
public class OperationLimiterTest {
+ private final TransactionIdentifier transactionId = MockIdentifiers.transactionIdentifier(
+ OperationLimiterTest.class, "mock");
@Test
public void testOnComplete() throws Exception {
int permits = 10;
- OperationLimiter limiter = new OperationLimiter(new TransactionIdentifier("foo", 1), permits, 1);
- Semaphore semaphore = limiter.getSemaphore();
- semaphore.acquire(permits);
+ OperationLimiter limiter = new OperationLimiter(transactionId, permits, 1);
+ limiter.acquire(permits);
int availablePermits = 0;
- limiter.onComplete(null, DataExistsReply.create(true));
- assertEquals("availablePermits", ++availablePermits, semaphore.availablePermits());
+ limiter.onComplete(null, new DataExistsReply(true, DataStoreVersions.CURRENT_VERSION));
+ assertEquals("availablePermits", ++availablePermits, limiter.availablePermits());
- limiter.onComplete(null, DataExistsReply.create(true));
- assertEquals("availablePermits", ++availablePermits, semaphore.availablePermits());
+ limiter.onComplete(null, new DataExistsReply(true, DataStoreVersions.CURRENT_VERSION));
+ assertEquals("availablePermits", ++availablePermits, limiter.availablePermits());
limiter.onComplete(null, new IllegalArgumentException());
- assertEquals("availablePermits", ++availablePermits, semaphore.availablePermits());
+ assertEquals("availablePermits", ++availablePermits, limiter.availablePermits());
limiter.onComplete(null, new BatchedModificationsReply(4));
availablePermits += 4;
- assertEquals("availablePermits", availablePermits, semaphore.availablePermits());
+ assertEquals("availablePermits", availablePermits, limiter.availablePermits());
}
+
}