@Test
  public void testSQLStatementsWithFileResource() {
    String sql1 = "select ORDERTYPE, STATUS from orders where ID=5;";
    String sql2 = "select NAME, HEIGHT\nfrom customers\nwhere ID=1;";
    reset(jdbcTemplate);

    Map<String, Object> resultMap1 = new HashMap<String, Object>();
    resultMap1.put("ORDERTYPE", "small");
    resultMap1.put("STATUS", "in_progress");

    expect(jdbcTemplate.queryForList(sql1)).andReturn(Collections.singletonList(resultMap1));

    Map<String, Object> resultMap2 = new HashMap<String, Object>();
    resultMap2.put("NAME", "Mickey Mouse");
    resultMap2.put("HEIGHT", "0,3");

    expect(jdbcTemplate.queryForList(sql2)).andReturn(Collections.singletonList(resultMap2));

    replay(jdbcTemplate);

    executeSQLQueryAction.setSqlResource(
        new ClassPathResource("test-sql-query-statements.sql", ExecuteSQLQueryActionTest.class));

    executeSQLQueryAction.execute(context);

    Assert.assertNotNull(context.getVariable("${ORDERTYPE}"));
    Assert.assertEquals(context.getVariable("${ORDERTYPE}"), "small");
    Assert.assertNotNull(context.getVariable("${STATUS}"));
    Assert.assertEquals(context.getVariable("${STATUS}"), "in_progress");
    Assert.assertNotNull(context.getVariable("${NAME}"));
    Assert.assertEquals(context.getVariable("${NAME}"), "Mickey Mouse");
    Assert.assertNotNull(context.getVariable("${HEIGHT}"));
    Assert.assertEquals(context.getVariable("${HEIGHT}"), "0,3");
  }
  @Test
  public void testSQLResource() {
    Resource sqlResource = new ClassPathResource("test-query.sql", ExecuteSQLQueryActionTest.class);

    String sql1 = "SELECT ORDERTYPE, STATUS FROM orders WHERE ID=5;";
    String sql2 = "SELECT NAME, HEIGHT FROM customers WHERE ID=1;";
    reset(jdbcTemplate);

    Map<String, Object> resultMap1 = new HashMap<String, Object>();
    resultMap1.put("ORDERTYPE", "small");
    resultMap1.put("STATUS", "in_progress");

    expect(jdbcTemplate.queryForList(sql1)).andReturn(Collections.singletonList(resultMap1));

    Map<String, Object> resultMap2 = new HashMap<String, Object>();
    resultMap2.put("NAME", "Mickey Mouse");
    resultMap2.put("HEIGHT", "0,3");

    expect(jdbcTemplate.queryForList(sql2)).andReturn(Collections.singletonList(resultMap2));

    replay(jdbcTemplate);

    executeSQLQueryAction.setSqlResource(sqlResource);

    executeSQLQueryAction.execute(context);

    Assert.assertNotNull(context.getVariable("${ORDERTYPE}"));
    Assert.assertEquals(context.getVariable("${ORDERTYPE}"), "small");
    Assert.assertNotNull(context.getVariable("${STATUS}"));
    Assert.assertEquals(context.getVariable("${STATUS}"), "in_progress");
    Assert.assertNotNull(context.getVariable("${NAME}"));
    Assert.assertEquals(context.getVariable("${NAME}"), "Mickey Mouse");
    Assert.assertNotNull(context.getVariable("${HEIGHT}"));
    Assert.assertEquals(context.getVariable("${HEIGHT}"), "0,3");
  }