From: Miguel A. B. L. <ari...@us...> - 2007-02-02 19:58:02
|
Update of /cvsroot/arianne/marauroa/src/marauroa/server/game/db/nio In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv26608/src/marauroa/server/game/db/nio Modified Files: NIOJDBCDatabase.java TestPlayerAccess.java Added Files: TestCharacterAccess.java Log Message: Improved new database. Added test cases. Character test cases passed ;) Index: NIOJDBCDatabase.java =================================================================== RCS file: /cvsroot/arianne/marauroa/src/marauroa/server/game/db/nio/NIOJDBCDatabase.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** NIOJDBCDatabase.java 2 Feb 2007 19:48:40 -0000 1.6 --- NIOJDBCDatabase.java 2 Feb 2007 19:57:21 -0000 1.7 *************** *** 821,825 **** if (objectid == null) { Statement stmt = connection.createStatement(); ! query = "select LAST_INSERT_ID() as inserted_id from avatars"; logger.debug("storeRPObject is executing query " + query); ResultSet result = stmt.executeQuery(query); --- 821,825 ---- if (objectid == null) { Statement stmt = connection.createStatement(); ! query = "select LAST_INSERT_ID() as inserted_id from rpobject"; logger.debug("storeRPObject is executing query " + query); ResultSet result = stmt.executeQuery(query); Index: TestPlayerAccess.java =================================================================== RCS file: /cvsroot/arianne/marauroa/src/marauroa/server/game/db/nio/TestPlayerAccess.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TestPlayerAccess.java 2 Feb 2007 19:48:40 -0000 1.2 --- TestPlayerAccess.java 2 Feb 2007 19:57:21 -0000 1.3 *************** *** 17,21 **** import marauroa.server.game.db.JDBCTransaction; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; --- 17,20 ---- *************** *** 39,43 **** */ @BeforeClass ! public static void setUpBeforeClass() throws Exception { Log4J.init("marauroa/server/log4j.properties"); --- 38,42 ---- */ @BeforeClass ! public static void createDatabase() throws Exception { Log4J.init("marauroa/server/log4j.properties"); *************** *** 52,63 **** } - /** - * @throws java.lang.Exception - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - database=null; - } - @Test public void addPlayer() throws SQLException { --- 51,54 ---- --- NEW FILE: TestCharacterAccess.java --- /** * */ package marauroa.server.game.db.nio; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.io.IOException; import java.sql.SQLException; import java.util.Properties; import marauroa.common.Log4J; import marauroa.common.crypto.Hash; import marauroa.common.game.RPObject; import marauroa.server.game.db.JDBCTransaction; import org.junit.BeforeClass; import org.junit.Test; /** * @author miguel * */ public class TestCharacterAccess { static class TestJDBC extends NIOJDBCDatabase { public TestJDBC(Properties props) { super(props); } } private static TestJDBC database; /** * @throws java.lang.Exception */ @BeforeClass public static void createDatabase() throws Exception { Log4J.init("marauroa/server/log4j.properties"); Properties props = new Properties(); props.put("jdbc_url", "jdbc:mysql://127.0.0.1/marauroatest"); props.put("jdbc_class", "com.mysql.jdbc.Driver"); props.put("jdbc_user", "junittest"); props.put("jdbc_pwd", "passwd"); database=new TestJDBC(props); } @Test public void addCharacter() throws SQLException, IOException { String username="testUser"; String character="testCharacter"; RPObject player=new RPObject(); JDBCTransaction transaction=database.getTransaction(); try { transaction.begin(); database.addPlayer(transaction, username, Hash.hash("testPassword"), "em...@em..."); assertTrue(database.hasPlayer(transaction, username)); database.addCharacter(transaction, username, character, player); assertTrue(database.hasCharacter(transaction, username, character)); } finally { transaction.rollback(); } } @Test(expected=SQLException.class) public void doubleAddedCharacter() throws SQLException, IOException { String username="testUser"; String character="testCharacter"; RPObject player=new RPObject(); JDBCTransaction transaction=database.getTransaction(); try{ transaction.begin(); database.addPlayer(transaction, username, Hash.hash("testPassword"), "em...@em..."); assertTrue(database.hasPlayer(transaction, username)); database.addCharacter(transaction, username, character, player); assertTrue(database.hasCharacter(transaction, username, character)); database.addCharacter(transaction, username, character, player); fail("Character was added"); } finally { transaction.rollback(); } } @Test public void removeCharacter() throws SQLException, IOException { String username="testUser"; String character="testCharacter"; RPObject player=new RPObject(); JDBCTransaction transaction=database.getTransaction(); try { transaction.begin(); database.addPlayer(transaction, username, Hash.hash("testPassword"), "em...@em..."); assertTrue(database.hasPlayer(transaction, username)); database.addCharacter(transaction, username, character, player); assertTrue(database.hasCharacter(transaction, username, character)); database.removeCharacter(transaction, username, character); assertFalse(database.hasPlayer(transaction, username)); } finally { transaction.rollback(); } } } |