Skip to content
This repository was archived by the owner on Apr 3, 2024. It is now read-only.

Commit 3a44bfd

Browse files
author
Matt Loring
committed
Update agent version format
1 parent 1db03bb commit 3a44bfd

File tree

2 files changed

+45
-11
lines changed

2 files changed

+45
-11
lines changed

lib/debugletapi.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,14 @@ DebugletApi.prototype.init = function(uid, logger, callback) {
8484
});
8585
}
8686

87-
if (process.env.GCLOUD_PROJECT) {
88-
var project = process.env.GCLOUD_PROJECT;
89-
90-
setImmediate(function() {
91-
complete(null, project);
92-
});
93-
} else {
94-
utils.getProjectNumber(complete);
95-
}
87+
utils.getProjectNumber(function(err, project) {
88+
that.onGCP = !!project;
89+
if (process.env.GCLOUD_PROJECT) {
90+
complete(null, process.env.GCLOUD_PROJECT);
91+
} else {
92+
complete(err, project);
93+
}
94+
});
9695
};
9796

9897
/**
@@ -126,7 +125,9 @@ DebugletApi.prototype.register_ = function(errorMessage, callback) {
126125
var cwd = process.cwd();
127126
var mainScript = path.relative(cwd, process.argv[1]);
128127

129-
var version = 'google.com/node/' + pjson.version;
128+
var version = 'google.com/node-' +
129+
(that.onGCP ? 'gcp' : 'standalone') +
130+
'/v' + pjson.version;
130131
var desc = process.title + ' ' + mainScript;
131132
var labels = {
132133
'main script': mainScript,

test/test-debugletapi.js

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ var assert = require('assert');
1919
var nock = require('nock');
2020
var request = require('request');
2121
var proxyquire = require('proxyquire');
22+
var agentVersion = require('../package.json').version;
2223

2324
// require DebugletAPI while stubbing auth to bypass authentication
2425
//
@@ -57,7 +58,10 @@ describe('Debuglet API', function() {
5758
describe('register', function() {
5859
it('should get a debuggeeId', function(done) {
5960
var scope = nock(url)
60-
.post(api + '/debuggees/register')
61+
.post(api + '/debuggees/register', function (body) {
62+
return body.debuggee.agentVersion ===
63+
('google.com/node-gcp/v' + agentVersion);
64+
})
6165
.reply(200, {
6266
debuggee: { id: 'fake-debuggee' },
6367
activePeriodSec: 600
@@ -71,6 +75,35 @@ describe('Debuglet API', function() {
7175
});
7276
});
7377

78+
it('should have correct version without projectId', function(done) {
79+
var oldProjNum = utils.getProjectNumber;
80+
utils.getProjectNumber = function(callback) {
81+
callback(new Error(), null);
82+
};
83+
process.GCLOUD_PROJECT = 'project123';
84+
var debugletapi = new DebugletApi();
85+
debugletapi.init('uid1234', { warn: function() {} }, function(err) {
86+
var scope = nock(url)
87+
.post(api + '/debuggees/register', function (body) {
88+
return body.debuggee.agentVersion ===
89+
('google.com/node-standalone/v' + agentVersion);
90+
})
91+
.reply(200, {
92+
debuggee: { id: 'fake-debuggee' },
93+
activePeriodSec: 600
94+
});
95+
debugletapi.register(function(err, result) {
96+
assert(!err, 'not expecting an error');
97+
assert.equal(result.debuggee.id, 'fake-debuggee');
98+
assert.equal(debugletapi.debuggeeId_, 'fake-debuggee');
99+
scope.done();
100+
delete process.GCLOUD_PROJECT;
101+
utils.getProjectNumber = oldProjNum;
102+
done();
103+
});
104+
});
105+
});
106+
74107
it('should return error when debuggee is disabled', function(done) {
75108
var scope = nock(url)
76109
.post(api + '/debuggees/register')

0 commit comments

Comments
 (0)