You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2018/12/14 18:13:18 UTC
[geode] branch feature/GEODE-6194 updated: added unit test coverage
for SqlStatementFactory
This is an automated email from the ASF dual-hosted git repository.
dschneider pushed a commit to branch feature/GEODE-6194
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/feature/GEODE-6194 by this push:
new 662e8b7 added unit test coverage for SqlStatementFactory
662e8b7 is described below
commit 662e8b75901c99d0d50b85478fce1b63eb3754d2
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Fri Dec 14 10:12:53 2018 -0800
added unit test coverage for SqlStatementFactory
---
.../jdbc/internal/SqlStatementFactoryTest.java | 80 +++++++++++++++++++---
1 file changed, 69 insertions(+), 11 deletions(-)
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java
index d854c45..0a13981 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java
@@ -17,7 +17,6 @@ package org.apache.geode.connectors.jdbc.internal;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import org.junit.Before;
@@ -27,26 +26,28 @@ import org.junit.Test;
public class SqlStatementFactoryTest {
private static final String TABLE_NAME = "testTable";
- private static final String KEY_COLUMN_NAME = "keyColumn";
+ private static final String KEY_COLUMN_1_NAME = "keyColumn1";
+ private static final String KEY_COLUMN_2_NAME = "keyColumn2";
private static final String VALUE_COLUMN_1_NAME = "valueColumn1";
private static final String VALUE_COLUMN_2_NAME = "valueColumn2";
+ private final List<ColumnData> keyColumnData = new ArrayList<>();
+ private final List<ColumnData> valueColumnData = new ArrayList<>();
private EntryColumnData entryColumnData;
private SqlStatementFactory factory = new SqlStatementFactory("");
@Before
public void setup() {
- List<ColumnData> columnData = new ArrayList<>();
- columnData.add(new ColumnData(VALUE_COLUMN_1_NAME, null, 0));
- columnData.add(new ColumnData(VALUE_COLUMN_2_NAME, null, 0));
- ColumnData keyColumnData = new ColumnData(KEY_COLUMN_NAME, null, 0);
- entryColumnData = new EntryColumnData(Arrays.asList(keyColumnData), columnData);
+ valueColumnData.add(new ColumnData(VALUE_COLUMN_1_NAME, null, 0));
+ valueColumnData.add(new ColumnData(VALUE_COLUMN_2_NAME, null, 0));
+ keyColumnData.add(new ColumnData(KEY_COLUMN_1_NAME, null, 0));
+ entryColumnData = new EntryColumnData(keyColumnData, valueColumnData);
}
@Test
public void getSelectQueryString() throws Exception {
String expectedStatement =
- String.format("SELECT * FROM %s WHERE %s = ?", TABLE_NAME, KEY_COLUMN_NAME);
+ String.format("SELECT * FROM %s WHERE %s = ?", TABLE_NAME, KEY_COLUMN_1_NAME);
String statement = factory.createSelectQueryString(TABLE_NAME, entryColumnData);
@@ -56,7 +57,7 @@ public class SqlStatementFactoryTest {
@Test
public void getDestroySqlString() throws Exception {
String expectedStatement =
- String.format("DELETE FROM %s WHERE %s = ?", TABLE_NAME, KEY_COLUMN_NAME);
+ String.format("DELETE FROM %s WHERE %s = ?", TABLE_NAME, KEY_COLUMN_1_NAME);
String statement = factory.createDestroySqlString(TABLE_NAME, entryColumnData);
@@ -66,7 +67,7 @@ public class SqlStatementFactoryTest {
@Test
public void getUpdateSqlString() throws Exception {
String expectedStatement = String.format("UPDATE %s SET %s = ?, %s = ? WHERE %s = ?",
- TABLE_NAME, VALUE_COLUMN_1_NAME, VALUE_COLUMN_2_NAME, KEY_COLUMN_NAME);
+ TABLE_NAME, VALUE_COLUMN_1_NAME, VALUE_COLUMN_2_NAME, KEY_COLUMN_1_NAME);
String statement = factory.createUpdateSqlString(TABLE_NAME, entryColumnData);
@@ -76,11 +77,68 @@ public class SqlStatementFactoryTest {
@Test
public void getInsertSqlString() throws Exception {
String expectedStatement = String.format("INSERT INTO %s (%s,%s,%s) VALUES (?,?,?)",
- TABLE_NAME, VALUE_COLUMN_1_NAME, VALUE_COLUMN_2_NAME, KEY_COLUMN_NAME);
+ TABLE_NAME, VALUE_COLUMN_1_NAME, VALUE_COLUMN_2_NAME, KEY_COLUMN_1_NAME);
String statement = factory.createInsertSqlString(TABLE_NAME, entryColumnData);
assertThat(statement).isEqualTo(expectedStatement);
}
+ @Test
+ public void getInsertSqlStringGivenNoColumns() throws Exception {
+ valueColumnData.clear();
+ keyColumnData.clear();
+
+ String statement = factory.createInsertSqlString(TABLE_NAME, entryColumnData);
+
+ String expectedStatement = String.format("INSERT INTO %s () VALUES ()", TABLE_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getInsertSqlStringGivenMultipleKeys() throws Exception {
+ keyColumnData.add(new ColumnData(KEY_COLUMN_2_NAME, null, 0));
+
+ String statement = factory.createInsertSqlString(TABLE_NAME, entryColumnData);
+
+ String expectedStatement = String.format("INSERT INTO %s (%s,%s,%s,%s) VALUES (?,?,?,?)",
+ TABLE_NAME, VALUE_COLUMN_1_NAME, VALUE_COLUMN_2_NAME, KEY_COLUMN_1_NAME, KEY_COLUMN_2_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getUpdateSqlStringGivenMultipleKeys() throws Exception {
+ keyColumnData.add(new ColumnData(KEY_COLUMN_2_NAME, null, 0));
+
+ String statement = factory.createUpdateSqlString(TABLE_NAME, entryColumnData);
+
+ String expectedStatement = String.format("UPDATE %s SET %s = ?, %s = ? WHERE %s = ? AND %s = ?",
+ TABLE_NAME, VALUE_COLUMN_1_NAME, VALUE_COLUMN_2_NAME, KEY_COLUMN_1_NAME, KEY_COLUMN_2_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getSelectQueryStringGivenMultipleKeys() throws Exception {
+ keyColumnData.add(new ColumnData(KEY_COLUMN_2_NAME, null, 0));
+
+ String statement = factory.createSelectQueryString(TABLE_NAME, entryColumnData);
+
+ String expectedStatement =
+ String.format("SELECT * FROM %s WHERE %s = ? AND %s = ?", TABLE_NAME, KEY_COLUMN_1_NAME,
+ KEY_COLUMN_2_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getDestroySqlStringGivenMultipleKeys() throws Exception {
+ keyColumnData.add(new ColumnData(KEY_COLUMN_2_NAME, null, 0));
+
+ String statement = factory.createDestroySqlString(TABLE_NAME, entryColumnData);
+
+ String expectedStatement =
+ String.format("DELETE FROM %s WHERE %s = ? AND %s = ?", TABLE_NAME, KEY_COLUMN_1_NAME,
+ KEY_COLUMN_2_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
}