@@ -40,14 +40,41 @@ test('npm ping', function (t) {
4040 common . npm ( [
4141 'ping' ,
4242 '--registry' , common . registry ,
43- '--loglevel' , 'silent ' ,
43+ '--loglevel' , 'notice ' ,
4444 '--userconfig' , outfile
45- ] , opts , function ( err , code , stdout ) {
45+ ] , opts , function ( err , code , stdout , stderr ) {
4646 s . close ( )
47- t . ifError ( err , 'no error output ' )
47+ t . ifError ( err , 'command completed ' )
4848 t . notOk ( code , 'exited OK' )
4949
50- t . same ( stdout , 'Ping success: ' + JSON . stringify ( pingResponse ) + '\n' )
50+ t . match ( stderr , / P I N G / , 'ping notification output' )
51+ t . match ( stderr , / P O N G / , 'pong response output' )
52+ t . end ( )
53+ } )
54+ } )
55+ } )
56+
57+ test ( 'npm ping --json' , function ( t ) {
58+ mr ( { port : common . port , plugin : mocks } , function ( err , s ) {
59+ if ( err ) throw err
60+
61+ common . npm ( [
62+ 'ping' ,
63+ '--json' ,
64+ '--registry' , common . registry ,
65+ '--loglevel' , 'notice' ,
66+ '--userconfig' , outfile
67+ ] , opts , function ( err , code , stdout , stderr ) {
68+ s . close ( )
69+ t . ifError ( err , 'command completed' )
70+ t . notOk ( code , 'exited OK' )
71+
72+ const json = JSON . parse ( stdout . trim ( ) )
73+ t . similar ( json , {
74+ registry : common . registry ,
75+ details : pingResponse
76+ } , 'JSON info returned' )
77+ t . equal ( typeof json . time , 'number' , 'got a timestamp' )
5178 t . end ( )
5279 } )
5380 } )
0 commit comments