Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6665)

Unified Diff: chrome/test/data/extensions/api_test/webrequest/test_auth_required.js

Issue 8775046: Convert another batch of extension tests to manifest_version 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/webrequest/test_auth_required.js
===================================================================
--- chrome/test/data/extensions/api_test/webrequest/test_auth_required.js (revision 0)
+++ chrome/test/data/extensions/api_test/webrequest/test_auth_required.js (revision 0)
@@ -0,0 +1,574 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Generates a unique authentication URL so each test can run
+// without hitting the HTTP authentication cache. Each test
+// must use a unique realm, however.
+function getURLAuthRequired(realm) {
+ return getServerURL('auth-basic/' + realm + '/subpath?realm=' + realm);
+}
+
+runTests([
+ // onAuthRequired is not a blocking function in this variant.
+ function authRequiredNonBlocking() {
+ var realm = 'nonblock';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ }
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {}, ["responseHeaders"]);
+ navigateAndWait(url);
+ },
+
+ // onAuthRequired is a blocking function but takes no action in this variant.
+ function authRequiredSyncNoAction() {
+ var realm = 'syncnoaction';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ }
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {}, ["blocking", "responseHeaders"]);
+ navigateAndWait(url);
+ },
+
+ // onAuthRequired is a blocking function that cancels the auth attempt.
+ function authRequiredSyncCancelAuth() {
+ var realm = 'synccancel';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ },
+ retval: {}
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ retval: {}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ },
+ retval: {cancel: true}
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {},
+ ["responseHeaders", "blocking"]);
+ navigateAndWait(url);
+ },
+
+ // onAuthRequired is a blocking function that sets authentication credentials.
+ function authRequiredSyncSetAuth() {
+ var realm = 'syncsetauth';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ },
+ retval: {}
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ retval: {}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ },
+ retval: {authCredentials: {username: "foo", password: "secret"}}
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 200,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.1 200 OK",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 200,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.1 200 OK",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {},
+ ["responseHeaders", "blocking"]);
+ navigateAndWait(url);
+ },
+
+ // onAuthRequired is an async function but takes no action in this variant.
+ function authRequiredAsyncNoAction() {
+ var realm = 'asyncnoaction';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ }
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {}, ["asyncBlocking", "responseHeaders"]);
+ navigateAndWait(url);
+ },
+
+ // onAuthRequired is an async function that cancels the auth attempt.
+ function authRequiredAsyncCancelAuth() {
+ var realm = 'asynccancel';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ },
+ retval: {}
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ retval: {}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ },
+ retval: {cancel: true}
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {},
+ ["responseHeaders", "asyncBlocking"]);
+ navigateAndWait(url);
+ },
+
+ // onAuthRequired is an async function that sets authentication credentials.
+ function authRequiredAsyncSetAuth() {
+ var realm = 'asyncsetauth';
+ var url = getURLAuthRequired(realm);
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: url,
+ frameUrl: url
+ },
+ retval: {}
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: url,
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ retval: {}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: url,
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: url,
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: url,
+ isProxy: false,
+ scheme: "basic",
+ realm: realm,
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ },
+ retval: {authCredentials: {username: "foo", password: "secret"}}
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 200,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.1 200 OK",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: url,
+ fromCache: false,
+ statusCode: 200,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.1 200 OK",
+ }
+ },
+ ],
+ [ // event order
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onAuthRequired", "onResponseStarted",
+ "onCompleted"]
+ ],
+ {},
+ ["responseHeaders", "asyncBlocking"]);
+ navigateAndWait(url);
+ },
+]);

Powered by Google App Engine
This is Rietveld 408576698