mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Refactor tests, move changelog tests
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
package io.ebeaninternal.server.changelog;
|
||||
|
||||
import io.ebean.xtest.BaseTestCase;
|
||||
import io.ebean.event.changelog.BeanChange;
|
||||
import io.ebean.event.changelog.ChangeSet;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
||||
public class ChangeJsonBuilderTest extends BaseTestCase {
|
||||
|
||||
Helper helper = new Helper();
|
||||
|
||||
@Test
|
||||
public void testToJson() throws Exception {
|
||||
|
||||
ChangeJsonBuilder builder = new ChangeJsonBuilder();
|
||||
|
||||
ChangeSet changeSet = helper.createChangeSet("ABCD", 10);
|
||||
changeSet.getUserContext().put("altUser", "role user");
|
||||
|
||||
List<BeanChange> changes = changeSet.getChanges();
|
||||
for (int i = 0; i < changes.size(); i++) {
|
||||
StringWriter buffer = new StringWriter();
|
||||
builder.writeBeanJson(buffer, changes.get(i), changeSet);
|
||||
|
||||
assertThat(buffer.toString()).contains("\"source\"");
|
||||
assertThat(buffer.toString()).contains("\"userId\"");
|
||||
assertThat(buffer.toString()).contains("\"userIpAddress\"");
|
||||
assertThat(buffer.toString()).contains("\"userContext\"");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package io.ebeaninternal.server.changelog;
|
||||
|
||||
import io.ebean.xtest.BaseTestCase;
|
||||
import io.ebean.DB;
|
||||
import io.ebean.Database;
|
||||
import io.ebean.event.changelog.ChangeSet;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class DefaultChangeLogListenerTest extends BaseTestCase {
|
||||
|
||||
Helper helper = new Helper();
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
DefaultChangeLogListener changeLogListener = new DefaultChangeLogListener();
|
||||
|
||||
Database defaultServer = DB.getDefault();
|
||||
changeLogListener.configure(defaultServer.pluginApi());
|
||||
|
||||
ChangeSet changeSet = helper.createChangeSet("INT-001", 13);
|
||||
|
||||
changeLogListener.log(changeSet);
|
||||
}
|
||||
|
||||
}
|
||||
-74
@@ -1,74 +0,0 @@
|
||||
package io.ebeaninternal.server.changelog;
|
||||
|
||||
import io.ebean.xtest.BaseTestCase;
|
||||
import io.ebean.event.changelog.ChangeLogFilter;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.tests.inheritance.model.ProductConfiguration;
|
||||
import org.tests.model.basic.Address;
|
||||
import org.tests.model.basic.Contact;
|
||||
import org.tests.model.basic.Country;
|
||||
import org.tests.model.basic.Customer;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class DefaultChangeLogRegisterTest extends BaseTestCase {
|
||||
|
||||
|
||||
@Test
|
||||
public void test_defaultInsertTrue() {
|
||||
|
||||
DefaultChangeLogRegister register = new DefaultChangeLogRegister(true);
|
||||
|
||||
assertNull(register.getChangeFilter(Address.class));
|
||||
|
||||
ChangeLogFilter changeFilter = register.getChangeFilter(Customer.class);
|
||||
DefaultChangeLogRegister.UpdateFilter updateFilter = (DefaultChangeLogRegister.UpdateFilter) changeFilter;
|
||||
assertFalse(updateFilter.includeInserts);
|
||||
assertThat(updateFilter.updateProperties).containsExactly("name", "status");
|
||||
|
||||
changeFilter = register.getChangeFilter(Country.class);
|
||||
DefaultChangeLogRegister.BasicFilter countryFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter;
|
||||
assertTrue(countryFilter.includeInserts);
|
||||
|
||||
// use default setting
|
||||
changeFilter = register.getChangeFilter(Contact.class);
|
||||
DefaultChangeLogRegister.BasicFilter contactFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter;
|
||||
assertTrue(contactFilter.includeInserts);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_defaultInsertFalse() {
|
||||
|
||||
DefaultChangeLogRegister register = new DefaultChangeLogRegister(false);
|
||||
|
||||
assertNull(register.getChangeFilter(Address.class));
|
||||
|
||||
ChangeLogFilter changeFilter = register.getChangeFilter(Customer.class);
|
||||
DefaultChangeLogRegister.UpdateFilter updateFilter = (DefaultChangeLogRegister.UpdateFilter) changeFilter;
|
||||
assertFalse(updateFilter.includeInserts);
|
||||
assertThat(updateFilter.updateProperties).containsExactly("name", "status");
|
||||
|
||||
changeFilter = register.getChangeFilter(Country.class);
|
||||
DefaultChangeLogRegister.BasicFilter countryFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter;
|
||||
assertTrue(countryFilter.includeInserts);
|
||||
|
||||
// use default setting
|
||||
changeFilter = register.getChangeFilter(Contact.class);
|
||||
DefaultChangeLogRegister.BasicFilter contactFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter;
|
||||
assertFalse(contactFilter.includeInserts);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_inheritance() {
|
||||
|
||||
DefaultChangeLogRegister register = new DefaultChangeLogRegister(true);
|
||||
ChangeLogFilter changeFilter = register.getChangeFilter(ProductConfiguration.class);
|
||||
assertNotNull(changeFilter);
|
||||
DefaultChangeLogRegister.BasicFilter basicFilter = (DefaultChangeLogRegister.BasicFilter) changeFilter;
|
||||
assertTrue(basicFilter.includeInserts);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
package io.ebeaninternal.server.changelog;
|
||||
|
||||
import io.ebean.event.changelog.BeanChange;
|
||||
import io.ebean.event.changelog.ChangeSet;
|
||||
import io.ebean.event.changelog.ChangeType;
|
||||
import io.ebean.event.changelog.TxnState;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Helper {
|
||||
|
||||
public ChangeSet createChangeSet(String txnId, long startId) {
|
||||
|
||||
ChangeSet cs = new ChangeSet();
|
||||
cs.setTxnId(txnId);
|
||||
cs.setTxnState(TxnState.COMMITTED);
|
||||
cs.setTxnBatch(0);
|
||||
cs.setSource("myApp");
|
||||
cs.setUserId("user234");
|
||||
cs.setUserIpAddress("123.4.5.6");
|
||||
cs.getUserContext().put("someKey", "user defined input");
|
||||
|
||||
List<BeanChange> changes = cs.getChanges();
|
||||
|
||||
changes.add(createInsert(startId));
|
||||
changes.add(createUpdate(startId));
|
||||
changes.add(createDelete(startId));
|
||||
|
||||
return cs;
|
||||
}
|
||||
|
||||
private BeanChange createInsert(long startId) {
|
||||
|
||||
Map<String, Object> values = new LinkedHashMap<>();
|
||||
values.put("name", "rob");
|
||||
values.put("modified", new Timestamp(System.currentTimeMillis()));
|
||||
|
||||
Map<String, Object> oldValues = new LinkedHashMap<>();
|
||||
oldValues.put("name", "rob");
|
||||
oldValues.put("modified", new Timestamp(System.currentTimeMillis() - 100000));
|
||||
|
||||
return new BeanChange("mytable", null, startId + 1, ChangeType.INSERT, "");//values, oldValues);
|
||||
}
|
||||
|
||||
private BeanChange createUpdate(long startId) {
|
||||
Map<String, Object> values = new LinkedHashMap<>();
|
||||
values.put("name", "jim");
|
||||
values.put("nowHasVal", "wasNull");
|
||||
values.put("nowNull", null);
|
||||
values.put("modified", new Timestamp(System.currentTimeMillis()));
|
||||
|
||||
|
||||
Map<String, Object> oldValues = new LinkedHashMap<>();
|
||||
oldValues.put("name", "steve");
|
||||
oldValues.put("nowHasVal", null);
|
||||
oldValues.put("nowNull", "hadVal");
|
||||
oldValues.put("modified", new Timestamp(System.currentTimeMillis() - 100000));
|
||||
|
||||
|
||||
return new BeanChange("mytable", null, startId + 2, ChangeType.UPDATE, "");//values, oldValues);
|
||||
}
|
||||
|
||||
private BeanChange createDelete(long startId) {
|
||||
return new BeanChange("mytable", null, startId + 3, ChangeType.DELETE, null);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user