Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Commit

Permalink
[ch07] Embedded DB, HSQLDB Test.
Browse files Browse the repository at this point in the history
  • Loading branch information
dhsim86 authored and Dongho Sim committed Oct 28, 2017
1 parent 310dd7f commit 8972740
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 0 deletions.
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<apache.commons-logging-version>1.1.3</apache.commons-logging-version>
<cglib.version>3.1</cglib.version>
<junit.version>4.12</junit.version>
<hsqldb.version>2.3.5</hsqldb.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -94,6 +95,11 @@
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>${hsqldb.version}</version>
</dependency>

</dependencies>

Expand Down
2 changes: 2 additions & 0 deletions src/main/resources/sql/embedded/data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
INSERT INTO SQLMAP(KEY_, SQL_) VALUES('KEY1', 'SQL1');
INSERT INTO SQLMAP(KEY_, SQL_) VALUES('KEY2', 'SQL2');
4 changes: 4 additions & 0 deletions src/main/resources/sql/embedded/schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE TABLE SQLMAP (
KEY_ VARCHAR(100) PRIMARY KEY,
SQL_ VARCHAR(100) NOT NULL
);
54 changes: 54 additions & 0 deletions src/test/java/ch07/springbook/EmbeddedDbTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package ch07.springbook;

import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;

import java.util.List;
import java.util.Map;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;

public class EmbeddedDbTest {

private EmbeddedDatabase db;
private JdbcTemplate jdbcTemplate;

@Before
public void setUp() {
db = new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.addScript("classpath:sql/embedded/schema.sql")
.addScript("classpath:sql/embedded/data.sql")
.build();

jdbcTemplate = new JdbcTemplate(db);
}

@After
public void tearDown() {
db.shutdown();
}

@Test
public void initData() {
assertThat(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM SQLMAP", Integer.class), is(2));

List<Map<String, Object>> list = jdbcTemplate.queryForList("SELECT * FROM SQLMAP ORDER BY KEY_");
assertThat((String)list.get(0).get("KEY_"), is("KEY1"));
assertThat((String)list.get(0).get("SQL_"), is("SQL1"));
assertThat((String)list.get(1).get("KEY_"), is("KEY2"));
assertThat((String)list.get(1).get("SQL_"), is("SQL2"));
}

@Test
public void insert() {
jdbcTemplate.update("INSERT INTO SQLMAP(KEY_, SQL_) VALUES(?, ?)", "KEY3", "SQL3");
assertThat(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM SQLMAP", Integer.class), is(3));
}
}

0 comments on commit 8972740

Please sign in to comment.