summaryrefslogtreecommitdiff
path: root/src/test/java/com/amazon
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/amazon')
-rw-r--r--src/test/java/com/amazon/carbonado/TestStorables.java71
-rw-r--r--src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java10
2 files changed, 81 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java
index 7c5b2b0..a78f6dd 100644
--- a/src/test/java/com/amazon/carbonado/TestStorables.java
+++ b/src/test/java/com/amazon/carbonado/TestStorables.java
@@ -1867,6 +1867,34 @@ public class TestStorables extends TestCase {
assertTrue(storage.removeTrigger(it));
+
+ class LoadTrigger extends Trigger<StorableVersioned> {
+ boolean mCalled;
+
+ @Override
+ public void afterLoad(StorableVersioned s) {
+ assertEquals(1, s.getID());
+ mCalled = true;
+ }
+ };
+
+ LoadTrigger lt = new LoadTrigger();
+
+ assertTrue(storage.addTrigger(lt));
+
+ s.load();
+
+ assertTrue(lt.mCalled);
+
+ // Reset for query.
+ lt.mCalled = false;
+ storage.query("value = ?").with("value").fetch().toList();
+
+ assertTrue(lt.mCalled);
+
+ assertTrue(storage.removeTrigger(lt));
+
+
class UpdateTrigger extends Trigger<StorableVersioned> {
Object mState;
int mVersion;
@@ -1898,6 +1926,7 @@ public class TestStorables extends TestCase {
assertTrue(storage.removeTrigger(ut));
+
class DeleteTrigger extends Trigger<StorableVersioned> {
Object mState;
@@ -2081,6 +2110,38 @@ public class TestStorables extends TestCase {
assertTrue(st.getModifyDateTime().getMillis() >= dt.getMillis() + 450);
}
+ public void test_triggerLoadByAltKey() throws Exception {
+ Storage<StorableTestBasicCompoundIndexed> storage =
+ getRepository().storageFor(StorableTestBasicCompoundIndexed.class);
+
+ class LoadTrigger extends Trigger<StorableTestBasicCompoundIndexed> {
+ int mCallCount;
+ StorableTestBasicCompoundIndexed mStorable;
+
+ @Override
+ public void afterLoad(StorableTestBasicCompoundIndexed s) {
+ mCallCount++;
+ mStorable = s;
+ }
+ };
+
+ LoadTrigger lt = new LoadTrigger();
+
+ assertTrue(storage.addTrigger(lt));
+
+ StorableTestBasicCompoundIndexed s = storage.prepare();
+ s.initPropertiesRandomly(1234);
+ s.insert();
+
+ StorableTestBasicCompoundIndexed s2 = storage.prepare();
+ s2.setStringProp(s.getStringProp());
+ s2.setDoubleProp(s.getDoubleProp());
+ s2.load();
+
+ assertEquals(1, lt.mCallCount);
+ assertTrue(s2 == lt.mStorable);
+ }
+
public void test_hashCode() throws Exception {
Storage<StorableTestBasic> storage =
getRepository().storageFor(StorableTestBasic.class);
@@ -3109,6 +3170,16 @@ public class TestStorables extends TestCase {
public Trigger getDeleteTrigger() {
return null;
}
+
+ public Trigger getLoadTrigger() {
+ return null;
+ }
+
+ public void locallyDisableLoadTrigger() {
+ }
+
+ public void locallyEnableLoadTrigger() {
+ }
}
}
diff --git a/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java b/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java
index c378dca..34c33a5 100644
--- a/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java
+++ b/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java
@@ -236,6 +236,16 @@ public class ToyStorage<S extends Storable>
return null;
}
+ public Trigger<? super S> getLoadTrigger() {
+ return null;
+ }
+
+ public void locallyDisableLoadTrigger() {
+ }
+
+ public void locallyEnableLoadTrigger() {
+ }
+
public SequenceValueProducer getSequenceValueProducer(String name) throws PersistException {
try {
return mRepo.getSequenceValueProducer(name);