@Test public void testDelete_MultiId() { insert("e21", "age, name", "18, 'John'"); insert("e21", "age, name", "27, 'Brian'"); Response response = target("/multi-id") .queryParam("age", 18) .queryParam("name", "John") .request() .delete(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals("{\"success\":true}", response.readEntity(String.class)); Assert.assertEquals(1L, countRows(E21.class, E21.AGE.eq(27).andExp(E21.NAME.eq("Brian")))); }
@Test public void testStage() { DB.insert("e2", "id, name", "1, 'xxx'"); DB.insert("e2", "id, name", "2, 'yyy'"); DataResponse<E2> dr = createBuilder(E2.class) .stage(SelectStage.CREATE_ENTITY, c -> c.getEntity().setQualifier(E2.NAME.eq("yyy"))) .get(); assertEquals(1, dr.getObjects().size()); assertEquals("yyy", dr.getObjects().get(0).getName()); }
@Test public void testBuildQuery_Qualifier() { Expression extraQualifier = E1.NAME.eq("X"); ResourceEntity<E1> resourceEntity = getResourceEntity(E1.class); resourceEntity.andQualifier(extraQualifier); SelectContext<E1> c1 = new SelectContext<>(E1.class); c1.setEntity(resourceEntity); SelectQuery<E1> query = makeQueryStage.buildQuery(c1); assertEquals(extraQualifier, query.getQualifier()); SelectQuery<E1> query2 = new SelectQuery<E1>(E1.class); query2.setQualifier(E1.NAME.in("a", "b")); SelectContext<E1> c2 = new SelectContext<>(E1.class); c2.setSelect(query2); c2.setEntity(resourceEntity); SelectQuery<E1> query2Amended = makeQueryStage.buildQuery(c2); assertEquals(E1.NAME.in("a", "b").andExp(E1.NAME.eq("X")), query2Amended.getQualifier()); }