Пример #1
0
  def test_02_Strategies( self ):
    """ test strategies """
    sHandler = StrategyHandler( self.configPath, self.bands, self.channels, self.failedFiles ) 

    tree = sHandler.minimiseTotalWait( [ 'CERN-DST' ], ['RAL-HEP-DST'] )
    print tree

    ## simple - wrong args
    tree = sHandler.simple( ["CERN-USER", "PIC-USER"], ["CNAF-USER"] )
    self.assertEqual( tree["OK"], False )
    self.assertEqual( tree["Message"], "simple: wrong argument supplied for sourceSEs, only one sourceSE allowed" )

    ## simple - no channel defined 
    tree = sHandler.simple( [ "CERN-USER" ], ["FOO-USER"] )
    self.assertEqual( tree["OK"], False )
    self.assertEqual( tree["Message"], "FTSGraph: unable to find FTS channel between 'CERN-USER' and 'FOO-USER'" ) 

    ## simple -  channel used twice
    tree = sHandler.simple( ["CERN-USER"], [ "CNAF-DST", "CNAF-USER" ] )
    self.assertEqual( tree["OK"], False )
    self.assertEqual( tree["Message"], "simple: unable to create replication tree, channel 'CERN-CNAF' can't be used twice")

    ## simple - OK
    tree = sHandler.simple( ["CERN-USER"], ["PIC-USER" ] )
    self.assertEqual( tree["OK"], True )
    self.assertEqual( tree["Value"], {6L: {'Ancestor': False, 'Strategy': 'Simple', 'DestSE': 'PIC-USER', 'SourceSE': 'CERN-USER'}} )