@@ -197,24 +197,21 @@ function setFilename(input, options) {
197197// Methods
198198
199199function getTestStatus ( id , options , callback ) {
200+ var query = { test : id } ;
201+
200202 callback = callback || options ;
201203 options = options === callback ? undefined : options ;
204+ helper . setQuery ( mapping . commands . status , options , query ) ;
202205
203- return api . call ( this , paths . testStatus , callback , { test : id } , options ) ;
206+ return api . call ( this , paths . testStatus , callback , query , options ) ;
204207}
205208
206209function getTestResults ( id , options , callback ) {
207210 var query = { test : id } ;
208211
209212 callback = callback || typeof options === 'function' && options ;
210213 options = options === callback ? { } : options || { } ;
211-
212- if ( options . requestId ) {
213- query . r = options . requestId ;
214- }
215- if ( options . medianMetric ) {
216- query . medianMetric = options . medianMetric ;
217- }
214+ helper . setQuery ( mapping . commands . results , options , query ) ;
218215
219216 // specs
220217 if ( options . specs && ! options . dryRun ) {
@@ -231,14 +228,18 @@ function getLocations(options, callback) {
231228 callback = callback || options ;
232229 options = options === callback ? undefined : options ;
233230
234- return api . call ( this , paths . locations , callback , undefined , options ) ;
231+ var query = helper . setQuery ( mapping . commands . locations , options ) ;
232+
233+ return api . call ( this , paths . locations , callback , query , options ) ;
235234}
236235
237236function getTesters ( options , callback ) {
238237 callback = callback || options ;
239238 options = options === callback ? undefined : options ;
240239
241- return api . call ( this , paths . testers , callback , undefined , options ) ;
240+ var query = helper . setQuery ( mapping . commands . testers , options ) ;
241+
242+ return api . call ( this , paths . testers , callback , query , options ) ;
242243}
243244
244245function runTest ( what , options , callback ) {
@@ -247,22 +248,9 @@ function runTest(what, options, callback) {
247248 callback = callback || options ;
248249 options = options === callback ? { } : options ;
249250
250- // Testing url or script?
251+ // testing url or script?
251252 query [ reSpace . test ( what ) ? 'script' : 'url' ] = what ;
252-
253- // only valid parameters in query
254- Object . keys ( mapping . options . test ) . forEach ( function testParamsEach ( key ) {
255- var param = mapping . options . test [ key ] ,
256- name = param . name ,
257- value = options [ name ] ;
258-
259- if ( value !== undefined && param . api ) {
260- if ( param . array ) {
261- value = [ ] . concat ( value ) . join ( ' ' ) ;
262- }
263- query [ param . api ] = param . bool ? ( value ? 1 : 0 ) : value ;
264- }
265- } ) ;
253+ helper . setQuery ( mapping . commands . test , options , query ) ;
266254
267255 // connectivity
268256 if ( reConnectivity . test ( options . connectivity ) && query . location ) {
@@ -353,20 +341,24 @@ function runTest(what, options, callback) {
353341
354342 // poll|wait results options
355343 Object . keys ( mapping . options . results ) . forEach ( function resultsOpts ( key ) {
356- var name = mapping . options . results [ key ] . name ;
357- resultsOptions [ name ] = options [ name ] ;
344+ var name = mapping . options . results [ key ] . name ,
345+ value = options [ name ] || options [ key ] ;
346+
347+ if ( value !== undefined ) {
348+ resultsOptions [ name ] = value ;
349+ }
358350 } ) ;
359351
360352 // poll results
361- if ( options . pollResults ) {
353+ if ( options . pollResults && ! options . dryRun ) {
362354 options . pollResults = ( parseInt ( options . pollResults , 10 ) || 5 ) * 1000 ;
363355
364356 return api . call ( this , paths . test , testCallback . bind ( this , poll ) ,
365357 query , options ) ;
366358 }
367359
368360 // wait results
369- if ( options . waitResults ) {
361+ if ( options . waitResults && ! options . dryRun ) {
370362
371363 options . waitResults = helper . localhost ( options . waitResults ,
372364 WebPageTest . defaultWaitResultsPort ) ;
@@ -526,7 +518,7 @@ function getWaterfallImage(id, options, callback) {
526518 Object . keys ( mapping . options . waterfall ) . forEach ( function wfParamsEach ( key ) {
527519 var param = mapping . options . waterfall [ key ] ,
528520 name = param . name ,
529- value = options [ name ] ;
521+ value = options [ name ] || options [ key ] ;
530522
531523 if ( value !== undefined ) {
532524 params [ param . api || name ] =
@@ -622,7 +614,25 @@ WebPageTest.prototype = {
622614 getWaterfallImage : getWaterfallImage ,
623615 getScreenshotImage : getScreenshotImage ,
624616 scriptToString : WebPageTest . scriptToString ,
625- listen : listen
617+ listen : listen ,
618+
619+ // short aliases
620+ status : getTestStatus ,
621+ results : getTestResults ,
622+ locations : getLocations ,
623+ testers : getTesters ,
624+ test : runTest ,
625+ cancel : cancelTest ,
626+ pagespeed : getPageSpeedData ,
627+ har : getHARData ,
628+ utilization : getUtilizationData ,
629+ request : getRequestData ,
630+ timeline : getTimelineData ,
631+ netlog : getNetLogData ,
632+ console : getConsoleLogData ,
633+ testinfo : getTestInfo ,
634+ waterfall : getWaterfallImage ,
635+ screenshot : getScreenshotImage
626636} ;
627637
628638module . exports = WebPageTest ;
0 commit comments