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

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

Issue 8015004: webRequest.onAuthRequired listeners can provide authentication credentials. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 9 years, 2 months 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.html
diff --git a/chrome/test/data/extensions/api_test/webrequest/test_auth_required.html b/chrome/test/data/extensions/api_test/webrequest/test_auth_required.html
new file mode 100644
index 0000000000000000000000000000000000000000..3836a02918456865e4415ba646b1529b7276981d
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/webrequest/test_auth_required.html
@@ -0,0 +1,323 @@
+<script src="framework.js">
+</script>
+<script>
+function getURLAuthRequired() {
+ return getServerURL('auth-basic');
+}
+
+runTests([
+ // onAuthRequired is not a blocking function in this variant.
+ function authRequiredNonBlocking() {
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: getURLAuthRequired(),
+ frameUrl: getURLAuthRequired()
+ }
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: getURLAuthRequired(),
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: getURLAuthRequired(),
+ isProxy: false,
+ scheme: "basic",
+ realm: "testrealm",
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: getURLAuthRequired(),
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: getURLAuthRequired(),
+ 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(getURLAuthRequired());
+ },
+
+ // onAuthRequired is a blocking function but takes no action in this variant.
+ function authRequiredNoAction() {
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: getURLAuthRequired(),
+ frameUrl: getURLAuthRequired()
+ }
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: getURLAuthRequired(),
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: getURLAuthRequired(),
+ isProxy: false,
+ scheme: "basic",
+ realm: "testrealm",
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: getURLAuthRequired(),
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: getURLAuthRequired(),
+ 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(getURLAuthRequired());
+ },
+
+ // onAuthRequired is a blocking function that cancels the auth attempt.
+ function authRequiredCancelAuth() {
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: getURLAuthRequired(),
+ frameUrl: getURLAuthRequired()
+ },
+ retval: {}
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ retval: {}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: getURLAuthRequired(),
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: getURLAuthRequired(),
+ isProxy: false,
+ scheme: "basic",
+ realm: "testrealm",
+ challenger: {host: testServer, port: testServerPort},
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ },
+ retval: {cancel: true}
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: getURLAuthRequired(),
+ fromCache: false,
+ statusCode: 401,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: getURLAuthRequired(),
+ 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(getURLAuthRequired());
+ },
+
+ // onAuthRequired is a blocking function that sets authentication credentials.
+ // This needs to be done last, otherwise the authentication
+ // credentials will be cached and the other tests will fail.
+ function authRequiredSetAuth() {
+ expect(
+ [ // events
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: getURLAuthRequired(),
+ frameUrl: getURLAuthRequired()
+ },
+ retval: {}
+ },
+ { label: "onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ // Note: no requestHeaders because we don't ask for them.
+ },
+ retval: {}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {
+ url: getURLAuthRequired(),
+ }
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: getURLAuthRequired(),
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.0 401 Unauthorized"
+ }
+ },
+ { label: "onAuthRequired",
+ event: "onAuthRequired",
+ details: {
+ url: getURLAuthRequired(),
+ isProxy: false,
+ scheme: "basic",
+ realm: "testrealm",
+ 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: getURLAuthRequired(),
+ fromCache: false,
+ statusCode: 200,
+ ip: "127.0.0.1",
+ responseHeadersExist: true,
+ statusLine: "HTTP/1.1 200 OK",
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ url: getURLAuthRequired(),
+ 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(getURLAuthRequired());
+ },
+]);
+</script>

Powered by Google App Engine
This is Rietveld 408576698