@Test public void testFindAll() throws Exception { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); try { entityManager.persist(new TestEntity(null, "Piet", "de Klos", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Sjaak", "Gaar", newArrayList("darting", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Klaas", "Vaak", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Sjors", "Pineut", newArrayList("cool stuff", "darting"), new HashMap<>())); List<TestEntity> testEntities = entityManager.findEntities(TestEntity.class, QueryBuilder.createBuilder()); assertThat(testEntities.size(), is(4)); List<String> names = testEntities.stream().map(TestEntity::getFirstName).collect(Collectors.toList()); assertThat(names, hasItems("Piet", "Sjaak", "Klaas", "Sjors")); } finally { session.closeSession(); JasDBMain.shutdown(); } }
@Test public void testLimit() throws Exception { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); try { entityManager.persist(new TestEntity(null, "Piet", "de Klos", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Sjaak", "Gaar", newArrayList("darting", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Klaas", "Vaak", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Sjors", "Pineut", newArrayList("cool stuff", "darting"), new HashMap<>())); List<TestEntity> testEntities = entityManager.findEntities(TestEntity.class, QueryBuilder.createBuilder(), 2); assertThat(testEntities.size(), is(2)); List<String> names = testEntities.stream().map(TestEntity::getFirstName).collect(Collectors.toList()); assertThat(names, hasItems("Piet", "Sjaak")); } finally { session.closeSession(); JasDBMain.shutdown(); } }
@Test public void testPaging() throws Exception { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); try { entityManager.persist(new TestEntity(null, "Piet", "de Klos", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Sjaak", "Gaar", newArrayList("darting", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Klaas", "Vaak", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())); entityManager.persist(new TestEntity(null, "Sjors", "Pineut", newArrayList("cool stuff", "darting"), new HashMap<>())); List<TestEntity> testEntities = entityManager.findEntities(TestEntity.class, QueryBuilder.createBuilder(), 0, 2); assertThat(testEntities.size(), is(2)); List<String> names = testEntities.stream().map(TestEntity::getFirstName).collect(Collectors.toList()); assertThat(names, hasItems("Piet", "Sjaak")); testEntities = entityManager.findEntities(TestEntity.class, QueryBuilder.createBuilder(), 2, 2); assertThat(testEntities.size(), is(2)); names = testEntities.stream().map(TestEntity::getFirstName).collect(Collectors.toList()); assertThat(names, hasItems("Klaas", "Sjors")); } finally { session.closeSession(); JasDBMain.shutdown(); } }
@Test public void testEmptyCollections() throws Exception { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); try { String id = entityManager.persist(new TestEntity(null, "Piet", "de Klos", newArrayList(), new HashMap<>())).getInternalId(); TestEntity entity = entityManager.findEntity(TestEntity.class, id); assertThat(entity, notNullValue()); assertThat(entity.getFirstName(), is("Piet")); assertThat(entity.getLastName(), is("de Klos")); assertThat(entity.getHobbies().size(), is(0)); assertThat(entity.getProperties().size(), is(0)); } finally { session.closeSession(); JasDBMain.shutdown(); } }
@Test public void testEntityManagerUpdate() throws JasDBException { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); String id = UUID.randomUUID().toString(); TestEntity entity = new TestEntity(id, "Renze", "de Vries", newArrayList("programming", "model building", "biking"), new ImmutableMap.Builder<String, String>() .put("city", "Amsterdam") .put("street", "Secret passageway 10") .put("zipcode", "0000TT").build()); assertThat(entityManager.persist(entity).getInternalId(), is(id)); EntityBag testBag = session.createOrGetBag("TEST_BAG"); assertThat(testBag.getSize(), is(1l)); Entity mappedEntity = testBag.getEntity(id); assertThat(mappedEntity.getValue("firstName"), is("Renze")); assertThat(mappedEntity.getValue("lastName"), is("de Vries")); entity.setFirstName("Updated"); entityManager.persist(entity); mappedEntity = testBag.getEntity(id); assertThat(mappedEntity.getValue("firstName"), is("Updated")); assertThat(mappedEntity.getValue("lastName"), is("de Vries")); }
@Test public void testCollectionValues() throws Exception { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); try { TestEntity entity = new TestEntity(null, "Renze", "de Vries", newArrayList("programming", "model building", "biking"), new ImmutableMap.Builder<String, String>() .put("city", "Amsterdam") .put("street", "Secret passageway 10") .put("zipcode", "0000TT").build()); String id = entityManager.persist(entity).getInternalId(); TestEntity foundEntity = entityManager.findEntity(TestEntity.class, id); assertThat(foundEntity, notNullValue()); assertThat(foundEntity.getId(), is(id)); assertThat(foundEntity.getFirstName(), is("Renze")); assertThat(foundEntity.getLastName(), is("de Vries")); assertThat(foundEntity.getHobbies().size(), is(3)); assertThat(foundEntity.getHobbies(), hasItems("programming", "model building", "biking")); assertThat(foundEntity.getProperties().size(), is(3)); assertThat(foundEntity.getProperties().get("city"), is("Amsterdam")); assertThat(foundEntity.getProperties().get("street"), is("Secret passageway 10")); assertThat(foundEntity.getProperties().get("zipcode"), is("0000TT")); } finally { session.closeSession(); JasDBMain.shutdown(); } }
@Test public void testFindByName() throws Exception { DBSession session = sessionFactory.createSession(); EntityManager entityManager = session.getEntityManager(); try { String id1 = entityManager.persist(new TestEntity(null, "Piet", "de Klos", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())).getInternalId(); String id2 = entityManager.persist(new TestEntity(null, "Sjaak", "Gaar", newArrayList("darting", "programming for dummies"), new HashMap<>())).getInternalId(); String id3 = entityManager.persist(new TestEntity(null, "Klaas", "Vaak", newArrayList("cool stuff", "programming for dummies"), new HashMap<>())).getInternalId(); String id4 = entityManager.persist(new TestEntity(null, "Sjors", "Pineut", newArrayList("cool stuff", "darting"), new HashMap<>())).getInternalId(); QueryBuilder builder1 = QueryBuilder.createBuilder().field("firstName").value("Piet"); QueryBuilder builder2 = QueryBuilder.createBuilder().field("firstName").value("Sjaak"); QueryBuilder builder3 = QueryBuilder.createBuilder().field("lastName").value("Vaak"); QueryBuilder builder4 = QueryBuilder.createBuilder().field("lastName").value("Pineut"); assertHasExactlyOneId(entityManager, builder1, id1); assertHasExactlyOneId(entityManager, builder2, id2); assertHasExactlyOneId(entityManager, builder3, id3); assertHasExactlyOneId(entityManager, builder4, id4); } finally { session.closeSession(); JasDBMain.shutdown(); } }