mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
@@ -1,5 +1,6 @@
|
||||
package com.avaje.tests.lifecycle;
|
||||
|
||||
import org.hamcrest.Matchers;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -10,25 +11,95 @@ import com.avaje.tests.model.basic.EBasicWithLifecycle;
|
||||
public class TestLifecyleAnnotatedBean extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
public void shouldExecutePrePersistMethodsWhenSavingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("hello there");
|
||||
|
||||
bean.setName("PrePersist");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
Assert.assertEquals("prePersist,postPersist,", bean.getBuffer());
|
||||
|
||||
EBasicWithLifecycle beanWasLoaded = Ebean.find(EBasicWithLifecycle.class, bean.getId());
|
||||
Assert.assertEquals("postLoad", beanWasLoaded.getBuffer().toString());
|
||||
|
||||
bean.setName("Changed");
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("prePersist1"));
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("prePersist2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecutePostPersistMethodsWhenSavingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("PostPersist");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("postPersist1"));
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("postPersist2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecutePostLoadMethodsWhenFindingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("PostLoad");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
|
||||
EBasicWithLifecycle loaded = Ebean.find(EBasicWithLifecycle.class, bean.getId());
|
||||
Assert.assertThat(loaded.getBuffer(), Matchers.containsString("postLoad1"));
|
||||
Assert.assertThat(loaded.getBuffer(), Matchers.containsString("postLoad2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecutePreUpdateMethodsWhenUpdatingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("Persisted");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
|
||||
bean.setName("PreUpdate");
|
||||
Ebean.save(bean);
|
||||
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("preUpdate1"));
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("preUpdate2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecutePostUpdateMethodsWhenUpdatingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("Persisted");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
|
||||
bean.setName("PostUpdate");
|
||||
Ebean.save(bean);
|
||||
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("postUpdate1"));
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("postUpdate2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecutePreRemoveMethodsWhenRemovingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("Persisted");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
Ebean.delete(bean);
|
||||
|
||||
Assert.assertEquals("prePersist,postPersist,preUpdate,postUpdate,preRemove,postRemove", bean.getBuffer());
|
||||
|
||||
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("preRemove1"));
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("preRemove2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldExecutePostRemoveMethodsWhenRemovingBean() {
|
||||
EBasicWithLifecycle bean = new EBasicWithLifecycle();
|
||||
bean.setName("Persisted");
|
||||
|
||||
Ebean.getServerCacheManager();
|
||||
Ebean.save(bean);
|
||||
Ebean.delete(bean);
|
||||
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("postRemove1"));
|
||||
Assert.assertThat(bean.getBuffer(), Matchers.containsString("postRemove2"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,38 +27,73 @@ public class EBasicWithLifecycle {
|
||||
transient StringBuilder buffer = new StringBuilder();
|
||||
|
||||
@PrePersist
|
||||
public void prePersist() {
|
||||
buffer.append("prePersist,");
|
||||
public void prePersist1() {
|
||||
buffer.append("prePersist1");
|
||||
}
|
||||
|
||||
@PrePersist
|
||||
public void prePersist2() {
|
||||
buffer.append("prePersist2");
|
||||
}
|
||||
|
||||
@PostPersist
|
||||
public void postPersist() {
|
||||
buffer.append("postPersist,");
|
||||
public void postPersist1() {
|
||||
buffer.append("postPersist1");
|
||||
}
|
||||
|
||||
@PostPersist
|
||||
public void postPersist2() {
|
||||
buffer.append("postPersist2");
|
||||
}
|
||||
|
||||
@PreUpdate
|
||||
public void preUpdate() {
|
||||
buffer.append("preUpdate,");
|
||||
public void preUpdate1() {
|
||||
buffer.append("preUpdate1");
|
||||
}
|
||||
|
||||
@PreUpdate
|
||||
public void preUpdate2() {
|
||||
buffer.append("preUpdate2");
|
||||
}
|
||||
|
||||
@PostUpdate
|
||||
public void postUpdate() {
|
||||
buffer.append("postUpdate,");
|
||||
public void postUpdate1() {
|
||||
buffer.append("postUpdate1");
|
||||
}
|
||||
|
||||
@PostUpdate
|
||||
public void postUpdate2() {
|
||||
buffer.append("postUpdate2");
|
||||
}
|
||||
|
||||
@PreRemove
|
||||
public void preRemove1() {
|
||||
buffer.append("preRemove1");
|
||||
}
|
||||
|
||||
@PreRemove
|
||||
public void preRemove() {
|
||||
buffer.append("preRemove,");
|
||||
public void preRemove2() {
|
||||
buffer.append("preRemove2");
|
||||
}
|
||||
|
||||
@PostRemove
|
||||
public void postRemove() {
|
||||
buffer.append("postRemove");
|
||||
public void postRemove1() {
|
||||
buffer.append("postRemove1");
|
||||
}
|
||||
|
||||
@PostRemove
|
||||
public void postRemove2() {
|
||||
buffer.append("postRemove2");
|
||||
}
|
||||
|
||||
@PostLoad
|
||||
public void postLoad() {
|
||||
buffer.append("postLoad");
|
||||
public void postLoad1() {
|
||||
buffer.append("postLoad1");
|
||||
}
|
||||
|
||||
@PostLoad
|
||||
public void postLoad2() {
|
||||
buffer.append("postLoad2");
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
|
||||
Reference in New Issue
Block a user