function verifyJsonV2(message) { // verifies this is a singleton list message in v2 format expect(JSON.parse(message.value)).to.deep.equal([{ traceId: traceId.traceId, id: traceId.spanId, name: 'get', kind: 'SERVER', timestamp: 1, duration: 2, localEndpoint: {serviceName: 'my-service'}, tags: { 'http.path': '/api', 'http.status_code': '200' } }]); }
constructor({localServiceName}) { // TODO see if we can conditionally load from package because when testing zipkin itself we want // to use explicit paths const { BatchRecorder, ExplicitContext, TraceId, Tracer, jsonEncoder: {JSON_V2} } = require('zipkin'); this._spans = []; this._tracer = new Tracer({ ctxImpl: new ExplicitContext(), localServiceName, recorder: new BatchRecorder({ logger: { logSpan: (span) => { this._spans.push(JSON.parse(JSON_V2.encode(span))); } } }) }); this._sentinelTraceId = this._tracer.id; this._debugId = new TraceId({spanId: this._tracer.id.traceId, debug: true}); }
}).then((body) => { assert.equal(body, 'ok'); assert.equal(tracer.id.traceId, id1.traceId); assert.equal(tracer.id.traceId, id1.traceId); }); }); assert.equal(body[0], 'me'); }).then(() => { assert.equal(tracer.id.traceId, id2.traceId); return tracer.id.traceId; })); assert.equal(tracer.id.traceId, id2.traceId); assert.equal(resolvedId, id2.traceId); }); assert.equal(err.body[0], 'sushi'); }).catch(() => { assert.equal(tracer.id.traceId, id2.traceId); done(); }); }); assert.equal(tracer.id.traceId, id1.traceId); });
}).then((body) => { assert.equal(body, 'ok'); assert.equal(tracer.id.traceId, id1.traceId); assert.equal(tracer.id.traceId, id1.traceId); }); }); assert.equal(body[0], 'me'); }).then(() => { assert.equal(tracer.id.traceId, id2.traceId); return tracer.id.traceId; })); assert.equal(tracer.id.traceId, id2.traceId); assert.equal(resolvedId, id2.traceId); }); assert.equal(err.body[0], 'sushi'); }).catch(() => { assert.equal(tracer.id.traceId, id2.traceId); done(); }); }); assert.equal(tracer.id.traceId, id1.traceId); });
function verifyJsonV2(message) { // verifies this is a singleton list message in v2 format expect(JSON.parse(message.value)).to.deep.equal([{ traceId: traceId.traceId, id: traceId.spanId, name: 'get', kind: 'SERVER', timestamp: 1, duration: 2, localEndpoint: {serviceName: 'my-service'}, tags: { 'http.path': '/api', 'http.status_code': '200' } }]); }
}).then((body) => { assert.equal(body, 'ok'); assert.equal(tracer.id.traceId, id1.traceId); assert.equal(tracer.id.traceId, id1.traceId); }); }); assert.equal(body[0], 'me'); }).then(() => { assert.equal(tracer.id.traceId, id2.traceId); return tracer.id.traceId; })); assert.equal(tracer.id.traceId, id2.traceId); assert.equal(resolvedId, id2.traceId); }); assert.equal(err.body[0], 'sushi'); }).catch(() => { assert.equal(tracer.id.traceId, id2.traceId); done(); }); }); assert.equal(tracer.id.traceId, id1.traceId); });
}).then((body) => { assert.equal(body, 'ok'); assert.equal(tracer.id.traceId, id1.traceId); assert.equal(tracer.id.traceId, id1.traceId); }); }); assert.equal(body[0], 'me'); }).then(() => { assert.equal(tracer.id.traceId, id2.traceId); return tracer.id.traceId; })); assert.equal(tracer.id.traceId, id2.traceId); assert.equal(resolvedId, id2.traceId); }); assert.equal(err.body[0], 'sushi'); }).catch(() => { assert.equal(tracer.id.traceId, id2.traceId); done(); }); }); assert.equal(tracer.id.traceId, id1.traceId); });