Added more tests

bzr revid: nicolas.vanhoren@openerp.com-20130801164207-wwv34s2fgtlxbzxz
This commit is contained in:
niv-openerp
2013-08-01 18:42:07 +02:00
parent 49f20eb39e
commit cc04d9463e
2 changed files with 28 additions and 9 deletions
+14 -8
View File
@@ -827,11 +827,12 @@ openerp.web.JsonRPC = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
* @param {String} [server] JSON-RPC endpoint hostname
* @param {String} [port] JSON-RPC endpoint port
*/
init: function() {
openerp.web.PropertiesMixin.init.call(this);
init: function(parent, origin) {
openerp.web.PropertiesMixin.init.call(this, parent);
this.server = null;
this.override_session = false;
this.session_id = undefined;
this.setup(origin);
},
setup: function(origin) {
// must be able to customize server
@@ -840,7 +841,7 @@ openerp.web.JsonRPC = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
this.origin = origin ? origin.replace( /\/+$/, '') : window_origin;
this.prefix = this.origin;
this.server = this.origin; // keep chs happy
this.is_jsonp = this.origin !== window_origin;
this.origin_server = this.origin === window_origin;
},
/**
* Executes an RPC call, registering the provided callbacks.
@@ -859,8 +860,8 @@ openerp.web.JsonRPC = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
rpc: function(url, params, options) {
var self = this;
options = options || {};
//TODO: remove
var jqOptions = {};
// TODO: remove
if (! _.isString(url)) {
_.extend(jqOptions, url);
url = url.url;
@@ -870,12 +871,17 @@ openerp.web.JsonRPC = openerp.web.Class.extend(openerp.web.PropertiesMixin, {
jqOptions.timeout = options.timeout;
if (! options.shadow)
this.trigger('request');
var p;
if (! this.is_jsonp) {
p = openerp.web.jsonRpc(url, "call", params, jqOptions);
var fct;
if (this.force_method) {
fct = this.force_method;
} else {
p = openerp.web.jsonpRpc(url, "call", params, jqOptions);
if (this.origin_server) {
fct = openerp.web.jsonRpc;
} else {
fct = openerp.web.jsonpRpc;
}
}
var p = fct(url, "call", params, jqOptions);
p = p.then(function (result) {
if (! options.shadow)
self.trigger('response');
+14 -1
View File
@@ -2,7 +2,20 @@ openerp.testing.section('jsonrpc', {},
function (test) {
test('basic', {asserts: 1}, function () {
var session = new openerp.web.JsonRPC();
session.setup();
return session.rpc("/gen_session_id", {}).then(function(result) {
ok(result.length > 0, "Result returned by /gen_session_id");
});
});
test('jsonrpc', {asserts: 1}, function () {
var session = new openerp.web.JsonRPC();
session.force_method = openerp.web.jsonRpc;
return session.rpc("/gen_session_id", {}).then(function(result) {
ok(result.length > 0, "Result returned by /gen_session_id");
});
});
test('jsonprpc', {asserts: 1}, function () {
var session = new openerp.web.JsonRPC();
session.force_method = openerp.web.jsonpRpc;
return session.rpc("/gen_session_id", {}).then(function(result) {
ok(result.length > 0, "Result returned by /gen_session_id");
});