mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
75 lines
2.8 KiB
Java
75 lines
2.8 KiB
Java
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);
|
|
}
|
|
|
|
}
|