diff --git a/browserid/static/dialog/resources/browserid-identities.js b/browserid/static/dialog/resources/browserid-identities.js index 2430e84b241d0b96d167e8c167e86b76bfff0c8e..4fab7e4b287c7b7b7eacab877ff2d37f13f0974a 100644 --- a/browserid/static/dialog/resources/browserid-identities.js +++ b/browserid/static/dialog/resources/browserid-identities.js @@ -169,7 +169,6 @@ BrowserID.Identities = (function() { // remember this for later storage.setStagedOnBehalfOf(origin); - // FIXME: keysize network.createUser(email, origin, function(created) { if (onSuccess) { if(created) { @@ -454,12 +453,16 @@ BrowserID.Identities = (function() { * @param {function} [onFailure] - Called on failure. */ removeEmail: function(email, onSuccess, onFailure) { - network.removeEmail(email, function() { - storage.removeEmail(email); - if (onSuccess) { - onSuccess(); - } - }, onFailure); + if(storage.getEmail(email)) { + network.removeEmail(email, function() { + storage.removeEmail(email); + if (onSuccess) { + onSuccess(); + } + }, onFailure); + } else if(onSuccess) { + onSuccess(); + } }, /** @@ -545,8 +548,8 @@ BrowserID.Identities = (function() { // to avoid issues with clock drift on user's machine. // (issue #329) network.serverTime(function(serverTime) { - var storedID = Identities.getStoredEmailKeypairs()[email], - assertion; + var storedID = storage.getEmail(email), + assertion; function createAssertion(idInfo) { var sk = jwk.SecretKey.fromSimpleObject(idInfo.priv); diff --git a/browserid/static/dialog/test/qunit/browserid-identities_unit_test.js b/browserid/static/dialog/test/qunit/browserid-identities_unit_test.js index 2487d06272719e391a93f09fbe6541dfe3904b8c..e32e80392c7852990fe710e05240c30d032876d9 100644 --- a/browserid/static/dialog/test/qunit/browserid-identities_unit_test.js +++ b/browserid/static/dialog/test/qunit/browserid-identities_unit_test.js @@ -161,6 +161,7 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden module("browserid-identities-unit", { setup: function() { lib.setNetwork(netStub); + lib.clearStoredEmailKeypairs(); netStub.reset(); userCheckCount = 0; emailCheckCount = 0; @@ -375,7 +376,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("authenticateAndSync with valid authentication", function() { credentialsValid = true; keyRefresh = ["testuser@testuser.com"]; - lib.clearStoredEmailKeypairs(); lib.authenticateAndSync("testuser@testuser.com", "testuser", function() { }, function(authenticated) { @@ -393,7 +393,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("authenticateAndSync with invalid authentication", function() { credentialsValid = false; keyRefresh = ["testuser@testuser.com"]; - lib.clearStoredEmailKeypairs(); lib.authenticateAndSync("testuser@testuser.com", "testuser", function() { }, function(authenticated) { @@ -444,8 +443,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("syncEmailKeypair with successful sync", function() { - lib.clearStoredEmailKeypairs(); - syncValid = true; lib.syncEmailKeypair("testemail@testemail.com", function(keypair) { var identities = lib.getStoredEmailKeypairs(); @@ -459,8 +456,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("syncEmailKeypair with invalid sync", function() { - lib.clearStoredEmailKeypairs(); - syncValid = false; lib.syncEmailKeypair("testemail@testemail.com", function(keypair) { ok(false, "sync was invalid, this should have failed"); @@ -477,8 +472,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("persistEmail", function() { - lib.clearStoredEmailKeypairs(); - lib.persistEmail("testemail@testemail.com", function onSuccess() { var identities = lib.getStoredEmailKeypairs(); ok("testemail@testemail.com" in identities, "Our new email is added"); @@ -490,8 +483,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("persistEmailKeypair with new email", function() { - lib.clearStoredEmailKeypairs(); - var user_kp = jwk.KeyPair.generate("RS",64); lib.persistEmailKeypair("testemail@testemail.com", user_kp, "cert", function onSuccess() { var id = lib.getStoredEmailKeypairs()["testemail@testemail.com"]; @@ -512,8 +503,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden }); test("persistEmailKeypair with already saved email", function() { - lib.clearStoredEmailKeypairs(); - var user_kp = jwk.KeyPair.generate("RS",64); lib.persistEmailKeypair("testemail@testemail.com", user_kp, "cert", function onSuccess() { setTimeout(function() { @@ -556,8 +545,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("removeEmail that is not added", function() { - lib.clearStoredEmailKeypairs(); - lib.removeEmail("testemail@testemail.com", function() { var identities = lib.getStoredEmailKeypairs(); equal(false, "testemail@testemail.com" in identities, "Our new email is removed"); @@ -570,7 +557,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("syncEmails with no pre-loaded identities and no identities to add", function() { - lib.clearStoredEmailKeypairs(); userEmails = {}; lib.syncEmails(function onSuccess() { @@ -584,7 +570,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden }); test("syncEmails with no pre-loaded identities and identities to add", function() { - lib.clearStoredEmailKeypairs(); userEmails = {"testuser@testuser.com": {}}; lib.syncEmails(function onSuccess() { @@ -598,7 +583,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden }); test("syncEmails with identities preloaded and none to add", function() { - lib.clearStoredEmailKeypairs(); userEmails = {"testuser@testuser.com": {}}; storage.addEmail("testuser@testuser.com", {}); lib.syncEmails(function onSuccess() { @@ -613,7 +597,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("syncEmails with identities preloaded and one to add", function() { - lib.clearStoredEmailKeypairs(); storage.addEmail("testuser@testuser.com", {pubkey: pubkey, cert: random_cert}); userEmails = {"testuser@testuser.com": {pubkey: pubkey, cert: random_cert}, "testuser2@testuser.com": {pubkey: pubkey, cert: random_cert}}; @@ -631,7 +614,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("syncEmails with identities preloaded and one to remove", function() { - lib.clearStoredEmailKeypairs(); storage.addEmail("testuser@testuser.com", {pub: pubkey, cert: random_cert}); storage.addEmail("testuser2@testuser.com", {pub: pubkey, cert: random_cert}); userEmails = {"testuser@testuser.com": { pub: pubkey, cert: random_cert}}; @@ -649,7 +631,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("getAssertion with known email that has key", function() { - lib.clearStoredEmailKeypairs(); var keypair = jwk.KeyPair.generate("RS",64); lib.certifyEmailKeypair("testuser@testuser.com", keypair, function() { lib.getAssertion("testuser@testuser.com", function onSuccess(assertion) { @@ -663,7 +644,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("getAssertion with known email that does not have a key", function() { - lib.clearStoredEmailKeypairs(); lib.persistEmail("testuser@testuser.com", function() { lib.getAssertion("testuser@testuser.com", function onSuccess(assertion) { equal("string", typeof assertion, "we have an assertion!"); @@ -676,7 +656,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("getAssertion with unknown email", function() { - lib.clearStoredEmailKeypairs(); var keypair = jwk.KeyPair.generate("RS",64); lib.certifyEmailKeypair("testuser@testuser.com", keypair, function() { lib.getAssertion("testuser2@testuser.com", function onSuccess(assertion) { @@ -691,7 +670,6 @@ steal.plugins("jquery", "funcunit/qunit").then("/dialog/resources/browserid-iden test("logoutUser", function(onSuccess) { credentialsValid = true; keyRefresh = ["testuser@testuser.com"]; - lib.clearStoredEmailKeypairs(); lib.authenticateAndSync("testuser@testuser.com", "testuser", function() { }, function(authenticated) {