chg: replaced ant with gradle
This commit is contained in:
parent
cee0be52e0
commit
5cbeb9f01d
609 changed files with 87626 additions and 638 deletions
163
modules/jala/tests/Database.js
Normal file
163
modules/jala/tests/Database.js
Normal file
|
@ -0,0 +1,163 @@
|
|||
/**
|
||||
* Contains the system's temporary directory
|
||||
* @type helma.File
|
||||
* @private
|
||||
*/
|
||||
var tmpDir = new helma.File(java.lang.System.getProperty("java.io.tmpdir"));
|
||||
|
||||
/**
|
||||
* Contains the server created in testServer method
|
||||
* @private
|
||||
*/
|
||||
var server = null;
|
||||
|
||||
/**
|
||||
* Basic tests for jala.db.RamDatabase. All of these tests are
|
||||
* valid for jala.db.FileDatabase too.
|
||||
*/
|
||||
var testRamDatabase = function() {
|
||||
var db = new jala.db.RamDatabase("test");
|
||||
assertNotNull(db);
|
||||
assertEqual(db.getName(), "test");
|
||||
assertEqual(db.getDatabasePath(), "mem:test");
|
||||
assertEqual(db.getUrl(), "jdbc:h2:mem:test");
|
||||
// test connection to database
|
||||
var conn = db.getConnection();
|
||||
assertNotNull(conn);
|
||||
assertTrue(conn instanceof helma.Database);
|
||||
|
||||
// create a table
|
||||
db.createTable("test", [
|
||||
{
|
||||
name: "id",
|
||||
type: java.sql.Types.INTEGER,
|
||||
nullable: false,
|
||||
unique: true
|
||||
},
|
||||
{
|
||||
name: "name",
|
||||
type: java.sql.Types.VARCHAR,
|
||||
length: 255
|
||||
}
|
||||
], "id");
|
||||
|
||||
// test if the table exists
|
||||
assertTrue(db.tableExists("test"));
|
||||
|
||||
// dump database
|
||||
var dumpFile = new helma.File(tmpDir, "backup.test.sql");
|
||||
assertTrue(db.dump(dumpFile));
|
||||
assertTrue(dumpFile.exists());
|
||||
assertTrue(dumpFile.getLength() > 0);
|
||||
// remove dump file again
|
||||
dumpFile.remove();
|
||||
|
||||
// drop table
|
||||
db.dropTable("test");
|
||||
assertFalse(db.tableExists("test"));
|
||||
|
||||
// test db shutdown
|
||||
db.shutdown();
|
||||
assertThrows(function() {
|
||||
conn.query("select 1 = 1");
|
||||
}, Packages.org.h2.jdbc.JdbcSQLException);
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* Basic tests for jala.db.FileDatabase that are different to
|
||||
* jala.db.RamDatabase
|
||||
*/
|
||||
var testFileDatabase = function() {
|
||||
var db = new jala.db.FileDatabase("test", tmpDir);
|
||||
assertNotNull(db);
|
||||
assertEqual(db.getName(), "test");
|
||||
assertEqual(db.getDirectory(), tmpDir);
|
||||
|
||||
var dbDir = new helma.File(tmpDir, "test");
|
||||
assertEqual(db.getDatabasePath(), "file:" + dbDir.getAbsolutePath());
|
||||
assertEqual(db.getUrl(), "jdbc:h2:file:" + dbDir.getAbsolutePath());
|
||||
|
||||
// execute sql script (need to do that, otherwise the backup won't
|
||||
// work because the database is empty)
|
||||
var sqlFile = jala.Test.getTestFile("Database.script.sql");
|
||||
assertTrue(db.runScript(sqlFile));
|
||||
assertTrue(db.tableExists("test"));
|
||||
|
||||
// test backup
|
||||
var backupFile = new helma.File(tmpDir, "backup.zip");
|
||||
assertTrue(db.backup(backupFile));
|
||||
assertTrue(backupFile.exists());
|
||||
assertTrue(backupFile.getLength() > 0);
|
||||
|
||||
// remove the database
|
||||
db.remove();
|
||||
assertFalse((new helma.File(db.getDirectory(), db.getName() + ".data.db")).exists());
|
||||
assertFalse((new helma.File(db.getDirectory(), db.getName() + ".index.db")).exists());
|
||||
assertFalse((new helma.File(db.getDirectory(), db.getName() + ".trace.db")).exists());
|
||||
|
||||
// test restore
|
||||
assertTrue(db.restore(backupFile));
|
||||
assertTrue(db.tableExists("test"));
|
||||
|
||||
// remove backup file and database
|
||||
backupFile.remove();
|
||||
db.remove();
|
||||
|
||||
return;
|
||||
};
|
||||
|
||||
var testServer = function() {
|
||||
server = new jala.db.Server(tmpDir);
|
||||
// test default config
|
||||
assertEqual(tmpDir, server.getDirectory());
|
||||
assertEqual(server.getPort(), 9092);
|
||||
assertFalse(server.useSsl());
|
||||
assertFalse(server.isPublic());
|
||||
assertFalse(server.createOnDemand());
|
||||
|
||||
// test setting config properties
|
||||
server.useSsl(true);
|
||||
assertTrue(server.useSsl());
|
||||
server.isPublic(true);
|
||||
assertTrue(server.isPublic());
|
||||
server.createOnDemand(true);
|
||||
assertTrue(server.createOnDemand());
|
||||
|
||||
// reset back some of them
|
||||
server.useSsl(false);
|
||||
assertFalse(server.useSsl());
|
||||
server.isPublic(false);
|
||||
assertFalse(server.isPublic());
|
||||
|
||||
// start the server
|
||||
assertTrue(server.start());
|
||||
|
||||
// test connection properties (this also includes testing
|
||||
// of server.getUrl())
|
||||
var props = server.getProperties("test", "test", "1111");
|
||||
assertEqual(props.getProperty("test.url"), "jdbc:h2:tcp://localhost:9092/test");
|
||||
assertEqual(props.getProperty("test.driver"), "org.h2.Driver");
|
||||
assertEqual(props.getProperty("test.user"), "test");
|
||||
assertEqual(props.getProperty("test.password"), "1111");
|
||||
|
||||
var conn = server.getConnection("test", "test", "1111");
|
||||
assertNotNull(conn);
|
||||
|
||||
// stop the server
|
||||
assertTrue(server.stop());
|
||||
// and remove the file database created above
|
||||
var db = new jala.db.FileDatabase("test", tmpDir, "test", "1111");
|
||||
db.remove();
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* Stuff to do on cleanup
|
||||
*/
|
||||
var cleanup = function() {
|
||||
if (server != null) {
|
||||
server.stop();
|
||||
}
|
||||
return;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue