@ -29,7 +29,7 @@ def seed_athena_server(host, port): 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  with  Timeout ( 2 ,  ' HTTP Server seeding failed ' ) :   
					 
					 
					 
					  with  Timeout ( 2 ,  ' HTTP Server seeding failed ' ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    while  True :   
					 
					 
					 
					    while  True :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      try :   
					 
					 
					 
					      try :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        requests . put ( f ' http:// { host } : { port } /qlog.bz2  ' ,  data = ' ' ,  timeout = 10 )   
					 
					 
					 
					        requests . put ( f ' http:// { host } : { port } /qlog.zst  ' ,  data = ' ' ,  timeout = 10 )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        break   
					 
					 
					 
					        break   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      except  requests . exceptions . ConnectionError :   
					 
					 
					 
					      except  requests . exceptions . ConnectionError :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        time . sleep ( 0.1 )   
					 
					 
					 
					        time . sleep ( 0.1 )   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -174,54 +174,59 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  resp ,  ' list empty! '   
					 
					 
					 
					    assert  resp ,  ' list empty! '   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  len ( resp )  ==  len ( expected )   
					 
					 
					 
					    assert  len ( resp )  ==  len ( expected )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_strip_bz2_extension ( self ) :   
					 
					 
					 
					  def  test_strip_extension ( self ) :   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					    # any requested log file with an invalid extension won't return as existing   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2 ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2 ' )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  fn . endswith ( ' .bz2 ' ) :   
					 
					 
					 
					    if  fn . endswith ( ' .bz2 ' ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      assert  athenad . strip_bz2_extension ( fn )  ==  fn [ : - 4 ]   
					 
					 
					 
					      assert  athenad . strip_zst_extension ( fn )  ==  fn   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst ' )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					    if  fn . endswith ( ' .zst ' ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					      assert  athenad . strip_zst_extension ( fn )  ==  fn [ : - 4 ]   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  @pytest . mark . parametrize ( " compress " ,  [ True ,  False ] )   
					 
					 
					 
					  @pytest . mark . parametrize ( " compress " ,  [ True ,  False ] )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_do_upload ( self ,  host ,  compress ) :   
					 
					 
					 
					  def  test_do_upload ( self ,  host ,  compress ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    # random bytes to ensure rather large object post-compression   
					 
					 
					 
					    # random bytes to ensure rather large object post-compression   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog ' ,  data = os . urandom ( 10000  *  1024 ) )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog ' ,  data = os . urandom ( 10000  *  1024 ) )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    upload_fn  =  fn  +  ( ' .bz2  '  if  compress  else  ' ' )   
					 
					 
					 
					    upload_fn  =  fn  +  ( ' .zst  '  if  compress  else  ' ' )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = upload_fn ,  url = " http://localhost:1238 " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = upload_fn ,  url = " http://localhost:1238 " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    with  pytest . raises ( requests . exceptions . ConnectionError ) :   
					 
					 
					 
					    with  pytest . raises ( requests . exceptions . ConnectionError ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      athenad . _do_upload ( item )   
					 
					 
					 
					      athenad . _do_upload ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = upload_fn ,  url = f " { host } /qlog.bz2  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = upload_fn ,  url = f " { host } /qlog.zst  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    resp  =  athenad . _do_upload ( item )   
					 
					 
					 
					    resp  =  athenad . _do_upload ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  resp . status_code  ==  201   
					 
					 
					 
					    assert  resp . status_code  ==  201   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_upload_file_to_url ( self ,  host ) :   
					 
					 
					 
					  def  test_upload_file_to_url ( self ,  host ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    resp  =  dispatcher [ " uploadFileToUrl " ] ( " qlog.bz2  " ,  f " { host } /qlog.bz2  " ,  { } )   
					 
					 
					 
					    resp  =  dispatcher [ " uploadFileToUrl " ] ( " qlog.zst  " ,  f " { host } /qlog.zst  " ,  { } )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    assert  resp [ ' enqueued ' ]  ==  1   
					 
					 
					 
					    assert  resp [ ' enqueued ' ]  ==  1   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  ' failed '  not  in  resp   
					 
					 
					 
					    assert  ' failed '  not  in  resp   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  { " path " :  fn ,  " url " :  f " { host } /qlog.bz2  " ,  " headers " :  { } } . items ( )  < =  resp [ ' items ' ] [ 0 ] . items ( )   
					 
					 
					 
					    assert  { " path " :  fn ,  " url " :  f " { host } /qlog.zst  " ,  " headers " :  { } } . items ( )  < =  resp [ ' items ' ] [ 0 ] . items ( )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    assert  resp [ ' items ' ] [ 0 ] . get ( ' id ' )  is  not  None   
					 
					 
					 
					    assert  resp [ ' items ' ] [ 0 ] . get ( ' id ' )  is  not  None   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  athenad . upload_queue . qsize ( )  ==  1   
					 
					 
					 
					    assert  athenad . upload_queue . qsize ( )  ==  1   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_upload_file_to_url_duplicate ( self ,  host ) :   
					 
					 
					 
					  def  test_upload_file_to_url_duplicate ( self ,  host ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    url1  =  f " { host } /qlog.bz2 ?sig=sig1 "   
					 
					 
					 
					    url1  =  f " { host } /qlog.zst ?sig=sig1 "   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    dispatcher [ " uploadFileToUrl " ] ( " qlog.bz2  " ,  url1 ,  { } )   
					 
					 
					 
					    dispatcher [ " uploadFileToUrl " ] ( " qlog.zst  " ,  url1 ,  { } )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    # Upload same file again, but with different signature   
					 
					 
					 
					    # Upload same file again, but with different signature   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    url2  =  f " { host } /qlog.bz2 ?sig=sig2 "   
					 
					 
					 
					    url2  =  f " { host } /qlog.zst ?sig=sig2 "   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    resp  =  dispatcher [ " uploadFileToUrl " ] ( " qlog.bz2  " ,  url2 ,  { } )   
					 
					 
					 
					    resp  =  dispatcher [ " uploadFileToUrl " ] ( " qlog.zst  " ,  url2 ,  { } )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    assert  resp  ==  { ' enqueued ' :  0 ,  ' items ' :  [ ] }   
					 
					 
					 
					    assert  resp  ==  { ' enqueued ' :  0 ,  ' items ' :  [ ] }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_upload_file_to_url_does_not_exist ( self ,  host ) :   
					 
					 
					 
					  def  test_upload_file_to_url_does_not_exist ( self ,  host ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    not_exists_resp  =  dispatcher [ " uploadFileToUrl " ] ( " does_not_exist.bz2  " ,  " http://localhost:1238 " ,  { } )   
					 
					 
					 
					    not_exists_resp  =  dispatcher [ " uploadFileToUrl " ] ( " does_not_exist.zst  " ,  " http://localhost:1238 " ,  { } )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  not_exists_resp  ==  { ' enqueued ' :  0 ,  ' items ' :  [ ] ,  ' failed ' :  [ ' does_not_exist.bz2  ' ] }   
					 
					 
					 
					    assert  not_exists_resp  ==  { ' enqueued ' :  0 ,  ' items ' :  [ ] ,  ' failed ' :  [ ' does_not_exist.zst  ' ] }   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  @with_upload_handler   
					 
					 
					 
					  @with_upload_handler   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_upload_handler ( self ,  host ) :   
					 
					 
					 
					  def  test_upload_handler ( self ,  host ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = f " { host } /qlog.bz2  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = f " { host } /qlog.zst  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    self . _wait_for_upload ( )   
					 
					 
					 
					    self . _wait_for_upload ( )   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -236,8 +241,8 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_upload_handler_retry ( self ,  mocker ,  host ,  status ,  retry ) :   
					 
					 
					 
					  def  test_upload_handler_retry ( self ,  mocker ,  host ,  status ,  retry ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    mock_put  =  mocker . patch ( ' requests.put ' )   
					 
					 
					 
					    mock_put  =  mocker . patch ( ' requests.put ' )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    mock_put . return_value . status_code  =  status   
					 
					 
					 
					    mock_put . return_value . status_code  =  status   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = f " { host } /qlog.bz2  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = f " { host } /qlog.zst  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    self . _wait_for_upload ( )   
					 
					 
					 
					    self . _wait_for_upload ( )   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -251,8 +256,8 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  @with_upload_handler   
					 
					 
					 
					  @with_upload_handler   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_upload_handler_timeout ( self ) :   
					 
					 
					 
					  def  test_upload_handler_timeout ( self ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    """ When an upload times out or fails to connect it should be placed back in the queue """   
					 
					 
					 
					    """ When an upload times out or fails to connect it should be placed back in the queue """   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = " http://localhost:44444/qlog.bz2  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = " http://localhost:44444/qlog.zst  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    item_no_retry  =  replace ( item ,  retry_count = MAX_RETRY_COUNT )   
					 
					 
					 
					    item_no_retry  =  replace ( item ,  retry_count = MAX_RETRY_COUNT )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item_no_retry )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item_no_retry )   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -272,7 +277,7 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  @with_upload_handler   
					 
					 
					 
					  @with_upload_handler   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_cancel_upload ( self ) :   
					 
					 
					 
					  def  test_cancel_upload ( self ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = " qlog.bz2  " ,  url = " http://localhost:44444/qlog.bz2  " ,  headers = { } ,   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = " qlog.zst  " ,  url = " http://localhost:44444/qlog.zst  " ,  headers = { } ,   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					                              created_at = int ( time . time ( ) * 1000 ) ,  id = ' id ' ,  allow_cellular = True )   
					 
					 
					 
					                              created_at = int ( time . time ( ) * 1000 ) ,  id = ' id ' ,  allow_cellular = True )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    dispatcher [ " cancelUpload " ] ( item . id )   
					 
					 
					 
					    dispatcher [ " cancelUpload " ] ( item . id )   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -291,8 +296,8 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    ts  =  int ( t_future . strftime ( " %s " ) )  *  1000   
					 
					 
					 
					    ts  =  int ( t_future . strftime ( " %s " ) )  *  1000   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    # Item that would time out if actually uploaded   
					 
					 
					 
					    # Item that would time out if actually uploaded   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = " http://localhost:44444/qlog.bz2  " ,  headers = { } ,  created_at = ts ,  id = ' ' ,  allow_cellular = True )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = " http://localhost:44444/qlog.zst  " ,  headers = { } ,  created_at = ts ,  id = ' ' ,  allow_cellular = True )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    self . _wait_for_upload ( )   
					 
					 
					 
					    self . _wait_for_upload ( )   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -306,8 +311,8 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  @with_upload_handler   
					 
					 
					 
					  @with_upload_handler   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_list_upload_queue_current ( self ,  host :  str ) :   
					 
					 
					 
					  def  test_list_upload_queue_current ( self ,  host :  str ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.bz2  ' )   
					 
					 
					 
					    fn  =  self . _create_file ( ' qlog.zst  ' )   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = f " { host } /qlog.bz2  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = fn ,  url = f " { host } /qlog.zst  " ,  headers = { } ,  created_at = int ( time . time ( ) * 1000 ) ,  id = ' ' ,  allow_cellular = True )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    self . _wait_for_upload ( )   
					 
					 
					 
					    self . _wait_for_upload ( )   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -317,7 +322,7 @@ class TestAthenadMethods: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    assert  items [ 0 ] [ ' current ' ]   
					 
					 
					 
					    assert  items [ 0 ] [ ' current ' ]   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  def  test_list_upload_queue ( self ) :   
					 
					 
					 
					  def  test_list_upload_queue ( self ) :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    item  =  athenad . UploadItem ( path = " qlog.bz2  " ,  url = " http://localhost:44444/qlog.bz2  " ,  headers = { } ,   
					 
					 
					 
					    item  =  athenad . UploadItem ( path = " qlog.zst  " ,  url = " http://localhost:44444/qlog.zst  " ,  headers = { } ,   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					                              created_at = int ( time . time ( ) * 1000 ) ,  id = ' id ' ,  allow_cellular = True )   
					 
					 
					 
					                              created_at = int ( time . time ( ) * 1000 ) ,  id = ' id ' ,  allow_cellular = True )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )   
					 
					 
					 
					    athenad . upload_queue . put_nowait ( item )