2013-08-05 10:18:49 +00:00
|
|
|
(function() {
|
|
|
|
|
|
|
|
var ropenerp = window.openerp;
|
|
|
|
|
|
|
|
var openerp = ropenerp.declare($, _, QWeb2);
|
|
|
|
|
|
|
|
ropenerp.testing.section('jsonrpc', {},
|
2013-08-01 16:32:21 +00:00
|
|
|
function (test) {
|
2013-08-02 15:08:15 +00:00
|
|
|
test('basic-jsonrpc', {asserts: 1}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session();
|
2013-08-01 16:42:07 +00:00
|
|
|
return session.rpc("/gen_session_id", {}).then(function(result) {
|
|
|
|
ok(result.length > 0, "Result returned by /gen_session_id");
|
|
|
|
});
|
|
|
|
});
|
2013-08-02 15:08:15 +00:00
|
|
|
test('basic-jsonprpc', {asserts: 1}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session();
|
2013-08-02 14:32:23 +00:00
|
|
|
session.origin_server = false;
|
2013-08-01 16:42:07 +00:00
|
|
|
return session.rpc("/gen_session_id", {}).then(function(result) {
|
|
|
|
ok(result.length > 0, "Result returned by /gen_session_id");
|
|
|
|
});
|
|
|
|
});
|
2013-08-02 15:08:15 +00:00
|
|
|
test('basic-jsonprpc2', {asserts: 1}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session();
|
2013-08-02 14:32:23 +00:00
|
|
|
session.origin_server = false;
|
|
|
|
return session.rpc("/gen_session_id", {}, {force2step: true}).then(function(result) {
|
2013-08-01 16:32:21 +00:00
|
|
|
ok(result.length > 0, "Result returned by /gen_session_id");
|
|
|
|
});
|
|
|
|
});
|
2013-08-02 15:08:15 +00:00
|
|
|
test('session-jsonrpc', {asserts: 2}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session();
|
2013-08-02 15:08:15 +00:00
|
|
|
var tmp = _.uniqueId("something");
|
|
|
|
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
|
|
|
ok(true, "set_session returned");
|
|
|
|
return session.rpc("/web/tests/get_session_value", {});
|
|
|
|
}).then(function(result) {
|
|
|
|
equal(result, tmp, "Got the same value from the session");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
test('session-jsonprpc', {asserts: 2}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session();
|
2013-08-02 15:08:15 +00:00
|
|
|
session.origin_server = false;
|
|
|
|
var tmp = _.uniqueId("something");
|
|
|
|
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
|
|
|
ok(true, "set_session returned");
|
|
|
|
return session.rpc("/web/tests/get_session_value", {});
|
|
|
|
}).then(function(result) {
|
|
|
|
equal(result, tmp, "Got the same value from the session");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
test('session-jsonprpc2', {asserts: 2}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session();
|
2013-08-02 15:08:15 +00:00
|
|
|
session.origin_server = false;
|
|
|
|
var tmp = _.uniqueId("something");
|
|
|
|
return session.rpc("/web/tests/set_session_value", {value: tmp}, {force2step: true}).then(function() {
|
|
|
|
ok(true, "set_session returned");
|
|
|
|
return session.rpc("/web/tests/get_session_value", {}, {force2step: true});
|
|
|
|
}).then(function(result) {
|
|
|
|
equal(result, tmp, "Got the same value from the session");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
test('overridesession-jsonrpc', {asserts: 4}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var origin_session = new openerp.web.Session();
|
2013-08-02 15:08:15 +00:00
|
|
|
var origin_tmp = _.uniqueId("something");
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session(null, null, {override_session: true});
|
2013-08-02 15:08:15 +00:00
|
|
|
var tmp = _.uniqueId("something_else");
|
|
|
|
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
|
|
|
ok(true, "set_session returned");
|
|
|
|
return origin_session.rpc("/web/tests/set_session_value", {value: origin_tmp});
|
|
|
|
}).then(function(result) {
|
|
|
|
ok(true, "set_session on origin returned");
|
|
|
|
return session.rpc("/web/tests/get_session_value", {});
|
|
|
|
}).then(function(result) {
|
|
|
|
equal(result, tmp, "Got the same value from the session");
|
|
|
|
notEqual(result, origin_tmp, "Values in the different sessions should be different");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
test('overridesession-jsonprpc', {asserts: 4}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var origin_session = new openerp.web.Session();
|
2013-08-02 15:08:15 +00:00
|
|
|
var origin_tmp = _.uniqueId("something");
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session(null, null, {override_session: true});
|
2013-08-02 15:08:15 +00:00
|
|
|
var tmp = _.uniqueId("something_else");
|
|
|
|
session.origin_server = false;
|
|
|
|
return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() {
|
|
|
|
ok(true, "set_session returned");
|
|
|
|
return origin_session.rpc("/web/tests/set_session_value", {value: origin_tmp});
|
|
|
|
}).then(function(result) {
|
|
|
|
ok(true, "set_session on origin returned");
|
|
|
|
return session.rpc("/web/tests/get_session_value", {});
|
|
|
|
}).then(function(result) {
|
|
|
|
equal(result, tmp, "Got the same value from the session");
|
|
|
|
notEqual(result, origin_tmp, "Values in the different sessions should be different");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
test('overridesession-jsonprpc2', {asserts: 4}, function () {
|
2013-08-05 11:12:50 +00:00
|
|
|
var origin_session = new openerp.web.Session();
|
2013-08-02 15:08:15 +00:00
|
|
|
var origin_tmp = _.uniqueId("something");
|
2013-08-05 11:12:50 +00:00
|
|
|
var session = new openerp.web.Session(null, null, {override_session: true});
|
2013-08-02 15:08:15 +00:00
|
|
|
var tmp = _.uniqueId("something_else");
|
|
|
|
session.origin_server = false;
|
|
|
|
return session.rpc("/web/tests/set_session_value", {value: tmp}, {force2step: true}).then(function() {
|
|
|
|
ok(true, "set_session returned");
|
|
|
|
return origin_session.rpc("/web/tests/set_session_value", {value: origin_tmp});
|
|
|
|
}).then(function(result) {
|
|
|
|
ok(true, "set_session on origin returned");
|
|
|
|
return session.rpc("/web/tests/get_session_value", {}, {force2step: true});
|
|
|
|
}).then(function(result) {
|
|
|
|
equal(result, tmp, "Got the same value from the session");
|
|
|
|
notEqual(result, origin_tmp, "Values in the different sessions should be different");
|
|
|
|
});
|
|
|
|
});
|
2013-08-01 16:32:21 +00:00
|
|
|
});
|
2013-08-05 10:18:49 +00:00
|
|
|
|
2013-08-05 11:39:28 +00:00
|
|
|
var login = "admin";
|
|
|
|
var password = "admin";
|
|
|
|
var db = null;
|
|
|
|
|
|
|
|
ropenerp.testing.section('jsonrpc-auth', {
|
|
|
|
setup: function() {
|
|
|
|
var session = new openerp.web.Session();
|
|
|
|
return session.session_reload().then(function() {
|
|
|
|
db = session.db;
|
|
|
|
ok(db, "db must be valid");
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
function (test) {
|
|
|
|
test('basic-auth', {asserts: 4}, function () {
|
|
|
|
var session = new openerp.web.Session();
|
|
|
|
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 session = new openerp.web.Session();
|
|
|
|
var session2;
|
|
|
|
return session.session_authenticate(db, login, password).then(function() {
|
|
|
|
equal(session.uid, 1, "Admin's uid must be 1");
|
|
|
|
session2 = new openerp.web.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);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2013-08-05 10:18:49 +00:00
|
|
|
})();
|