[REM] RPC from js/qunit tests
They're a pain in the ass, they never worked right and they're basically useless. Screw it. bzr revid: xmo@openerp.com-20140221143518-hv3rjkw2b00ughvh
This commit is contained in:
parent
42763039f0
commit
bb7eb52699
|
@ -52,7 +52,6 @@ TESTING = Template(u"""<!DOCTYPE html>
|
|||
<script src="/web/static/lib/qunit/qunit.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var oe_db_info = ${db_info | n};
|
||||
// List of modules, each module is preceded by its dependencies
|
||||
var oe_all_dependencies = ${dependencies | n};
|
||||
QUnit.config.testTimeout = 5 * 60 * 1000;
|
||||
|
@ -134,16 +133,10 @@ class TestRunnerController(http.Controller):
|
|||
for mod, tests in itertools.izip(sorted_mods, tests)
|
||||
]
|
||||
|
||||
# if all three db_info parameters are present, send them to the page
|
||||
db_info = dict((k, v) for k, v in kwargs.iteritems()
|
||||
if k in ['source', 'supadmin', 'password'])
|
||||
if len(db_info) != 3:
|
||||
db_info = None
|
||||
|
||||
return TESTING.render(files=files, dependencies=json.dumps(
|
||||
[name for name in sorted_mods
|
||||
if module.get_module_resource(name, 'static')
|
||||
if manifests[name]['js']]), db_info=json.dumps(db_info))
|
||||
if manifests[name]['js']]))
|
||||
|
||||
def load_manifest(self, name):
|
||||
manifest = module.load_information_from_description_file(name)
|
||||
|
|
|
@ -196,7 +196,6 @@ openerp.testing = {};
|
|||
});
|
||||
};
|
||||
|
||||
var db = window['oe_db_info'];
|
||||
testing.section = function (name, options, body) {
|
||||
if (_.isFunction(options)) {
|
||||
body = options;
|
||||
|
@ -235,40 +234,6 @@ openerp.testing = {};
|
|||
.push(env._oe.setup, env._oe.teardown)
|
||||
.push(options.setup, options.teardown);
|
||||
var opts = _.defaults({}, options, env._oe);
|
||||
// FIXME: if this test is ignored, will still query
|
||||
if (opts.rpc === 'rpc' && !db) {
|
||||
QUnit.config.autostart = false;
|
||||
db = {
|
||||
source: null,
|
||||
supadmin: null,
|
||||
password: null
|
||||
};
|
||||
var $msg = $('<form style="margin: 0 1em 1em;">')
|
||||
.append('<h3>A test needs to clone a database</h3>')
|
||||
.append('<h4>Please provide the source clone information</h4>')
|
||||
.append(' Source DB: ').append('<input name="source">').append('<br>')
|
||||
.append(' DB Password: ').append('<input name="supadmin">').append('<br>')
|
||||
.append('Admin Password: ').append('<input name="password">').append('<br>')
|
||||
.append('<input type="submit" value="OK"/>')
|
||||
.submit(function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
db.source = $msg.find('input[name=source]').val();
|
||||
db.supadmin = $msg.find('input[name=supadmin]').val();
|
||||
db.password = $msg.find('input[name=password]').val();
|
||||
QUnit.start();
|
||||
$.unblockUI();
|
||||
});
|
||||
$.blockUI({
|
||||
message: $msg,
|
||||
css: {
|
||||
fontFamily: 'monospace',
|
||||
textAlign: 'left',
|
||||
whiteSpace: 'pre-wrap',
|
||||
cursor: 'default'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QUnit.test(name, function () {
|
||||
var instance = openerp;
|
||||
|
@ -302,21 +267,6 @@ openerp.testing = {};
|
|||
instance.session.responses[spec] = handler;
|
||||
};
|
||||
break;
|
||||
case 'rpc':
|
||||
async = true;
|
||||
(function () {
|
||||
// Add a session setup at the start of the stack to ensure user is logged in
|
||||
case_stack = case_stack.unshift(function (instance) {
|
||||
// FIXME hack: don't want the session to go through shitty loading process of everything
|
||||
instance.session.session_init = testing.noop;
|
||||
instance.session.load_modules = testing.noop;
|
||||
instance.session.session_bind();
|
||||
if (instance.session.session_is_valid()) {
|
||||
return $.when();
|
||||
}
|
||||
return instance.session.session_authenticate(db.source, 'admin', db.password, true);
|
||||
});
|
||||
})();
|
||||
}
|
||||
|
||||
// Always execute tests asynchronously
|
||||
|
|
|
@ -149,62 +149,4 @@ function (test) {
|
|||
});*/
|
||||
});
|
||||
|
||||
var login = "admin";
|
||||
var password = "admin";
|
||||
|
||||
ropenerp.testing.section('jsonrpc-auth', {
|
||||
rpc: "rpc",
|
||||
},
|
||||
function (test) {
|
||||
test('basic-auth', {asserts: 3}, function () {
|
||||
var db = ropenerp.session.db;
|
||||
var session = new openerp.Session(null, null, {override_session: true});
|
||||
equal(session.uid, undefined, "uid is expected to be undefined");
|
||||
return session.session_authenticate(db, login, password).then(function() {
|
||||
equal(session.uid, 1, "Admin's uid must be 1");
|
||||
return session.rpc("/web/dataset/call_kw", {
|
||||
model: "res.users",
|
||||
method: "read",
|
||||
args: [1, ["login"]],
|
||||
kwargs: {},
|
||||
}).then(function(result) {
|
||||
equal(result.login, "admin", "Admin's name must be 'admin'");
|
||||
});
|
||||
});
|
||||
});
|
||||
test('share-sessions', {asserts: 6}, function () {
|
||||
var db = ropenerp.session.db;
|
||||
var session = new openerp.Session(null, null, {override_session: true});
|
||||
var session2;
|
||||
return session.session_authenticate(db, login, password).then(function() {
|
||||
equal(session.uid, 1, "Admin's uid must be 1");
|
||||
session2 = new openerp.Session(null, null, {session_id: session.session_id});
|
||||
equal(session2.uid, undefined, "uid should be undefined");
|
||||
equal(session2.override_session, true, "overwrite_session should be true");
|
||||
return session2.session_reload();
|
||||
}).then(function() {
|
||||
equal(session2.uid, session.uid);
|
||||
equal(session2.uid, 1);
|
||||
return session2.rpc("/web/dataset/call_kw", {
|
||||
model: "res.users",
|
||||
method: "read",
|
||||
args: [1, ["login"]],
|
||||
kwargs: {},
|
||||
}).then(function(result) {
|
||||
equal(result.login, "admin", "Admin's name must be 'admin'");
|
||||
});
|
||||
});
|
||||
});
|
||||
test('models', {asserts: 2}, function () {
|
||||
var db = ropenerp.session.db;
|
||||
var session = new openerp.Session(null, null, {override_session: true});
|
||||
return session.session_authenticate(db, login, password).then(function() {
|
||||
return session.model("res.users").call("search_read", {fields: ["login"], domain: [["id", "=", 1]]});
|
||||
}).then(function(result) {
|
||||
equal(result.length, 1, "Must have one result");
|
||||
equal(result[0].login, "admin", "Must have admin's login");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
})();
|
||||
|
|
|
@ -85,19 +85,4 @@ openerp.testing.section('basic section', function (test) {
|
|||
deepEqual(dbm.db_list, ['foo', 'bar', 'baz']);
|
||||
});
|
||||
});
|
||||
|
||||
test('actual RPC', {rpc: 'rpc', asserts: 4}, function (instance) {
|
||||
var Model = new instance.web.Model('web_tests_demo.model');
|
||||
return Model.call('create', [{name: "Bob"}])
|
||||
.then(function (id) {
|
||||
return Model.call('read', [[id]]);
|
||||
}).then(function (records) {
|
||||
strictEqual(records.length, 1);
|
||||
var record = records[0];
|
||||
strictEqual(record.name, "Bob");
|
||||
strictEqual(record.thing, false);
|
||||
// default value
|
||||
strictEqual(record.other, 'bob');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue