def subtest_add_content_dir(self,merkle=True): """ Add a single dir to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) dn = os.path.join(os.getcwd(),"contentdir") t.add_content(dn,"dirintorrent") t.set_tracker(TRACKER) t.finalize() exps = 0L for f in os.listdir("contentdir"): if f.startswith('.'): continue p = os.path.join("contentdir",f) s = os.path.getsize(p) exps += s print "test: expected size",f,s print "test: expected total size of files in torrent",exps metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == 'dirintorrent') reals = 0L for file in metainfo['info']['files']: s = file['length'] print "test: real size",file['path'],s reals += s print "test: real size of files in torrent",reals self.assert_(exps == reals)
def subtest_add_content_dir(self, merkle=True): """ Add a single dir to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) dn = os.path.join(os.getcwd(), "contentdir") t.add_content(dn, "dirintorrent") t.set_tracker(TRACKER) t.finalize() exps = 0L for f in os.listdir("contentdir"): if f.startswith('.'): continue p = os.path.join("contentdir", f) s = os.path.getsize(p) exps += s print "test: expected size", f, s print "test: expected total size of files in torrent", exps metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == 'dirintorrent') reals = 0L for file in metainfo['info']['files']: s = file['length'] print "test: real size", file['path'], s reals += s print "test: real size of files in torrent", reals self.assert_(exps == reals)
def subtest_add_content_dir_playtime(self,merkle=True): """ Add a single dir to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn1 = os.path.join(os.getcwd(),"contentdir","file.avi") fn2 = os.path.join(os.getcwd(),"contentdir","file.txt") t.add_content(fn1,os.path.join("dirintorrent","file.avi"),playtime=PLAYTIME) t.add_content(fn2,os.path.join("dirintorrent","file.txt")) t.set_tracker(TRACKER) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == 'dirintorrent') s = os.path.getsize(fn1) files = metainfo['info']['files'] for file in files: if file['path'][0] == "file.avi": self.assert_(file['playtime']==PLAYTIME) azprop = metainfo['azureus_properties'] content = azprop['Content'] realspeedbps = content['Speed Bps'] expspeedbps = s/PLAYTIME_SECS self.assert_(realspeedbps == expspeedbps)
def subtest_add_content_dir_playtime(self, merkle=True): """ Add a single dir to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn1 = os.path.join(os.getcwd(), "contentdir", "file.avi") fn2 = os.path.join(os.getcwd(), "contentdir", "file.txt") t.add_content(fn1, os.path.join("dirintorrent", "file.avi"), playtime=PLAYTIME) t.add_content(fn2, os.path.join("dirintorrent", "file.txt")) t.set_tracker(TRACKER) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == 'dirintorrent') s = os.path.getsize(fn1) files = metainfo['info']['files'] for file in files: if file['path'][0] == "file.avi": self.assert_(file['playtime'] == PLAYTIME) azprop = metainfo['azureus_properties'] content = azprop['Content'] realspeedbps = content['Speed Bps'] expspeedbps = s / PLAYTIME_SECS self.assert_(realspeedbps == expspeedbps)
def subtest_add_content_dir_and_file(self,merkle=True): """ Add a single dir and single file to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) dn = os.path.join(os.getcwd(),"contentdir") t.add_content(dn,"dirintorrent") fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn,os.path.join("dirintorrent","file.wmv")) t.set_tracker(TRACKER) t.finalize() # Check exps = os.path.getsize(fn) for f in os.listdir("contentdir"): if f.startswith('.'): continue p = os.path.join("contentdir",f) exps += os.path.getsize(p) metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == 'dirintorrent') reals = 0L for file in metainfo['info']['files']: reals += file['length'] self.assert_(exps == reals)
def subtest_add_content_dir_and_file(self, merkle=True): """ Add a single dir and single file to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) dn = os.path.join(os.getcwd(), "contentdir") t.add_content(dn, "dirintorrent") fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn, os.path.join("dirintorrent", "file.wmv")) t.set_tracker(TRACKER) t.finalize() # Check exps = os.path.getsize(fn) for f in os.listdir("contentdir"): if f.startswith('.'): continue p = os.path.join("contentdir", f) exps += os.path.getsize(p) metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == 'dirintorrent') reals = 0L for file in metainfo['info']['files']: reals += file['length'] self.assert_(exps == reals)
def subtest_add_content_piece_length(self, merkle=True): """ Add a single file with piece length to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn) t.set_piece_length(2**16) t.set_tracker(TRACKER) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['piece length'] == 2**16)
def subtest_add_content_piece_length(self,merkle=True): """ Add a single file with piece length to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn) t.set_piece_length(2 ** 16) t.set_tracker(TRACKER) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['piece length'] == 2 ** 16)
def subtest_add_content_httpseeds(self,merkle=True): """ Add a single file with BitTornado httpseeds to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn) t.set_tracker(TRACKER) expseeds = ['http://www.cs.vu.nl/index.html','http://www.st.ewi.tudelft.nl/index.html'] t.set_httpseeds(expseeds) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) realseeds = metainfo['httpseeds'] self.assert_(realseeds == expseeds)
def test_ns_metadata(self): dummydata = "HalloWereld" t = TorrentDef() t.set_metadata(dummydata) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn) t.set_tracker(TRACKER) t.finalize() [handle, filename] = tempfile.mkstemp() os.close(handle) t.save(filename) t2 = TorrentDef.load(filename) self.assert_(t2.get_metadata() == dummydata)
def subtest_add_content_torrentsig(self,merkle=True): """ Add a single file to a TorrentDef and sign it """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") kpfn = os.path.join(os.getcwd(),"ec.pem") t.add_content(fn) t.set_signature_keypair_filename(kpfn) t.set_tracker(TRACKER) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) ret = verify_torrent_signature(metainfo) self.assert_(ret == True)
def subtest_add_content_torrentsig(self, merkle=True): """ Add a single file to a TorrentDef and sign it """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") kpfn = os.path.join(os.getcwd(), "ec.pem") t.add_content(fn) t.set_signature_keypair_filename(kpfn) t.set_tracker(TRACKER) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) ret = verify_torrent_signature(metainfo) self.assert_(ret == True)
def test_ns_metadata(self): dummydata = "HalloWereld" t = TorrentDef() t.set_metadata(dummydata) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn) t.set_tracker(TRACKER) t.finalize() [handle,filename] = tempfile.mkstemp() os.close(handle) t.save(filename) t2 = TorrentDef.load(filename) self.assert_(t2.get_metadata() == dummydata)
def subtest_add_content_announce_list(self,merkle=True): """ Add a single file with announce-list to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn) t.set_tracker(TRACKER) exphier = [[TRACKER],['http://tracker1.tribler.org:6969/announce','http://tracker2.tribler.org:7070/ann'],['http://www.cs.vu.nl','http://www.st.ewi.tudelft.nl','http://www.vuze.com']] t.set_tracker_hierarchy(exphier) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) realhier = metainfo['announce-list'] self.assert_(realhier == exphier)
def subtest_add_content_file(self, merkle=True): """ Add a single file to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn) t.set_tracker(TRACKER) t.finalize() s = os.path.getsize("file.wmv") metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == "file.wmv") self.assert_(metainfo['info']['length'] == s) """
def subtest_add_content_httpseeds(self, merkle=True): """ Add a single file with BitTornado httpseeds to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn) t.set_tracker(TRACKER) expseeds = [ 'http://www.cs.vu.nl/index.html', 'http://www.st.ewi.tudelft.nl/index.html' ] t.set_httpseeds(expseeds) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) realseeds = metainfo['httpseeds'] self.assert_(realseeds == expseeds)
def subtest_add_content_file(self,merkle=True): """ Add a single file to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn) t.set_tracker(TRACKER) t.finalize() s = os.path.getsize("file.wmv") metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['name'] == "file.wmv") self.assert_(metainfo['info']['length'] == s) """
def subtest_add_content_file_playtime(self,merkle=True): """ Add a single file with playtime to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn,playtime=PLAYTIME) t.set_tracker(TRACKER) t.finalize() s = os.path.getsize("file.wmv") metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['playtime']==PLAYTIME) azprop = metainfo['azureus_properties'] content = azprop['Content'] realspeedbps = content['Speed Bps'] expspeedbps = s/PLAYTIME_SECS self.assert_(realspeedbps == expspeedbps)
def subtest_add_content_file_playtime(self, merkle=True): """ Add a single file with playtime to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn, playtime=PLAYTIME) t.set_tracker(TRACKER) t.finalize() s = os.path.getsize("file.wmv") metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo['info']['playtime'] == PLAYTIME) azprop = metainfo['azureus_properties'] content = azprop['Content'] realspeedbps = content['Speed Bps'] expspeedbps = s / PLAYTIME_SECS self.assert_(realspeedbps == expspeedbps)
def subtest_add_content_file_thumbnail(self, merkle=True): """ Add a single file with thumbnail to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") thumbfn = os.path.join(os.getcwd(), "thumb.jpg") t.add_content(fn) t.set_thumbnail(thumbfn) t.set_tracker(TRACKER) t.finalize() f = open(thumbfn, "rb") expthumb = f.read() f.close() metainfo = t.get_metainfo() self.general_check(metainfo) azprop = metainfo['azureus_properties'] content = azprop['Content'] realthumb = content['Thumbnail'] self.assert_(realthumb == expthumb)
def subtest_add_content_file_save(self,merkle=True): """ Add a single file to a TorrentDef and save the latter""" t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") t.add_content(fn) t.set_tracker(TRACKER) t.finalize() tfn = os.path.join(os.getcwd(),"gen.torrent") t.save(tfn) f = open(tfn,"rb") bdata = f.read() f.close() os.remove(tfn) data = bdecode(bdata) metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo == data)
def subtest_add_content_file_save(self, merkle=True): """ Add a single file to a TorrentDef and save the latter""" t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn) t.set_tracker(TRACKER) t.finalize() tfn = os.path.join(os.getcwd(), "gen.torrent") t.save(tfn) f = open(tfn, "rb") bdata = f.read() f.close() os.remove(tfn) data = bdecode(bdata) metainfo = t.get_metainfo() self.general_check(metainfo) self.assert_(metainfo == data)
def subtest_add_content_file_thumbnail(self,merkle=True): """ Add a single file with thumbnail to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(),"file.wmv") thumbfn = os.path.join(os.getcwd(),"thumb.jpg") t.add_content(fn) t.set_thumbnail(thumbfn) t.set_tracker(TRACKER) t.finalize() f = open(thumbfn,"rb") expthumb = f.read() f.close() metainfo = t.get_metainfo() self.general_check(metainfo) azprop = metainfo['azureus_properties'] content = azprop['Content'] realthumb = content['Thumbnail'] self.assert_(realthumb == expthumb)
def subtest_add_content_announce_list(self, merkle=True): """ Add a single file with announce-list to a TorrentDef """ t = TorrentDef() t.set_create_merkle_torrent(merkle) fn = os.path.join(os.getcwd(), "file.wmv") t.add_content(fn) t.set_tracker(TRACKER) exphier = [[TRACKER], [ 'http://tracker1.tribler.org:6969/announce', 'http://tracker2.tribler.org:7070/ann' ], [ 'http://www.cs.vu.nl', 'http://www.st.ewi.tudelft.nl', 'http://www.vuze.com' ]] t.set_tracker_hierarchy(exphier) t.finalize() metainfo = t.get_metainfo() self.general_check(metainfo) realhier = metainfo['announce-list'] self.assert_(realhier == exphier)