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

Side by Side Diff: chrome/browser/resources/google_now/utility_unittest.gtestjs

Issue 38323003: Add authorization to crash reports (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing unit tests Created 7 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/google_now/utility.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * Test fixture for utility.js. 6 * Test fixture for utility.js.
7 * @constructor 7 * @constructor
8 * @extends {testing.Test} 8 * @extends {testing.Test}
9 */ 9 */
10 function GoogleNowUtilityUnitTest () { 10 function GoogleNowUtilityUnitTest () {
(...skipping 23 matching lines...) Expand all
34 'at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)\n ' + 34 'at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)\n ' +
35 'at Object.InjectedScript.evaluate (<anonymous>:458:21)'; 35 'at Object.InjectedScript.evaluate (<anonymous>:458:21)';
36 36
37 var testError = { 37 var testError = {
38 canSendMessageToServer: true, 38 canSendMessageToServer: true,
39 stack: testStack, 39 stack: testStack,
40 name: 'TEST ERROR NAME', 40 name: 'TEST ERROR NAME',
41 message: 'TEST ERROR MESSAGE' 41 message: 'TEST ERROR MESSAGE'
42 }; 42 };
43 43
44 var testIdentityToken = 'test identity token';
45
44 this.makeAndRegisterMockGlobals(['buildServerRequest']); 46 this.makeAndRegisterMockGlobals(['buildServerRequest']);
45 this.makeMockLocalFunctions(['sendRequest']); 47 this.makeMockLocalFunctions(['sendRequest', 'setRequestHeader']);
48 this.makeAndRegisterMockApis(['chrome.identity.getAuthToken']);
46 49
47 var mockRequest = {send: this.mockLocalFunctions.functions().sendRequest}; 50 var mockRequest = {
51 send: this.mockLocalFunctions.functions().sendRequest,
52 setRequestHeader: this.mockLocalFunctions.functions().setRequestHeader
53 };
48 54
49 var expectedRequestObject = { 55 var expectedRequestObject = {
50 message: 'TEST ERROR NAME: TEST ERROR MESSAGE', 56 message: 'TEST ERROR NAME: TEST ERROR MESSAGE',
51 file: '//ext_id/utility.js', 57 file: '//ext_id/utility.js',
52 line: '29', 58 line: '29',
53 trace: 'Error: TEST ERROR MESSAGE\n ' + 59 trace: 'Error: TEST ERROR MESSAGE\n ' +
54 'at buildErrorWithMessageForServer (chrome-extension://ext_id/util' + 60 'at buildErrorWithMessageForServer (chrome-extension://ext_id/util' +
55 'ity.js:29:15)\n ' + 61 'ity.js:29:15)\n ' +
56 'at <anonymous>:2:16\n ' + 62 'at <anonymous>:2:16\n ' +
57 'at Object.InjectedScript._evaluateOn (<anonymous>:580:39)\n ' + 63 'at Object.InjectedScript._evaluateOn (<anonymous>:580:39)\n ' +
58 'at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)\n' + 64 'at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)\n' +
59 ' at Object.InjectedScript.evaluate (<anonymous>:458:21)' 65 ' at Object.InjectedScript.evaluate (<anonymous>:458:21)'
60 }; 66 };
61 67
62 this.mockGlobals.expects(once()). 68 this.mockGlobals.expects(once()).
63 buildServerRequest('POST', 'jserrors', 'application/json'). 69 buildServerRequest('POST', 'jserrors', 'application/json').
64 will(returnValue(mockRequest)); 70 will(returnValue(mockRequest));
71
72 var chromeIdentityGetAuthTokenSavedArgs = new SaveMockArguments();
73 this.mockApis.expects(once()).
74 chrome_identity_getAuthToken(
75 chromeIdentityGetAuthTokenSavedArgs.match(
76 eqJSON({interactive: false})),
77 chromeIdentityGetAuthTokenSavedArgs.match(ANYTHING)).
78 will(invokeCallback(
79 chromeIdentityGetAuthTokenSavedArgs,
80 1,
81 testIdentityToken));
82
83 this.mockLocalFunctions.expects(once()).setRequestHeader(
84 'Authorization', 'Bearer test identity token');
65 this.mockLocalFunctions.expects(once()).sendRequest( 85 this.mockLocalFunctions.expects(once()).sendRequest(
66 JSON.stringify(expectedRequestObject)); 86 JSON.stringify(expectedRequestObject));
67 87
68 // Invoking the tested function. 88 // Invoking the tested function.
69 sendErrorReport(testError); 89 sendErrorReport(testError);
70 }); 90 });
71 91
72 TEST_F('GoogleNowUtilityUnitTest', 'SendErrorReport2', function() { 92 TEST_F('GoogleNowUtilityUnitTest', 'SendErrorReport2', function() {
73 // Test sending report for an error with a message that should not be sent to 93 // Test sending report for an error with a message that should not be sent to
74 // server, with an error generated in an anonymous function. 94 // server, with an error generated in an anonymous function.
75 95
76 // Setup and expectations. 96 // Setup and expectations.
77 var testStack = 'TypeError: Property \'processPendingDismissals\' of ' + 97 var testStack = 'TypeError: Property \'processPendingDismissals\' of ' +
78 'object [object Object] is not a function\n ' + 98 'object [object Object] is not a function\n ' +
79 'at chrome-extension://ext_id/background.js:444:11\n ' + 99 'at chrome-extension://ext_id/background.js:444:11\n ' +
80 'at chrome-extension://ext_id/utility.js:509:7'; 100 'at chrome-extension://ext_id/utility.js:509:7';
81 101
82 var testError = { 102 var testError = {
83 stack: testStack, 103 stack: testStack,
84 name: 'TypeError' 104 name: 'TypeError'
85 }; 105 };
86 106
107 var testIdentityToken = 'test identity token';
108
87 this.makeAndRegisterMockGlobals(['buildServerRequest']); 109 this.makeAndRegisterMockGlobals(['buildServerRequest']);
88 this.makeMockLocalFunctions(['sendRequest']); 110 this.makeMockLocalFunctions(['sendRequest', 'setRequestHeader']);
111 this.makeAndRegisterMockApis(['chrome.identity.getAuthToken']);
89 112
90 var mockRequest = {send: this.mockLocalFunctions.functions().sendRequest}; 113 var mockRequest = {
114 send: this.mockLocalFunctions.functions().sendRequest,
115 setRequestHeader: this.mockLocalFunctions.functions().setRequestHeader
116 };
91 117
92 var expectedRequestObject = { 118 var expectedRequestObject = {
93 message: 'TypeError', 119 message: 'TypeError',
94 file: '//ext_id/background.js', 120 file: '//ext_id/background.js',
95 line: '444', 121 line: '444',
96 trace: '(message removed)\n ' + 122 trace: '(message removed)\n ' +
97 'at chrome-extension://ext_id/background.js:444:11\n ' + 123 'at chrome-extension://ext_id/background.js:444:11\n ' +
98 'at chrome-extension://ext_id/utility.js:509:7' 124 'at chrome-extension://ext_id/utility.js:509:7'
99 }; 125 };
100 126
101 this.mockGlobals.expects(once()). 127 this.mockGlobals.expects(once()).
102 buildServerRequest('POST', 'jserrors', 'application/json'). 128 buildServerRequest('POST', 'jserrors', 'application/json').
103 will(returnValue(mockRequest)); 129 will(returnValue(mockRequest));
130
131 var chromeIdentityGetAuthTokenSavedArgs = new SaveMockArguments();
132 this.mockApis.expects(once()).
133 chrome_identity_getAuthToken(
134 chromeIdentityGetAuthTokenSavedArgs.match(
135 eqJSON({interactive: false})),
136 chromeIdentityGetAuthTokenSavedArgs.match(ANYTHING)).
137 will(invokeCallback(
138 chromeIdentityGetAuthTokenSavedArgs,
139 1,
140 testIdentityToken));
141
142 this.mockLocalFunctions.expects(once()).setRequestHeader(
143 'Authorization', 'Bearer test identity token');
104 this.mockLocalFunctions.expects(once()).sendRequest( 144 this.mockLocalFunctions.expects(once()).sendRequest(
105 JSON.stringify(expectedRequestObject)); 145 JSON.stringify(expectedRequestObject));
106 146
107 // Invoking the tested function. 147 // Invoking the tested function.
108 sendErrorReport(testError); 148 sendErrorReport(testError);
109 }); 149 });
110 150
111 TEST_F('GoogleNowUtilityUnitTest', 'WrapperCheckInWrappedCallback', function() { 151 TEST_F('GoogleNowUtilityUnitTest', 'WrapperCheckInWrappedCallback', function() {
112 // Test generating an error when calling wrapper.checkInWrappedCallback from a 152 // Test generating an error when calling wrapper.checkInWrappedCallback from a
113 // non-instrumented code. 153 // non-instrumented code.
(...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 var alarmsGetSavedArgs = new SaveMockArguments(); 970 var alarmsGetSavedArgs = new SaveMockArguments();
931 this.mockApis.expects(once()). 971 this.mockApis.expects(once()).
932 instrumented_alarms_get( 972 instrumented_alarms_get(
933 alarmsGetSavedArgs.match(eq(testAttemptAlarmName)), 973 alarmsGetSavedArgs.match(eq(testAttemptAlarmName)),
934 alarmsGetSavedArgs.match(ANYTHING)). 974 alarmsGetSavedArgs.match(ANYTHING)).
935 will(invokeCallback(alarmsGetSavedArgs, 1, {testField: 'TEST VALUE'})); 975 will(invokeCallback(alarmsGetSavedArgs, 1, {testField: 'TEST VALUE'}));
936 this.mockLocalFunctions.expects(once()).attempt(); 976 this.mockLocalFunctions.expects(once()).attempt();
937 // Invocation. 977 // Invocation.
938 onAlarmHandlerContainer[0]({name: testAttemptAlarmName}); 978 onAlarmHandlerContainer[0]({name: testAttemptAlarmName});
939 }); 979 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/google_now/utility.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698