summaryrefslogtreecommitdiffstats
path: root/services/fxaccounts/tests/mochitest
diff options
context:
space:
mode:
Diffstat (limited to 'services/fxaccounts/tests/mochitest')
-rw-r--r--services/fxaccounts/tests/mochitest/chrome.ini7
-rw-r--r--services/fxaccounts/tests/mochitest/file_invalidEmailCase.sjs80
-rw-r--r--services/fxaccounts/tests/mochitest/test_invalidEmailCase.html131
3 files changed, 0 insertions, 218 deletions
diff --git a/services/fxaccounts/tests/mochitest/chrome.ini b/services/fxaccounts/tests/mochitest/chrome.ini
deleted file mode 100644
index ab2e77053..000000000
--- a/services/fxaccounts/tests/mochitest/chrome.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[DEFAULT]
-skip-if = os == 'android'
-support-files=
- file_invalidEmailCase.sjs
-
-[test_invalidEmailCase.html]
-
diff --git a/services/fxaccounts/tests/mochitest/file_invalidEmailCase.sjs b/services/fxaccounts/tests/mochitest/file_invalidEmailCase.sjs
deleted file mode 100644
index 9d97ac70c..000000000
--- a/services/fxaccounts/tests/mochitest/file_invalidEmailCase.sjs
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-/**
- * This server simulates the behavior of /account/login on the Firefox Accounts
- * auth server in the case where the user is trying to sign in with an email
- * with the wrong capitalization.
- *
- * https://github.com/mozilla/fxa-auth-server/blob/master/docs/api.md#post-v1accountlogin
- *
- * The expected behavior is that on the first attempt, with the wrong email,
- * the server will respond with a 400 and the canonical email capitalization
- * that the client should use. The client then has one chance to sign in with
- * this different capitalization.
- *
- * In this test, the user with the account id "Greta.Garbo@gmail.COM" initially
- * tries to sign in as "greta.garbo@gmail.com".
- *
- * On success, the client is responsible for updating its sign-in user state
- * and recording the proper email capitalization.
- */
-
-const CC = Components.Constructor;
-const BinaryInputStream = CC("@mozilla.org/binaryinputstream;1",
- "nsIBinaryInputStream",
- "setInputStream");
-
-const goodEmail = "Greta.Garbo@gmail.COM";
-const badEmail = "greta.garbo@gmail.com";
-
-function handleRequest(request, response) {
- let body = new BinaryInputStream(request.bodyInputStream);
- let bytes = [];
- let available;
- while ((available = body.available()) > 0) {
- Array.prototype.push.apply(bytes, body.readByteArray(available));
- }
-
- let data = JSON.parse(String.fromCharCode.apply(null, bytes));
- let message;
-
- switch (data.email) {
- case badEmail:
- // Almost - try again with fixed email case
- message = {
- code: 400,
- errno: 120,
- error: "Incorrect email case",
- email: goodEmail,
- };
- response.setStatusLine(request.httpVersion, 400, "Almost");
- break;
-
- case goodEmail:
- // Successful login.
- message = {
- uid: "your-uid",
- sessionToken: "your-sessionToken",
- keyFetchToken: "your-keyFetchToken",
- verified: true,
- authAt: 1392144866,
- };
- response.setStatusLine(request.httpVersion, 200, "Yay");
- break;
-
- default:
- // Anything else happening in this test is a failure.
- message = {
- code: 400,
- errno: 999,
- error: "What happened!?",
- };
- response.setStatusLine(request.httpVersion, 400, "Ouch");
- break;
- }
-
- messageStr = JSON.stringify(message);
- response.bodyOutputStream.write(messageStr, messageStr.length);
-}
-
diff --git a/services/fxaccounts/tests/mochitest/test_invalidEmailCase.html b/services/fxaccounts/tests/mochitest/test_invalidEmailCase.html
deleted file mode 100644
index 52866cc4b..000000000
--- a/services/fxaccounts/tests/mochitest/test_invalidEmailCase.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!--
- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/
--->
-<!DOCTYPE HTML>
-<html>
-<!--
-Tests for Firefox Accounts signin with invalid email case
-https://bugzilla.mozilla.org/show_bug.cgi?id=963835
--->
-<head>
- <title>Test for Firefox Accounts (Bug 963835)</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
-</head>
-<body>
-
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=963835">Mozilla Bug 963835</a>
-<p id="display"></p>
-<div id="content" style="display: none">
- Test for correction of invalid email case in Fx Accounts signIn
-</div>
-<pre id="test">
-<script class="testbody" type="text/javascript;version=1.8">
-
-SimpleTest.waitForExplicitFinish();
-
-Components.utils.import("resource://gre/modules/Promise.jsm");
-Components.utils.import("resource://gre/modules/Services.jsm");
-Components.utils.import("resource://gre/modules/FxAccounts.jsm");
-Components.utils.import("resource://gre/modules/FxAccountsClient.jsm");
-Components.utils.import("resource://services-common/hawkclient.js");
-
-const TEST_SERVER =
- "http://mochi.test:8888/chrome/services/fxaccounts/tests/mochitest/file_invalidEmailCase.sjs?path=";
-
-let MockStorage = function() {
- this.data = null;
-};
-MockStorage.prototype = Object.freeze({
- set: function (contents) {
- this.data = contents;
- return Promise.resolve(null);
- },
- get: function () {
- return Promise.resolve(this.data);
- },
- getOAuthTokens() {
- return Promise.resolve(null);
- },
- setOAuthTokens(contents) {
- return Promise.resolve();
- },
-});
-
-function MockFxAccounts() {
- return new FxAccounts({
- _now_is: new Date(),
-
- now: function() {
- return this._now_is;
- },
-
- signedInUserStorage: new MockStorage(),
-
- fxAccountsClient: new FxAccountsClient(TEST_SERVER),
- });
-}
-
-let wrongEmail = "greta.garbo@gmail.com";
-let rightEmail = "Greta.Garbo@gmail.COM";
-let password = "123456";
-
-function runTest() {
- is(Services.prefs.getCharPref("identity.fxaccounts.auth.uri"), TEST_SERVER,
- "Pref for auth.uri should be set to test server");
-
- let fxa = new MockFxAccounts();
- let client = fxa.internal.fxAccountsClient;
-
- ok(true, !!fxa, "Couldn't mock fxa");
- ok(true, !!client, "Couldn't mock fxa client");
- is(client.host, TEST_SERVER, "Should be using the test auth server uri");
-
- // First try to sign in using the email with the wrong capitalization. The
- // FxAccountsClient will receive a 400 from the server with the corrected email.
- // It will automatically try to sign in again. We expect this to succeed.
- client.signIn(wrongEmail, password).then(
- user => {
-
- // Now store the signed-in user state. This will include the correct
- // email capitalization.
- fxa.setSignedInUser(user).then(
- () => {
-
- // Confirm that the correct email got stored.
- fxa.getSignedInUser().then(
- data => {
- is(data.email, rightEmail);
- SimpleTest.finish();
- },
- getUserError => {
- ok(false, JSON.stringify(getUserError));
- }
- );
- },
- setSignedInUserError => {
- ok(false, JSON.stringify(setSignedInUserError));
- }
- );
- },
- signInError => {
- ok(false, JSON.stringify(signInError));
- }
- );
-};
-
-SpecialPowers.pushPrefEnv({"set": [
- ["identity.fxaccounts.enabled", true], // fx accounts
- ["identity.fxaccounts.auth.uri", TEST_SERVER], // our sjs server
- ["toolkit.identity.debug", true], // verbose identity logging
- ["browser.dom.window.dump.enabled", true],
- ]},
- function () { runTest(); }
-);
-
-</script>
-</pre>
-</body>
-</html>
-