169 lines
4.8 KiB
JavaScript
169 lines
4.8 KiB
JavaScript
/*
|
|
Copyright (c) 2012, Oracle and/or its affiliates. All rights
|
|
reserved.
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; version 2 of
|
|
the License.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
02110-1301 USA
|
|
*/
|
|
"use strict";
|
|
|
|
var util = require("util");
|
|
var udebug = unified_debug.getLogger("GetMappingTest.js");
|
|
|
|
var expectedMappingFor_t_basic = {
|
|
"table" : "t_basic",
|
|
"database" : "test",
|
|
"fields" : [{
|
|
"fieldName" : "id",
|
|
"defaultValue" : undefined,
|
|
"columnName" : "id",
|
|
"persistent" : true
|
|
}]
|
|
};
|
|
|
|
var verifyMapping = function(testCase, expected, result) {
|
|
udebug.log('GetMappingTest result: ', util.inspect(result));
|
|
testCase.errorIfNotEqual('Mapping.table mismatch', expected.table, result.table);
|
|
testCase.errorIfNotEqual('Mapping.database mismatch', expected.database, result.database);
|
|
testCase.errorIfNotEqual('Mapping.fields.fieldName mismatch', expected.fields[0].fieldName, result.fields[0].fieldName);
|
|
testCase.errorIfNotEqual('Mapping.fields.columnName mismatch', expected.fields[0].columnName, result.fields[0].columnName);
|
|
testCase.errorIfNotEqual('Mapping.fields.persistent mismatch', expected.fields[0].persistent, result.fields[0].persistent);
|
|
testCase.errorIfNotEqual('Mapping.fields.defaultValue mismatch', expected.fields[0].defaultValue, result.fields[0].defaultValue);
|
|
};
|
|
|
|
var t1 = new harness.SerialTest("getMappingForConstructor");
|
|
t1.run = function() {
|
|
fail_openSession(t1, t1.testGetMapping);
|
|
};
|
|
|
|
t1.testGetMapping = function(session, testCase) {
|
|
session.getMapping(global.t_basic, function(err, result) {
|
|
if (err) {
|
|
testCase.fail(err);
|
|
return;
|
|
}
|
|
verifyMapping(testCase, expectedMappingFor_t_basic, result);
|
|
testCase.failOnError();
|
|
});
|
|
};
|
|
|
|
var t2 = new harness.SerialTest("getMappingForTableName");
|
|
t2.run = function() {
|
|
fail_openSession(t2, t2.testGetMapping);
|
|
};
|
|
|
|
t2.testGetMapping = function(session, testCase) {
|
|
session.getMapping('t_basic', function(err, result) {
|
|
if (err) {
|
|
testCase.fail(err);
|
|
return;
|
|
}
|
|
verifyMapping(testCase, expectedMappingFor_t_basic, result);
|
|
testCase.failOnError();
|
|
});
|
|
};
|
|
|
|
var t3 = new harness.SerialTest("getMappingForUnknownTableName");
|
|
t3.run = function() {
|
|
fail_openSession(t3, t3.testGetMapping);
|
|
};
|
|
|
|
t3.testGetMapping = function(session, testCase) {
|
|
session.getMapping('non_existent_table', function(err, result) {
|
|
if (err) {
|
|
testCase.pass();
|
|
return;
|
|
}
|
|
testCase.fail('t3 getMapping for unknown table should fail');
|
|
});
|
|
};
|
|
|
|
var t4 = new harness.SerialTest("getMappingForUnMappedConstructor");
|
|
t4.run = function() {
|
|
fail_openSession(t4, t4.testGetMapping);
|
|
};
|
|
|
|
t4.testGetMapping = function(session, testCase) {
|
|
var unmappedDomainClass = function() {
|
|
};
|
|
session.getMapping(unmappedDomainClass, function(err, result) {
|
|
if (err) {
|
|
testCase.pass();
|
|
return;
|
|
}
|
|
testCase.fail('t4 getMapping for unmapped domain object should fail');
|
|
});
|
|
};
|
|
|
|
var t5 = new harness.SerialTest("getMappingForNumber");
|
|
t5.run = function() {
|
|
fail_openSession(t5, t5.testGetMapping);
|
|
};
|
|
|
|
t5.testGetMapping = function(session, testCase) {
|
|
var unmappedDomainClass = function() {
|
|
};
|
|
try {
|
|
session.getMapping(1, function(err, result) {
|
|
if (!err) {
|
|
testCase.fail('t5 getMapping for 1 should fail');
|
|
} else {
|
|
testCase.pass();
|
|
}
|
|
});
|
|
} catch (err) {
|
|
testCase.pass();
|
|
}
|
|
};
|
|
|
|
var t6 = new harness.SerialTest("getMappingForBoolean");
|
|
t6.run = function() {
|
|
fail_openSession(t6, t6.testGetMapping);
|
|
};
|
|
|
|
t6.testGetMapping = function(session, testCase) {
|
|
var unmappedDomainClass = function() {
|
|
};
|
|
try {
|
|
session.getMapping(true, function(err, result) {
|
|
if (!err) {
|
|
testCase.fail('t6 getMapping for true should fail');
|
|
} else {
|
|
testCase.pass();
|
|
}
|
|
});
|
|
} catch (err) {
|
|
testCase.pass();
|
|
}
|
|
};
|
|
|
|
var t7 = new harness.SerialTest("getMappingForDomainObject");
|
|
t7.run = function() {
|
|
fail_openSession(t7, t7.testGetMapping);
|
|
};
|
|
|
|
t7.testGetMapping = function(session, testCase) {
|
|
session.getMapping(new global.t_basic(), function(err, result) {
|
|
if (err) {
|
|
testCase.fail(err);
|
|
} else {
|
|
verifyMapping(testCase, expectedMappingFor_t_basic, result);
|
|
testCase.failOnError();
|
|
}
|
|
});
|
|
};
|
|
|
|
module.exports.tests = [t1, t2, t3, t4, t5, t6, t7];
|