From 8cfacc3e8374be4169e1b3684574c591b71746b4 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Thu, 7 Dec 2006 08:12:31 +0000 Subject: Added @Authoritative annotation. --- .../carbonado/repo/replicated/TestStorables.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/test') diff --git a/src/test/java/com/amazon/carbonado/repo/replicated/TestStorables.java b/src/test/java/com/amazon/carbonado/repo/replicated/TestStorables.java index ba5cf1f..affb89c 100644 --- a/src/test/java/com/amazon/carbonado/repo/replicated/TestStorables.java +++ b/src/test/java/com/amazon/carbonado/repo/replicated/TestStorables.java @@ -23,8 +23,13 @@ import junit.framework.TestSuite; import com.amazon.carbonado.Repository; import com.amazon.carbonado.RepositoryBuilder; import com.amazon.carbonado.RepositoryException; +import com.amazon.carbonado.Storage; import com.amazon.carbonado.TestUtilities; +import com.amazon.carbonado.repo.replicated.ReplicatedRepository; + +import com.amazon.carbonado.spi.StoredSequence; + /** * * @@ -55,4 +60,30 @@ public class TestStorables extends com.amazon.carbonado.TestStorables { builder.setMasterRepositoryBuilder(master); return builder.build(); } + + public void testAuthoritative() throws Exception { + // Make sure authoritative storable is not replicated. + + Storage storage = getRepository().storageFor(StoredSequence.class); + + StoredSequence seq = storage.prepare(); + seq.setName("foo"); + seq.setInitialValue(0); + seq.setNextValue(1); + seq.insert(); + + Storage replica = ((ReplicatedRepository) getRepository()) + .getReplicaRepository().storageFor(StoredSequence.class); + + seq = replica.prepare(); + seq.setName("foo"); + assertFalse(seq.tryLoad()); + + Storage master = ((ReplicatedRepository) getRepository()) + .getMasterRepository().storageFor(StoredSequence.class); + + seq = master.prepare(); + seq.setName("foo"); + assertTrue(seq.tryLoad()); + } } -- cgit v1.2.3