summaryrefslogtreecommitdiffstats
path: root/toolkit/identity/tests/unit/test_relying_party.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/identity/tests/unit/test_relying_party.js')
-rw-r--r--toolkit/identity/tests/unit/test_relying_party.js255
1 files changed, 0 insertions, 255 deletions
diff --git a/toolkit/identity/tests/unit/test_relying_party.js b/toolkit/identity/tests/unit/test_relying_party.js
deleted file mode 100644
index e78d22779..000000000
--- a/toolkit/identity/tests/unit/test_relying_party.js
+++ /dev/null
@@ -1,255 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-XPCOMUtils.defineLazyModuleGetter(this, "RelyingParty",
- "resource://gre/modules/identity/RelyingParty.jsm");
-
-function resetState() {
- get_idstore().reset();
- RelyingParty.reset();
-}
-
-function test_watch_loggedin_ready() {
- do_test_pending();
-
- resetState();
-
- let id = TEST_USER;
- setup_test_identity(id, TEST_CERT, function() {
- let store = get_idstore();
-
- // set it up so we're supposed to be logged in to TEST_URL
- store.setLoginState(TEST_URL, true, id);
- RelyingParty.watch(mock_doc(id, TEST_URL, function(action, params) {
- do_check_eq(action, 'ready');
- do_check_eq(params, undefined);
-
- do_test_finished();
- run_next_test();
- }));
- });
-}
-
-function test_watch_loggedin_login() {
- do_test_pending();
-
- resetState();
-
- let id = TEST_USER;
- setup_test_identity(id, TEST_CERT, function() {
- let store = get_idstore();
-
- // set it up so we're supposed to be logged in to TEST_URL
- store.setLoginState(TEST_URL, true, id);
-
- // check for first a login() call, then a ready() call
- RelyingParty.watch(mock_doc(null, TEST_URL, call_sequentially(
- function(action, params) {
- do_check_eq(action, 'login');
- do_check_neq(params, null);
- },
- function(action, params) {
- do_check_eq(action, 'ready');
- do_check_null(params);
-
- do_test_finished();
- run_next_test();
- }
- )));
- });
-}
-
-function test_watch_loggedin_logout() {
- do_test_pending();
-
- resetState();
-
- let id = TEST_USER;
- let other_id = "otherid@foo.com";
- setup_test_identity(other_id, TEST_CERT, function() {
- setup_test_identity(id, TEST_CERT, function() {
- let store = get_idstore();
-
- // set it up so we're supposed to be logged in to TEST_URL
- // with id, not other_id
- store.setLoginState(TEST_URL, true, id);
-
- // this should cause a login with an assertion for id,
- // not for other_id
- RelyingParty.watch(mock_doc(other_id, TEST_URL, call_sequentially(
- function(action, params) {
- do_check_eq(action, 'login');
- do_check_neq(params, null);
- },
- function(action, params) {
- do_check_eq(action, 'ready');
- do_check_null(params);
-
- do_test_finished();
- run_next_test();
- }
- )));
- });
- });
-}
-
-function test_watch_notloggedin_ready() {
- do_test_pending();
-
- resetState();
-
- RelyingParty.watch(mock_doc(null, TEST_URL, function(action, params) {
- do_check_eq(action, 'ready');
- do_check_eq(params, undefined);
-
- do_test_finished();
- run_next_test();
- }));
-}
-
-function test_watch_notloggedin_logout() {
- do_test_pending();
-
- resetState();
-
- RelyingParty.watch(mock_doc(TEST_USER, TEST_URL, call_sequentially(
- function(action, params) {
- do_check_eq(action, 'logout');
- do_check_eq(params, undefined);
-
- let store = get_idstore();
- do_check_null(store.getLoginState(TEST_URL));
- },
- function(action, params) {
- do_check_eq(action, 'ready');
- do_check_eq(params, undefined);
- do_test_finished();
- run_next_test();
- }
- )));
-}
-
-function test_request() {
- do_test_pending();
-
- // set up a watch, to be consistent
- let mockedDoc = mock_doc(null, TEST_URL, function(action, params) {
- // this isn't going to be called for now
- // XXX but it is called - is that bad?
- });
-
- RelyingParty.watch(mockedDoc);
-
- // be ready for the UX identity-request notification
- makeObserver("identity-request", function (aSubject, aTopic, aData) {
- do_check_neq(aSubject, null);
-
- do_check_eq(aSubject.wrappedJSObject.rpId, mockedDoc.id);
-
- do_test_finished();
- run_next_test();
- });
-
- RelyingParty.request(mockedDoc.id, {});
-}
-
-/*
- * ensure the forceAuthentication param can be passed through
- */
-function test_request_forceAuthentication() {
- do_test_pending();
-
- let mockedDoc = mock_doc(null, TEST_URL, function(action, params) {});
-
- RelyingParty.watch(mockedDoc);
-
- makeObserver("identity-request", function(aSubject, aTopic, aData) {
- do_check_eq(aSubject.wrappedJSObject.rpId, mockedDoc.id);
- do_check_eq(aSubject.wrappedJSObject.forceAuthentication, true);
- do_test_finished();
- run_next_test();
- });
-
- RelyingParty.request(mockedDoc.id, {forceAuthentication: true});
-}
-
-/*
- * ensure the issuer can be forced
- */
-function test_request_forceIssuer() {
- do_test_pending();
-
- let mockedDoc = mock_doc(null, TEST_URL, function(action, params) {});
-
- RelyingParty.watch(mockedDoc);
-
- makeObserver("identity-request", function(aSubject, aTopic, aData) {
- do_check_eq(aSubject.wrappedJSObject.rpId, mockedDoc.id);
- do_check_eq(aSubject.wrappedJSObject.issuer, "https://ozten.co.uk");
- do_test_finished();
- run_next_test();
- });
-
- RelyingParty.request(mockedDoc.id, {issuer: "https://ozten.co.uk"});
-}
-function test_logout() {
- do_test_pending();
-
- resetState();
-
- let id = TEST_USER;
- setup_test_identity(id, TEST_CERT, function() {
- let store = get_idstore();
-
- // set it up so we're supposed to be logged in to TEST_URL
- store.setLoginState(TEST_URL, true, id);
-
- let doLogout;
- let mockedDoc = mock_doc(id, TEST_URL, call_sequentially(
- function(action, params) {
- do_check_eq(action, 'ready');
- do_check_eq(params, undefined);
-
- do_timeout(100, doLogout);
- },
- function(action, params) {
- do_check_eq(action, 'logout');
- do_check_eq(params, undefined);
- },
- function(action, params) {
- do_check_eq(action, 'ready');
- do_check_eq(params, undefined);
-
- do_test_finished();
- run_next_test();
- }));
-
- doLogout = function() {
- RelyingParty.logout(mockedDoc.id);
- do_check_false(store.getLoginState(TEST_URL).isLoggedIn);
- do_check_eq(store.getLoginState(TEST_URL).email, TEST_USER);
- };
-
- RelyingParty.watch(mockedDoc);
- });
-}
-
-var TESTS = [
- test_watch_loggedin_ready,
- test_watch_loggedin_login,
- test_watch_loggedin_logout,
- test_watch_notloggedin_ready,
- test_watch_notloggedin_logout,
- test_request,
- test_request_forceAuthentication,
- test_request_forceIssuer,
- test_logout,
-];
-
-TESTS.forEach(add_test);
-
-function run_test() {
- run_next_test();
-}