125 lines
3.6 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";
/*jslint newcap: true */
/*global t_basic, verify_t_basic, fail_verify_t_basic */
/***** Load by primary key ***/
var t1 = new harness.ConcurrentTest("testLoad");
t1.run = function() {
var testCase = this;
// load the domain object 1
var object = new global.t_basic(1);
fail_openSession(testCase, function(session) {
// key and testCase are passed to fail_verify_t_basic as extra parameters
session.load(object, fail_verify_t_basic, object, 1, testCase, true);
});
};
/***** Batch Load by primary key ***/
var t2 = new harness.ConcurrentTest("testBatchLoad");
t2.run = function() {
var testCase = this;
var number_of_objects = 10;
// create objects
fail_openSession(testCase, function(session) {
var i, object;
var batch = session.createBatch();
for (i = 0; i < number_of_objects; ++i) {
object = new global.t_basic(i);
// key and testCase are passed to verify_t_basic as extra parameters
batch.load(object, verify_t_basic, object, i, testCase, true);
}
batch.execute(function(err) {
if (err) {
testCase.appendErrorMessage(err);
}
testCase.failOnError();
});
});
};
/***** Load by unique key ***/
var t3 = new harness.ConcurrentTest("testLoadByUniqueKey");
t3.run = function() {
var testCase = this;
// load the domain object 1
var object = new global.t_basic();
object.magic = 3;
fail_openSession(testCase, function(session) {
// key and testCase are passed to fail_verify_t_basic as extra parameters
session.load(object, fail_verify_t_basic, object, 3, testCase, true);
});
};
/***** Load by non-unique key must fail ***/
var t4 = new harness.ConcurrentTest("testLoadByNonUniqueKey");
t4.run = function() {
var testCase = this;
// load the domain object 1
var object = new global.t_basic();
object.age = 3;
fail_openSession(testCase, function(session) {
session.load(object, function(err) {
if (err) {
testCase.pass();
} else {
testCase.fail('load with non-unique key must fail.');
}
});
});
};
/***** Load by string must fail ***/
var t5 = new harness.ConcurrentTest("testLoadByString");
t5.run = function() {
var testCase = this;
var object = 't_basic';
fail_openSession(testCase, function(session) {
session.load(object, function(err) {
if (err) {
testCase.pass();
} else {
testCase.fail('load with string must fail.');
}
});
});
};
/***** Load by number must fail ***/
var t6 = new harness.ConcurrentTest("testLoadByNumber");
t6.run = function() {
var testCase = this;
// load the domain object 1
var object = 1;
fail_openSession(testCase, function(session) {
session.load(object, function(err) {
if (err) {
testCase.pass();
} else {
testCase.fail('load with number must fail.');
}
});
});
};
module.exports.tests = [t1, t2, t3, t4, t5, t6];