@@ -471,3 +471,48 @@ def test_covidcast_nowcast(self):
471471 'src' , 'sig1' , 'sensor' , 'day' , 'county' , 22222222 , '01001' )
472472
473473 self .assertEqual (response , {'result' : - 2 , 'message' : 'no results' })
474+
475+ def test_async_epidata (self ):
476+ # insert dummy data
477+ self .cur .execute ('''
478+ insert into covidcast values
479+ (0, 'src', 'sig', 'day', 'county', 20200414, '11111',
480+ 123, 10, 11, 12, 456, 13, 20200414, 0, 1, False),
481+ (0, 'src', 'sig', 'day', 'county', 20200414, '22222',
482+ 123, 20, 21, 22, 456, 23, 20200414, 0, 1, False),
483+ (0, 'src', 'sig', 'day', 'county', 20200414, '33333',
484+ 123, 30, 31, 32, 456, 33, 20200414, 0, 1, False),
485+ (0, 'src', 'sig', 'day', 'msa', 20200414, '11111',
486+ 123, 40, 41, 42, 456, 43, 20200414, 0, 1, False),
487+ (0, 'src', 'sig', 'day', 'msa', 20200414, '22222',
488+ 123, 50, 51, 52, 456, 53, 20200414, 0, 1, False),
489+ (0, 'src', 'sig', 'day', 'msa', 20200414, '33333',
490+ 123, 60, 61, 62, 456, 634, 20200414, 0, 1, False)
491+ ''' )
492+ self .cnx .commit ()
493+ test_output = Epidata .async_epidata ([
494+ {
495+ 'source' : 'covidcast' ,
496+ 'data_source' : 'src' ,
497+ 'signals' : 'sig' ,
498+ 'time_type' : 'day' ,
499+ 'geo_type' : 'county' ,
500+ 'geo_value' : '11111' ,
501+ 'time_values' : '20200414'
502+ },
503+ {
504+ 'source' : 'covidcast' ,
505+ 'data_source' : 'src' ,
506+ 'signals' : 'sig' ,
507+ 'time_type' : 'day' ,
508+ 'geo_type' : 'county' ,
509+ 'geo_value' : '00000' ,
510+ 'time_values' : '20200414'
511+ }
512+ ], batch_size = 10 )
513+ responses = [i [0 ] for i in test_output ]* 12
514+ # check response is same as standard covidcast call, using 24 calls to test batch sizing
515+ self .assertEqual (responses ,
516+ [Epidata .covidcast ('src' , 'sig' , 'day' , 'county' , 20200414 , '11111' ),
517+ Epidata .covidcast ('src' , 'sig' , 'day' , 'county' , 20200414 , '00000' )]* 12
518+ )
0 commit comments