• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.xtremelabs.robolectric.util;
2 
3 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 
8 import java.sql.ResultSet;
9 import java.sql.SQLException;
10 
11 import static org.hamcrest.CoreMatchers.equalTo;
12 import static org.junit.Assert.assertThat;
13 
14 @RunWith(WithTestDefaultsRunner.class)
15 public class H2MapTest {
16 
17     H2Map map;
18 
19     @Before
setUp()20     public void setUp() throws Exception {
21         map = new H2Map();
22     }
23 
24     @Test
testDriverClassName()25     public void testDriverClassName() {
26         assertThat(map.getDriverClassName(), equalTo("org.h2.Driver"));
27     }
28 
29     @Test
testConnectionString()30     public void testConnectionString() {
31         assertThat(map.getConnectionString(), equalTo("jdbc:h2:mem:"));
32     }
33 
34     @Test
testScrubSQLReplacesAutoIncrement()35     public void testScrubSQLReplacesAutoIncrement() throws SQLException {
36         assertThat(map.getScrubSQL("autoincrement"), equalTo("auto_increment"));
37     }
38 
39     @Test
testScrubSQLReplacesIntegerWithBigInt()40     public void testScrubSQLReplacesIntegerWithBigInt() throws SQLException {
41         assertThat(map.getScrubSQL("integer"), equalTo("bigint(19)"));
42     }
43 
44     @Test
testScrubSQLAcceptsIntegerPrimaryKey()45     public void testScrubSQLAcceptsIntegerPrimaryKey() throws SQLException {
46         map.getScrubSQL("INTEGER PRIMARY KEY AUTOINCREMENT");
47     }
48 
49     @Test(expected = SQLException.class)
testScrubSQLRejectsIntPrimaryKeyThrowsException()50     public void testScrubSQLRejectsIntPrimaryKeyThrowsException() throws SQLException {
51         map.getScrubSQL("INT PRIMARY KEY AUTOINCREMENT");
52     }
53 
54     @Test(expected = SQLException.class)
testScrubSQLRejectsCharPrimaryKeyThrowsException2()55     public void testScrubSQLRejectsCharPrimaryKeyThrowsException2() throws SQLException {
56         map.getScrubSQL("CHAR PRIMARY KEY AUTOINCREMENT");
57     }
58 
59     @Test
testGetSelectLastInsertIdentity()60     public void testGetSelectLastInsertIdentity() throws SQLException {
61         assertThat(map.getSelectLastInsertIdentity(), equalTo("SELECT IDENTITY();"));
62     }
63 
64     @Test
testGetH2ResultSetIs_TYPE_SCROLL_INSENSITIVE()65     public void testGetH2ResultSetIs_TYPE_SCROLL_INSENSITIVE() throws SQLException {
66         assertThat(map.getResultSetType(), equalTo(ResultSet.TYPE_SCROLL_INSENSITIVE));
67     }
68 
69     @Test
scrubSQL_shouldRemoveConflictAlgorithms()70     public void scrubSQL_shouldRemoveConflictAlgorithms() throws Exception {
71         assertThat(map.getScrubSQL("INSERT INTO "), equalTo("INSERT INTO "));
72         assertThat(map.getScrubSQL("INSERT OR ROLLBACK INTO "), equalTo("INSERT INTO "));
73         assertThat(map.getScrubSQL("INSERT OR ABORT INTO "), equalTo("INSERT INTO "));
74         assertThat(map.getScrubSQL("INSERT OR FAIL INTO "), equalTo("INSERT INTO "));
75         assertThat(map.getScrubSQL("INSERT OR IGNORE INTO "), equalTo("INSERT INTO "));
76         assertThat(map.getScrubSQL("INSERT OR REPLACE INTO "), equalTo("INSERT INTO "));
77     }
78 }
79