示例#1
0
def test_ratemanagement_equal(conf):

    if not os.path.exists("cache_tests/ratemanagement_test/"):
        os.makedirs("cache_tests/ratemanagement_test/")

    conf.set_base_directory("cache_tests/ratemanagement_test/equal/")
    conf.set_test_name("Ratemanagement test (equal)")
    conf.set_timeout(150)
    logging.disable(logging.DEBUG)
    logging.disable(logging.INFO)
    logging.disable(logging.WARNING)
    conf.add_file(1, "files/test1.dat")
    conf.add_file(2, "files/test2.dat")

    tracker = conf.add_tracker()

    set_peers(conf, "cache_tests/ratemanagement_test/equal/", None)

    conf.add_condition(IsSeedingCondition(2))
    conf.add_condition(IsSeedingCondition(3))
    conf.add_condition(IsSeedingCondition(4))
    conf.add_condition(IsSeedingCondition(5))
示例#2
0
def test_ratemanagement_on_demand(conf):
    
    if not os.path.exists("cache_tests/ratemanagement_test/"):
        os.makedirs("cache_tests/ratemanagement_test/")
    
    conf.set_base_directory("cache_tests/ratemanagement_test/on_demand/")
    conf.set_test_name("Ratemanagement test (on_demand)")
    conf.set_timeout(120)
    logging.disable(logging.DEBUG)
    logging.disable(logging.INFO)
    logging.disable(logging.WARNING)
    conf.add_file(1, "files/test1.dat")
    conf.add_file(2, "files/test2.dat")
    
    tracker = conf.add_tracker()
    
    set_peers(conf, "cache_tests/ratemanagement_test/on_demand/", "SisClient/Cache/Test/config/config2.cfg")
    
    conf.add_condition(IsSeedingCondition(2))
    conf.add_condition(IsSeedingCondition(3))
    conf.add_condition(IsSeedingCondition(4))
    conf.add_condition(IsSeedingCondition(5))
示例#3
0
def test_ratemanagement_equal(conf):

    if not os.path.exists("cache_tests/replacement_strategy_test/"):
        os.makedirs("cache_tests/replacement_strategy_test/")

    conf.set_base_directory("cache_tests/replacement_strategy_test/unviable/")
    conf.set_test_name("Ratemanagement test (unviable)")
    conf.set_timeout(100)
    logging.disable(logging.DEBUG)
    logging.disable(logging.INFO)
    logging.disable(logging.WARNING)
    conf.add_file(1, "files/test1.dat")
    conf.add_file(2, "files/test2.dat")
    conf.add_file(3, "files/test3.dat")

    tracker = conf.add_tracker()

    set_peers(conf, "cache_tests/replacement_strategy_test/unviable/",
              "SisClient/Cache/Test/config/config5.cfg")

    conf.add_condition(IsSeedingCondition(2))
    conf.add_condition(IsSeedingCondition(3))
    conf.add_condition(IsSeedingCondition(4))
    def testConfWithNonExistingFile(self):
        baseDirectory = "test" + os.path.normcase('/') + "user"
        file = "AFJASLDFJASDLGKFSJADFLS.sajdFASJFASLDFJASDLFSAD"
        
        conf = TestbedConfiguration(baseDirectory)
        
        # the setting of the base directory must propagate to all
        # subsequent clients and the tracker
        conf.set_test_name("Simple test")
        conf.set_timeout(20)
    
        # add the files that you want to distribute within the test environment
        # this should produce a warning!
        conf.add_file(1, file)
        conf.add_file(2, file)
        conf.add_file(3, file)
    
        # specify a tracker
        tracker = conf.add_tracker()
    
        # specify a leecher
        client1 = conf.add_client(1)
        client1.set_port(10000)
        client1.set_uprate(64)
        client1.set_downrate(64)
        client1.add_file_to_leech(1)
    
        # specify a seeder
        client2 = conf.add_client(2)
        client2.set_port(10002)
        client2.set_uprate(64)
        client2.set_downrate(64)
        client2.add_file_to_seed(1)
    
        # add some conditions the testbed shall check on
        conf.add_condition(IsLeechingCondition(1))
        conf.add_condition(IsSeedingCondition(2))

        ok, errors, warnings = TestbedConfigurationChecker.is_consistent(conf)

        self.assertFalse(ok)
        self.assertEquals(3, len(errors))
    def testCorrectConfigurationWillNotFail(self):
        baseDirectory = "test" + os.path.normcase('/') + "user"
        file = self._TMP_TEST_FILE
        
        conf = TestbedConfiguration(baseDirectory)
        
        # the setting of the base directory must propagate to all
        # subsequent clients and the tracker
        conf.set_test_name("Simple test")
        conf.set_timeout(20)
    
        # add the files that you want to distribute within the test environment
        conf.add_file(1, file)
    
        # specify a tracker
        tracker = conf.add_tracker()
    
        # specify a leecher
        client1 = conf.add_client(1)
        client1.set_port(10000)
        client1.set_uprate(64)
        client1.set_downrate(64)
        client1.add_file_to_leech(1)
    
        # specify a seeder
        client2 = conf.add_client(2)
        client2.set_port(10002)
        client2.set_uprate(64)
        client2.set_downrate(64)
        client2.add_file_to_seed(1)
    
        # add some conditions the testbed shall check on
        conf.add_condition(IsLeechingCondition(1))
        conf.add_condition(IsSeedingCondition(2))

        ok, errors, warnings = TestbedConfigurationChecker.is_consistent(conf)
        
        self.assertTrue(ok)
        self.assertEquals(0, len(errors))
    def testSimpleConfigWithTwoClients(self):
        baseDirectory = "test" + os.path.normcase('/') + "user"
        file = "paper.pdf"

        conf = TestbedConfiguration(baseDirectory)

        # the setting of the base directory must propagate to all
        # subsequent clients and the tracker
        conf.set_test_name("Simple test")
        conf.set_timeout(20)

        # add the files that you want to distribute within the test environment
        conf.add_file(1, file)

        # specify a tracker
        tracker = conf.add_tracker()

        # specify a leecher
        client1 = conf.add_client(1)
        client1.set_port(10000)
        client1.set_uprate(64)
        client1.set_downrate(64)
        client1.add_file_to_leech(1)

        # specify a seeder
        client2 = conf.add_client(2)
        client2.set_port(10002)
        client2.set_uprate(64)
        client2.set_downrate(64)
        client2.add_file_to_seed(1)

        # add some conditions the testbed shall check on
        conf.add_condition(IsLeechingCondition(1))
        conf.add_condition(IsSeedingCondition(2))

        # fetch the clients from the config
        c1 = conf.get_clients()[0]
        c2 = conf.get_clients()[1]
        cond = conf.get_conditions()

        self.assertEquals(20, conf.get_timeout())
        self.assertEquals("Simple test", conf.get_test_name())
        self.assertEquals(baseDirectory + os.path.normcase('/'),
                          conf.get_base_directory())

        self.assertEquals(baseDirectory + os.path.normcase('/'),
                          c1.get_base_directory())
        self.assertEquals(10000, c1.get_port())
        self.assertEquals(64, c1.get_uprate())
        self.assertEquals(64, c1.get_downrate())
        self.assertEquals(1, len(c1.get_leeching_list()))
        self.assertEquals(0, len(c1.get_seeding_list()))
        self.assertEquals(1, c1.get_leeching_list()[0])

        self.assertEquals(baseDirectory + os.path.normcase('/'),
                          c2.get_base_directory())
        self.assertEquals(10002, c2.get_port())
        self.assertEquals(64, c2.get_uprate())
        self.assertEquals(64, c2.get_downrate())
        self.assertEquals(0, len(c2.get_leeching_list()))
        self.assertEquals(1, len(c2.get_seeding_list()))
        self.assertEquals(1, c2.get_seeding_list()[0])

        self.assertEquals(2, len(cond))