Ejemplo n.º 1
0
    def test_get_index(self):
        t = TorrentDef()
        t.metainfo_valid = True
        t.metainfo = {'info': {'files': [{'path': ['a.txt'], 'length': 123}]}}
        self.assertEqual(t.get_index_of_file_in_files('a.txt'), 0)
        self.assertRaises(ValueError, t.get_index_of_file_in_files, 'b.txt')
        self.assertRaises(ValueError, t.get_index_of_file_in_files, None)

        t.metainfo = {'info': {'files': [{'path': ['a.txt'], 'path.utf-8': ['b.txt'], 'length': 123}]}}
        self.assertEqual(t.get_index_of_file_in_files('b.txt'), 0)
Ejemplo n.º 2
0
    def test_is_multifile(self):
        """
        Test whether a TorrentDef is correctly classified as multifile torrent
        """
        tdef = TorrentDef()
        self.assertFalse(tdef.is_multifile_torrent())

        tdef.metainfo = {}
        self.assertFalse(tdef.is_multifile_torrent())

        tdef.metainfo = {'info': {'files': ['a']}}
        self.assertTrue(tdef.is_multifile_torrent())
Ejemplo n.º 3
0
    def test_get_index(self):
        t = TorrentDef()
        t.metainfo_valid = True
        t.metainfo = {'info': {'files': [{'path': ['a.txt'], 'length': 123}]}}
        self.assertEqual(t.get_index_of_file_in_files('a.txt'), 0)
        self.assertRaises(ValueError, t.get_index_of_file_in_files, 'b.txt')
        self.assertRaises(ValueError, t.get_index_of_file_in_files, None)

        t.metainfo = {
            'info': {
                'files': [{
                    'path': ['a.txt'],
                    'path.utf-8': ['b.txt'],
                    'length': 123
                }]
            }
        }
        self.assertEqual(t.get_index_of_file_in_files('b.txt'), 0)
Ejemplo n.º 4
0
    def test_get_nr_pieces(self):
        """
        Test getting the number of pieces from a TorrentDef
        """
        tdef = TorrentDef()
        self.assertEqual(tdef.get_nr_pieces(), 0)

        tdef.metainfo = {'info': {'pieces': 'a' * 40}}
        self.assertEqual(tdef.get_nr_pieces(), 2)
Ejemplo n.º 5
0
    def test_get_index(self):
        """
        Test whether we can successfully get the index of a file in a torrent.
        """
        t = TorrentDef()
        t.metainfo = {'info': {'files': [{'path': ['a.txt'], 'length': 123}]}}
        self.assertEqual(t.get_index_of_file_in_files('a.txt'), 0)
        self.assertRaises(ValueError, t.get_index_of_file_in_files, 'b.txt')
        self.assertRaises(ValueError, t.get_index_of_file_in_files, None)

        t.metainfo = {
            'info': {
                'files': [{
                    'path': ['a.txt'],
                    'path.utf-8': ['b.txt'],
                    'length': 123
                }]
            }
        }
        self.assertEqual(t.get_index_of_file_in_files('b.txt'), 0)