]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestSQL.java
Merge "Suggestions to enhance the SQL call pattern."
[gigi.git] / tests / org / cacert / gigi / TestSQL.java
1 package org.cacert.gigi;
2
3 import static org.junit.Assert.*;
4
5 import org.cacert.gigi.database.DatabaseConnection;
6 import org.cacert.gigi.database.GigiPreparedStatement;
7 import org.cacert.gigi.testUtils.ConfiguredTest;
8 import org.junit.Test;
9
10 public class TestSQL extends ConfiguredTest {
11
12     @Test
13     public void testPrepared() {
14         GigiPreparedStatement[] ps = new GigiPreparedStatement[DatabaseConnection.MAX_CACHED_INSTANCES];
15         String stmt = "SELECT 1 FROM `users`;";
16         for (int i = 0; i < ps.length; i++) {
17             assertEquals(i, DatabaseConnection.getInstance().getNumberOfLockedStatements());
18             ps[i] = new GigiPreparedStatement(stmt);
19         }
20         assertEquals(DatabaseConnection.MAX_CACHED_INSTANCES, DatabaseConnection.getInstance().getNumberOfLockedStatements());
21         for (int i = ps.length - 1; i >= 0; i--) {
22             ps[i].close();
23             assertEquals(i, DatabaseConnection.getInstance().getNumberOfLockedStatements());
24         }
25         for (int i = 0; i < ps.length; i++) {
26             assertEquals(i, DatabaseConnection.getInstance().getNumberOfLockedStatements());
27             ps[i] = new GigiPreparedStatement(stmt);
28         }
29     }
30 }