1414
1515"use strict" ;
1616
17- const { wrapMainKnex} = require ( '../index' ) ;
18- const opencensus_tracing = require ( '@opencensus/nodejs' ) ;
17+ const { wrapMainKnex } = require ( '../index' ) ;
1918const chai = require ( "chai" ) ;
20- const { fields} = require ( '../util' ) ;
21- const { context, trace} = require ( '@opentelemetry/api' ) ;
22- const { NodeTracerProvider} = require ( '@opentelemetry/node' ) ;
23- const { AsyncHooksContextManager} = require ( '@opentelemetry/context-async-hooks' ) ;
24- const { InMemorySpanExporter, SimpleSpanProcessor} = require ( '@opentelemetry/tracing' ) ;
19+ const { context, trace } = require ( '@opentelemetry/api' ) ;
20+ const { NodeTracerProvider } = require ( '@opentelemetry/node' ) ;
21+ const { AsyncHooksContextManager } = require ( '@opentelemetry/context-async-hooks' ) ;
22+ const { InMemorySpanExporter, SimpleSpanProcessor } = require ( '@opentelemetry/tracing' ) ;
2523
2624const expect = chai . expect ;
2725
@@ -30,7 +28,7 @@ describe("Comments for Knex", () => {
3028 let fakeKnex = {
3129 Client : {
3230 prototype : {
33- config : { connection : { database : 'fake' } , client : 'fakesql' } ,
31+ config : { connection : { database : 'fake' } , client : 'fakesql' } ,
3432 version : 'fake-server:0.0.X' ,
3533 query : ( conn , obj ) => {
3634 return Promise . resolve ( obj ) ; // simply returns a resolved promise for inspection.
@@ -43,24 +41,24 @@ describe("Comments for Knex", () => {
4341 } ;
4442
4543 before ( ( ) => {
46- wrapMainKnex ( fakeKnex , { db_driver : true } )
44+ wrapMainKnex ( fakeKnex , { db_driver : true } )
4745 } ) ;
4846
4947 describe ( "Cases" , ( ) => {
5048
5149 it ( "should add comment to generated sql" , ( done ) => {
52-
50+
5351 const want = "SELECT CURRENT_TIMESTAMP /*db_driver='knex%3Afake%3A0.0.1'*/" ;
54- const obj = { sql : 'SELECT CURRENT_TIMESTAMP' } ;
52+ const obj = { sql : 'SELECT CURRENT_TIMESTAMP' } ;
5553
56- fakeKnex . Client . prototype . query ( null , obj ) . then ( ( { sql} ) => {
54+ fakeKnex . Client . prototype . query ( null , obj ) . then ( ( { sql } ) => {
5755 expect ( sql ) . equals ( want ) ;
5856 } ) ;
5957 done ( ) ;
6058 } ) ;
6159
6260 it ( "should NOT affix comments to statements with existing comments" , ( done ) => {
63-
61+
6462 const queries = [
6563 'SELECT * FROM people /* existing */' ,
6664 'SELECT * FROM people -- existing'
@@ -80,7 +78,7 @@ describe("Comments for Knex", () => {
8078 const want = [
8179 "db_driver" ,
8280 ] ;
83- fakeKnex . Client . prototype . query ( null , 'SELECT * from foo' ) . then ( ( { sql} ) => {
81+ fakeKnex . Client . prototype . query ( null , 'SELECT * from foo' ) . then ( ( { sql } ) => {
8482 want . forEach ( ( key ) => {
8583 expect ( sql . indexOf ( key ) ) . to . be . gt ( - 1 ) ;
8684 } ) ;
@@ -90,17 +88,17 @@ describe("Comments for Knex", () => {
9088
9189 it ( "should deterministically sort keys alphabetically" , ( done ) => {
9290 const want = "SELECT * from foo /*db_driver='knex%3Afake%3A0.0.1'*/" ;
93- fakeKnex . Client . prototype . query ( null , { sql : 'SELECT * from foo' } ) . then ( ( { sql} ) => {
91+ fakeKnex . Client . prototype . query ( null , { sql : 'SELECT * from foo' } ) . then ( ( { sql } ) => {
9492 expect ( sql ) . equals ( want ) ;
9593 } ) ;
9694 done ( ) ;
9795 } ) ;
9896
9997 it ( "chaining and repeated calls should NOT indefinitely chain SQL" , ( done ) => {
100-
98+
10199 const want = "SELECT * from foo /*db_driver='knex%3Afake%3A0.0.1'*/" ;
102-
103- const obj = { sql : 'SELECT * from foo' } ;
100+
101+ const obj = { sql : 'SELECT * from foo' } ;
104102
105103 fakeKnex . Client . prototype . query ( null , obj )
106104 . then ( ( a ) => fakeKnex . Client . prototype . query ( null , a ) )
@@ -109,61 +107,19 @@ describe("Comments for Knex", () => {
109107 . then ( ( d ) => {
110108 expect ( d . sql ) . equals ( want ) ;
111109 } ) ;
112-
110+
113111 done ( ) ;
114112 } ) ;
115113 } ) ;
116114} ) ;
117115
118116
119- describe ( "With OpenCensus tracing" , ( ) => {
120-
121- let fakeKnex = {
122- Client : {
123- prototype : {
124- config : { connection : { database : 'fake' } , client : 'fakesql' } ,
125- version : 'fake-server:0.0.X' ,
126- query : ( conn , obj ) => {
127- return Promise . resolve ( obj ) ; // simply returns a resolved promise for inspection.
128- }
129- }
130- } ,
131- VERSION : ( ) => {
132- return 'fake:0.0.1' ;
133- }
134- } ;
135-
136- before ( ( ) => {
137- wrapMainKnex ( fakeKnex , { db_driver : true , traceparent : true , tracestate : true } , { TraceProvider : "OpenCensus" } ) ;
138- } ) ;
139-
140- it ( 'Starting an OpenCensus trace should produce `traceparent`' , ( done ) => {
141- // Let's remember https://github.com/census-instrumentation/opencensus-node/issues/580
142-
143- const traceOptions = {
144- samplingRate : 1 , // Always sample
145- } ;
146- const tracer = opencensus_tracing . start ( traceOptions ) . tracer ;
147-
148- tracer . startRootSpan ( { name : 'with-tracing' } , rootSpan => {
149- const obj = { sql : 'SELECT * FROM foo' } ;
150- fakeKnex . Client . prototype . query ( null , obj ) . then ( ( got ) => {
151- const augmentedSQL = got . sql ;
152- const wantSQL = `SELECT * FROM foo /*db_driver='knex%3Afake%3A0.0.1',traceparent='00-${ rootSpan . traceId } -${ rootSpan . id } -01'*/` ;
153- expect ( augmentedSQL ) . equals ( wantSQL ) ;
154- opencensus_tracing . tracer . stop ( ) ;
155- done ( ) ;
156- } ) ;
157- } ) ;
158- } ) ;
159- } ) ;
160-
161117describe ( "With OpenTelemetry tracing" , ( ) => {
162118
163119 let fakeKnex = {
164120 Client : {
165121 prototype : {
166- config : { connection : { database : 'fake' } , client : 'fakesql' } ,
122+ config : { connection : { database : 'fake' } , client : 'fakesql' } ,
167123 version : 'fake-server:0.0.X' ,
168124 query : ( conn , obj ) => {
169125 return Promise . resolve ( obj ) ; // simply returns a resolved promise for inspection.
@@ -187,7 +143,7 @@ describe("With OpenTelemetry tracing", () => {
187143 before ( ( ) => {
188144 contextManager = new AsyncHooksContextManager ( ) ;
189145 context . setGlobalContextManager ( contextManager . enable ( ) ) ;
190- wrapMainKnex ( fakeKnex , { db_driver : true , traceparent : true , tracestate : true } , { TraceProvider : "OpenTelemetry" } ) ;
146+ wrapMainKnex ( fakeKnex , { db_driver : true , traceparent : true , tracestate : true } , { TraceProvider : "" } ) ;
191147 } ) ;
192148
193149 after ( ( ) => {
@@ -198,10 +154,11 @@ describe("With OpenTelemetry tracing", () => {
198154 it ( 'Starting an OpenTelemetry trace should produce `traceparent`' , ( done ) => {
199155 const rootSpan = tracer . startSpan ( 'rootSpan' ) ;
200156 context . with ( trace . setSpan ( context . active ( ) , rootSpan ) , async ( ) => {
201- const obj = { sql : 'SELECT * FROM foo' } ;
157+ const obj = { sql : 'SELECT * FROM foo' } ;
202158 fakeKnex . Client . prototype . query ( null , obj ) . then ( ( got ) => {
203159 const augmentedSQL = got . sql ;
204160 const wantSQL = `SELECT * FROM foo /*db_driver='knex%3Afake%3A0.0.1',traceparent='00-${ rootSpan . spanContext ( ) . traceId } -${ rootSpan . spanContext ( ) . spanId } -01'*/` ;
161+ console . log ( augmentedSQL ) ;
205162 expect ( augmentedSQL ) . equals ( wantSQL ) ;
206163 rootSpan . end ( ) ;
207164 done ( ) ;
0 commit comments