package io.ebean.plugin; import io.ebean.Ebean; import io.ebean.EbeanServer; import org.tests.model.basic.Customer; import org.junit.Test; import java.util.List; import static org.junit.Assert.*; public class SpiServerTest { @Test public void test() { EbeanServer defaultServer = Ebean.getDefaultServer(); SpiServer pluginApi = defaultServer.getPluginApi(); BeanType<Customer> beanType = pluginApi.getBeanType(Customer.class); assertEquals("o_customer", beanType.getBaseTable()); assertNotNull(pluginApi.getDatabasePlatform()); assertNull(beanType.getFindController()); assertNotNull(beanType.getPersistController()); assertNull(beanType.getPersistListener()); assertNull(beanType.getQueryAdapter()); assertTrue(beanType.isValidExpression("name")); assertTrue(beanType.isValidExpression("contacts.firstName")); assertTrue(beanType.isValidExpression("contacts.group.name")); assertFalse(beanType.isValidExpression("junk")); assertFalse(beanType.isValidExpression("Name")); assertFalse(beanType.isValidExpression("contacts.name")); Customer customer = new Customer(); customer.setId(42); assertEquals(42, beanType.getBeanId(customer)); List<? extends BeanType<?>> beanTypes = pluginApi.getBeanTypes("o_customer"); assertEquals(1, beanTypes.size()); assertSame(beanType, beanTypes.get(0)); List<? extends BeanType<?>> allTypes = pluginApi.getBeanTypes(); assertTrue(!allTypes.isEmpty()); } }