public long longForQuery(String querySql) { Number result = SQLSelect.scalarQuery(Number.class, querySql).selectOne(newContext()); return result != null ? result.longValue() : -1; }
public int intForQuery(String querySql) { Number result = SQLSelect.scalarQuery(Number.class, querySql).selectOne(newContext()); return result != null ? result.intValue() : -1; }
public String stringForQuery(String querySql) { return SQLSelect.scalarQuery(String.class, querySql).selectOne(newContext()); }
@Test public void testPost_WriteConstraints_Id_Allowed() { ObjectContext context = newContext(); Response r1 = target("/e8/w/constrainedid/578").request() .post(Entity.json("{\"name\":\"zzz\"}")); assertEquals(Status.CREATED.getStatusCode(), r1.getStatus()); assertEquals(Integer.valueOf(1), SQLSelect.scalarQuery(Integer.class, "SELECT count(1) FROM utest.e8").selectOne(context)); assertEquals("zzz", SQLSelect.scalarQuery(String.class, "SELECT name FROM utest.e8").selectOne(context)); assertEquals(578, intForQuery("SELECT id FROM utest.e8")); }
@Test public void testRelate_ToMany_New() { insert("e2", "id, name", "24, 'xxx'"); Response response = target("/e2/24/e3s") .request() .post(Entity.json("{\"name\":\"zzz\"}")); assertEquals(Status.OK.getStatusCode(), response.getStatus()); assertEquals("{\"data\":[{REPLACED_ID,\"name\":\"zzz\",\"phoneNumber\":null}],\"total\":1}", response.readEntity(String.class).replaceFirst("\"id\":[\\d]+", "REPLACED_ID")); assertEquals(1, intForQuery("SELECT count(1) FROM utest.e3")); DataRow row = SQLSelect.dataRowQuery("SELECT e2_id, name FROM utest.e3").lowerColumnNames() .selectOne(newContext()); assertEquals("zzz", row.get("name")); assertEquals(24, row.get("e2_id")); }
@Test public void testRelate_ToMany_New_CompoundId() { insert("e17", "id1, id2, name", "1, 1, 'aaa'"); Response response = target("/e17/e18s") .matrixParam("parentId1", 1) .matrixParam("parentId2", 1) .request() .post(Entity.json("{\"name\":\"xxx\"}")); assertEquals(Status.OK.getStatusCode(), response.getStatus()); assertEquals("{\"data\":[{REPLACED_ID,\"name\":\"xxx\"}],\"total\":1}", response.readEntity(String.class).replaceFirst("\"id\":[\\d]+", "REPLACED_ID")); assertEquals(1, intForQuery("SELECT count(1) FROM utest.e18")); DataRow row = SQLSelect.dataRowQuery("SELECT e17_id1, e17_id2, name FROM utest.e18").lowerColumnNames() .selectOne(newContext()); assertEquals("xxx", row.get("name")); assertEquals(1, row.get("e17_id1")); assertEquals(1, row.get("e17_id2")); }