Skip to content

Commit 8b7f9bc

Browse files
committed
check API key validity messages in system-test
1 parent 689a233 commit 8b7f9bc

2 files changed

Lines changed: 38 additions & 1 deletion

File tree

packages/error-reporting/src/google-apis/auth-client.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ class RequestHandler extends common.Service {
120120
method: 'POST',
121121
json: {}
122122
}, (err, body, response) => {
123-
if (err && err.message !== 'Message cannot be empty.') {
123+
if (err && err.message !== 'Message cannot be empty.' &&
124+
response.statusCode === 400) {
124125
this._logger.error([
125126
'Encountered an error while attempting to validate the provided',
126127
'API key'

packages/error-reporting/system-test/testAuthClient.js renamed to packages/error-reporting/system-test/error-reporting.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ var forEach = require('lodash.foreach');
3131
var assign = require('lodash.assign');
3232
var pick = require('lodash.pick');
3333
var omitBy = require('lodash.omitby');
34+
var request = require('request');
3435
var util = require('util');
3536
var path = require('path');
3637

@@ -362,6 +363,41 @@ describe('Expected Behavior', function() {
362363
});
363364
});
364365

366+
describe('Error Reporting API', function() {
367+
[
368+
{
369+
name: 'when a valid API key is given',
370+
getKey: () => env.apiKey,
371+
message: 'Message cannot be empty.'
372+
},
373+
{
374+
name: 'when an empty API key is given',
375+
getKey: () => '',
376+
message: 'The request is missing a valid API key.'
377+
},
378+
{
379+
name: 'when an invalid API key is given',
380+
getKey: () => env.apiKey.slice(1) + env.apiKey[0],
381+
message: 'API key not valid. Please pass a valid API key.'
382+
}
383+
].forEach(function(testCase) {
384+
it(`should return an expected message ${testCase.name}`, function(done) {
385+
this.timeout(30000);
386+
const API = 'https://clouderrorreporting.googleapis.com/v1beta1';
387+
const key = testCase.getKey();
388+
request.post({
389+
url: `${API}/projects/${env.projectId}/events:report?key=${key}`,
390+
json: {},
391+
}, (err, response, body) => {
392+
assert.ok(!err && body.error);
393+
assert.strictEqual(response.statusCode, 400);
394+
assert.strictEqual(body.error.message, testCase.message);
395+
done();
396+
});
397+
});
398+
});
399+
});
400+
365401
describe('error-reporting', function() {
366402
const SRC_ROOT = path.join(__dirname, '..', 'src');
367403
const TIMESTAMP = Date.now();

0 commit comments

Comments
 (0)