Skip to content

Commit 36cbd4f

Browse files
authored
Merge pull request #138 from serverless/set-google-options-config
Set google options config
2 parents e16a09b + 51fc385 commit 36cbd4f

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

provider/googleProvider.js

+13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ const os = require('os');
77
const _ = require('lodash');
88
const google = require('googleapis').google;
99

10+
const packageJson = require('../package.json');
11+
1012
const constants = {
1113
providerName: 'google',
1214
};
@@ -21,7 +23,18 @@ class GoogleProvider {
2123
this.provider = this; // only load plugin in a Google service context
2224
this.serverless.setProvider(constants.providerName, this);
2325

26+
const serverlessVersion = this.serverless.version;
27+
const pluginVersion = packageJson.version;
28+
const googleApisVersion = packageJson.dependencies.googleapis;
29+
30+
google.options({
31+
headers: {
32+
'User-Agent': `Serverless/${serverlessVersion} Serverless-Google-Provider/${pluginVersion} Googleapis/${googleApisVersion}`,
33+
},
34+
});
35+
2436
this.sdk = {
37+
google,
2538
deploymentmanager: google.deploymentmanager('v2'),
2639
storage: google.storage('v1'),
2740
logging: google.logging('v2'),

provider/googleProvider.test.js

+8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ describe('GoogleProvider', () => {
1818

1919
beforeEach(() => {
2020
serverless = new Serverless();
21+
serverless.version = '1.0.0';
2122
serverless.service = {
2223
provider: {
2324
project: 'example-project',
@@ -58,6 +59,8 @@ describe('GoogleProvider', () => {
5859
});
5960

6061
it('should set the used SDKs', () => {
62+
expect(googleProvider.sdk.google).toBeDefined();
63+
6164
expect(googleProvider.sdk.deploymentmanager)
6265
.toBeDefined();
6366

@@ -70,6 +73,11 @@ describe('GoogleProvider', () => {
7073
expect(googleProvider.sdk.cloudfunctions)
7174
.toBeDefined();
7275
});
76+
77+
it('should set the google options', () => {
78+
expect(google._options.headers['User-Agent']) // eslint-disable-line no-underscore-dangle
79+
.toMatch(/Serverless\/.+ Serverless-Google-Provider\/.+ Googleapis\/.+/);
80+
});
7381
});
7482

7583
describe('#request()', () => {

0 commit comments

Comments
 (0)