@@ -20,15 +20,21 @@ import {
2020 InMemorySpanExporter ,
2121 SimpleSpanProcessor ,
2222} from '@opentelemetry/tracing' ;
23- import { SpanKind , Attributes , TimedEvent , Span } from '@opentelemetry/types' ;
23+ import {
24+ SpanKind ,
25+ Attributes ,
26+ TimedEvent ,
27+ Span ,
28+ CanonicalCode ,
29+ Status ,
30+ } from '@opentelemetry/types' ;
2431import { plugin as pgPlugin , PostgresPlugin } from '@opentelemetry/plugin-pg' ;
2532import { plugin , PostgresPoolPlugin } from '../src' ;
2633import { AttributeNames } from '../src/enums' ;
2734import * as assert from 'assert' ;
2835import * as pg from 'pg' ;
2936import * as pgPool from 'pg-pool' ;
30- import * as assertionUtils from './assertionUtils' ;
31- import * as testUtils from './testUtils' ;
37+ import * as testUtils from '@opentelemetry/test-utils' ;
3238
3339const memoryExporter = new InMemorySpanExporter ( ) ;
3440
@@ -65,18 +71,23 @@ const DEFAULT_PG_ATTRIBUTES = {
6571 [ AttributeNames . DB_USER ] : CONFIG . user ,
6672} ;
6773
74+ const okStatus : Status = {
75+ code : CanonicalCode . OK ,
76+ } ;
77+
6878const runCallbackTest = (
6979 parentSpan : Span ,
7080 attributes : Attributes ,
7181 events : TimedEvent [ ] ,
82+ status : Status = okStatus ,
7283 spansLength = 1 ,
7384 spansIndex = 0
7485) => {
7586 const spans = memoryExporter . getFinishedSpans ( ) ;
7687 assert . strictEqual ( spans . length , spansLength ) ;
7788 const pgSpan = spans [ spansIndex ] ;
78- assertionUtils . assertSpan ( pgSpan , SpanKind . CLIENT , attributes , events ) ;
79- assertionUtils . assertPropagation ( pgSpan , parentSpan ) ;
89+ testUtils . assertSpan ( pgSpan , SpanKind . CLIENT , attributes , events , status ) ;
90+ testUtils . assertPropagation ( pgSpan , parentSpan ) ;
8091} ;
8192
8293describe ( '[email protected] ' , ( ) => { 97108 pool = new pgPool ( CONFIG ) ;
98109 tracer . addSpanProcessor ( new SimpleSpanProcessor ( memoryExporter ) ) ;
99110 if ( testPostgresLocally ) {
100- testUtils . startDocker ( ) ;
111+ testUtils . startDocker ( 'postgres' ) ;
101112 }
102113 done ( ) ;
103114 } ) ;
104115
105116 after ( function ( done ) {
106117 if ( testPostgresLocally ) {
107- testUtils . cleanUpDocker ( ) ;
118+ testUtils . cleanUpDocker ( 'postgres' ) ;
108119 }
109120 pool . end ( ( ) => {
110121 done ( ) ;
144155 const span = tracer . startSpan ( 'test span' ) ;
145156 await tracer . withSpan ( span , async ( ) => {
146157 const client = await pool . connect ( ) ;
147- runCallbackTest ( span , pgPoolattributes , events , 1 , 0 ) ;
158+ runCallbackTest ( span , pgPoolattributes , events , okStatus , 1 , 0 ) ;
148159 assert . ok ( client , 'pool.connect() returns a promise' ) ;
149160 try {
150161 await client . query ( 'SELECT NOW()' ) ;
151- runCallbackTest ( span , pgAttributes , events , 2 , 1 ) ;
162+ runCallbackTest ( span , pgAttributes , events , okStatus , 2 , 1 ) ;
152163 } catch ( e ) {
153164 throw e ;
154165 } finally {
175186 }
176187 release ( ) ;
177188 assert . ok ( client ) ;
178- runCallbackTest ( parentSpan , pgPoolattributes , events , 1 , 0 ) ;
189+ runCallbackTest ( parentSpan , pgPoolattributes , events , okStatus , 1 , 0 ) ;
179190 client . query ( 'SELECT NOW()' , ( err , ret ) => {
180191 if ( err ) {
181192 return done ( err ) ;
182193 }
183194 assert . ok ( ret ) ;
184- runCallbackTest ( parentSpan , pgAttributes , events , 2 , 1 ) ;
195+ runCallbackTest ( parentSpan , pgAttributes , events , okStatus , 2 , 1 ) ;
185196 done ( ) ;
186197 } ) ;
187198 } ) ;
205216 await tracer . withSpan ( span , async ( ) => {
206217 try {
207218 const result = await pool . query ( 'SELECT NOW()' ) ;
208- runCallbackTest ( span , pgPoolattributes , events , 2 , 0 ) ;
209- runCallbackTest ( span , pgAttributes , events , 2 , 1 ) ;
219+ runCallbackTest ( span , pgPoolattributes , events , okStatus , 2 , 0 ) ;
220+ runCallbackTest ( span , pgAttributes , events , okStatus , 2 , 1 ) ;
210221 assert . ok ( result , 'pool.query() returns a promise' ) ;
211222 } catch ( e ) {
212223 throw e ;
230241 if ( err ) {
231242 return done ( err ) ;
232243 }
233- runCallbackTest ( parentSpan , pgPoolattributes , events , 2 , 0 ) ;
234- runCallbackTest ( parentSpan , pgAttributes , events , 2 , 1 ) ;
244+ runCallbackTest ( parentSpan , pgPoolattributes , events , okStatus , 2 , 0 ) ;
245+ runCallbackTest ( parentSpan , pgAttributes , events , okStatus , 2 , 1 ) ;
235246 done ( ) ;
236247 } ) ;
237248 assert . strictEqual ( resNoPromise , undefined , 'No promise is returned' ) ;
0 commit comments