@Test public void test_2_exec() throws SQLException { // Prepare data TableInfo tableInfo = TableInfo.Single("grade"); Container constraintContainer = Container.And(); constraintContainer.add(Parameter.Constraint("grade", CompareType.LIKE, "A")); // Perform action MySQLDeleteHandler deleteHandler = new MySQLDeleteHandler(cushyDBConnection); deleteHandler.Delete().From(tableInfo).Where(constraintContainer).execute(); // Check using JDBC PreparedStatement preparedStatement = databaseConnection.prepareStatement("SELECT COUNT(*) FROM GRADE WHERE GRADE LIKE ?"); preparedStatement.setString(1, "A"); ResultSet resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { int count = resultSet.getInt(1); assertEquals(count, 0); } else { throw new AssertionError(); } }
@Test public void test_4_exec() throws SQLException { // Prepare data TableInfo tableInfo = TableInfo.Multi(); tableInfo.add("course", "c"); tableInfo.add("grade", "g"); Container constraintContainer = Container.And(); constraintContainer.add(Parameter.Constraint("c", "name", CompareType.LIKE, "course_1")); constraintContainer.add(Join.Equals("c", "id", "g", "course_id")); // Perform action MySQLDeleteHandler deleteHandler = new MySQLDeleteHandler(cushyDBConnection); deleteHandler.Delete("g").From(tableInfo).Where(constraintContainer).execute(); // Check using JDBC PreparedStatement preparedStatement = databaseConnection.prepareStatement( "SELECT COUNT(*) FROM GRADE G, COURSE C WHERE C.NAME LIKE ? AND G.COURSE_ID = C.ID"); preparedStatement.setString(1, "course_1"); ResultSet resultSet = preparedStatement.executeQuery(); if (resultSet.next()) { int count = resultSet.getInt(1); assertEquals(count, 0); } else { throw new AssertionError(); } }
@Test public void test_1_sql() { // Prepare data TableInfo tableInfo = TableInfo.Single("table1"); Container constraintContainer = Container.And(); constraintContainer .add(Parameter.Constraint("param1", CompareType.EQ, 11)) .add(Parameter.Constraint("param2", CompareType.LIKE, "12")) .add(Parameter.Constraint("param3", CompareType.NEQ, 13)); // Perform action MySQLDeleteHandler deleteHandler = new MySQLDeleteHandler(cushyDBConnection); String sql = deleteHandler.Delete().From(tableInfo).Where(constraintContainer).sql(); // Check assertEquals( sql, "DELETE a FROM table1 a WHERE (a.param1 = ? AND a.param2 LIKE ? AND a.param3 <> ?)"); }
@Test(expected = CushyDBException.class) // Exception due to foreign key constraint public void test_3_exec() throws SQLException { // Prepare data TableInfo tableInfo = TableInfo.Single("course"); Container constraintContainer = Container.And(); constraintContainer.add(Parameter.Constraint("name", CompareType.LIKE, "course_1")); // Perform action MySQLDeleteHandler deleteHandler = new MySQLDeleteHandler(cushyDBConnection); deleteHandler.Delete().From(tableInfo).Where(constraintContainer).execute(); }