diff options
Diffstat (limited to 'src/test/java/com/amazon/carbonado')
| -rw-r--r-- | src/test/java/com/amazon/carbonado/repo/replicated/TestStorables.java | 31 |
1 files changed, 31 insertions, 0 deletions
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<StoredSequence> storage = getRepository().storageFor(StoredSequence.class);
+
+ StoredSequence seq = storage.prepare();
+ seq.setName("foo");
+ seq.setInitialValue(0);
+ seq.setNextValue(1);
+ seq.insert();
+
+ Storage<StoredSequence> replica = ((ReplicatedRepository) getRepository())
+ .getReplicaRepository().storageFor(StoredSequence.class);
+
+ seq = replica.prepare();
+ seq.setName("foo");
+ assertFalse(seq.tryLoad());
+
+ Storage<StoredSequence> master = ((ReplicatedRepository) getRepository())
+ .getMasterRepository().storageFor(StoredSequence.class);
+
+ seq = master.prepare();
+ seq.setName("foo");
+ assertTrue(seq.tryLoad());
+ }
}
|
