package app.spring.data.jpa.com.aol.micro.server; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import java.util.List; import java.util.concurrent.ExecutionException; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import com.aol.micro.server.MicroserverApp; import com.aol.micro.server.config.Config; import com.aol.micro.server.config.Microserver; import com.aol.micro.server.rest.client.nio.AsyncRestClient; import com.aol.micro.server.testing.RestAgent; @Microserver(properties={"db.connection.driver","org.hsqldb.jdbcDriver", "db.connection.url","jdbc:hsqldb:mem:aname", "db.connection.username", "sa", "db.connection.dialect","org.hibernate.dialect.HSQLDialect", "db.connection.ddl.auto","create-drop"}, entityScan="app.spring.data.jpa.com.aol.micro.server") @EnableJpaRepositories public class SpringDataTest { private final AsyncRestClient<List<SpringDataEntity>> listClient = new AsyncRestClient(1000,1000).withGenericResponse(List.class, SpringDataEntity.class); RestAgent rest = new RestAgent(); MicroserverApp server; @Before public void startServer(){ Config.reset(); server = new MicroserverApp(()->"hibernate-app"); server.start(); } @After public void stopServer(){ server.stop(); } @Test public void runAppAndBasicTest() throws InterruptedException, ExecutionException{ assertThat(rest.get("http://localhost:8080/hibernate-app/persistence/create"),is("ok")); //works standalone, interferes with other tests assertThat(listClient.get("http://localhost:8080/hibernate-app/persistence/get").get().get(0),is(SpringDataEntity.class)); } }