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))
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))
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))