Skip to content

Commit 8a4440d

Browse files
committed
Tests
1 parent 92c0fe6 commit 8a4440d

2 files changed

Lines changed: 22 additions & 5 deletions

File tree

core/src/main/java/me/zort/sqllib/SQLDatabaseConnectionImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,10 @@ private static class DefaultStatementFactory implements StatementFactory<Prepare
383383

384384
@Override
385385
public PreparedStatement prepare(Connection connection) throws SQLException {
386-
return connection.prepareStatement(query.getAncestor().buildQuery());
386+
String queryString = query.getAncestor().buildQuery();
387+
388+
Logger.debug(connection, "Query: " + queryString);
389+
return connection.prepareStatement(queryString);
387390
}
388391
}
389392

src/test/java/me/zort/sqllib/test/TestCase1.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void prepare() {
6464

6565
System.out.println("Connection established, preparing tables...");
6666

67-
assertNull(connection.exec(() -> "CREATE TABLE IF NOT EXISTS users (nickname VARCHAR(16) PRIMARY KEY NOT NULL, points INT NOT NULL);").getRejectMessage());
67+
assertNull(connection.exec(() -> "CREATE TABLE IF NOT EXISTS users (nickname VARCHAR(64) PRIMARY KEY NOT NULL, points INT NOT NULL);").getRejectMessage());
6868
assertNull(connection.exec(() -> "TRUNCATE TABLE users;").getRejectMessage());
6969

7070
System.out.println("Tables prepared, test cases ready");
@@ -97,7 +97,7 @@ public void test2_Select() {
9797

9898
assertNull(result.getRejectMessage());
9999
assertEquals(1, result.size());
100-
assertEquals(user1, result.get(0));
100+
assertEquals(user1.getNickname(), result.get(0).getNickname());
101101
System.out.println("Select successful");
102102
}
103103

@@ -123,7 +123,21 @@ public void test3_Update() {
123123

124124
@Timeout(10)
125125
@Test
126-
public void test4_Delete() {
126+
public void test4_Security() {
127+
Optional<Row> rowOptional = connection.select()
128+
.from(TABLE_NAME)
129+
.where()
130+
.isEqual("nickname", "asdfmnaskfopdmko' or '1' = '1").obtainOne();
131+
132+
assertFalse(rowOptional.isPresent());
133+
134+
// Check for table
135+
test2_Select();
136+
}
137+
138+
@Timeout(10)
139+
@Test
140+
public void test5_Delete() {
127141
QueryResult result = connection.delete()
128142
.from(TABLE_NAME)
129143
.where()
@@ -134,7 +148,7 @@ public void test4_Delete() {
134148

135149
@Timeout(5)
136150
@Test
137-
public void test5_Close() {
151+
public void test6_Close() {
138152
System.out.println("Closing connection...");
139153
connection.disconnect();
140154
System.out.println("Connection closed");

0 commit comments

Comments
 (0)