コード例 #1
0
ファイル: test_manifest.py プロジェクト: leowa/duplicity
    def test_corrupt_filelist(self):
        vi1 = manifest.VolumeInfo()
        vi1.set_info(3, (b"hello", ), None, (), None)
        vi2 = manifest.VolumeInfo()
        vi2.set_info(4, (b"goodbye", b"there"), None, (b"aoeusht", ), None)
        vi3 = manifest.VolumeInfo()
        vi3.set_info(34, (), None, (), None)
        m = manifest.Manifest()
        for vi in [vi1, vi2, vi3]:
            m.add_volume_info(vi)

        self.set_config(u'local_path', path.Path(u"Foobar"))
        m.set_dirinfo()
        m.set_files_changed_info([
            (b'one', b'new'),
            (b'two', b'changed'),
            (b'three', b'new'),
        ])

        # build manifest string
        s = m.to_string()

        # make filecount higher than files in list
        s2 = re.sub(b'Filelist 3', b'Filelist 5', s)
        m2 = manifest.Manifest().from_string(s2)
        assert hasattr(m2, u'corrupt_filelist')
コード例 #2
0
ファイル: test_manifest.py プロジェクト: mjuric/duplicity
 def test_basic(self):
     """Basic VolumeInfoTest"""
     vi = manifest.VolumeInfo()
     vi.set_info(3, ("hello", "there"), None, (), None)
     vi.set_hash("MD5", "aoseutaohe")
     s = vi.to_string()
     assert isinstance(s, types.StringType)
     # print "---------\n%s\n---------" % s
     vi2 = manifest.VolumeInfo()
     vi2.from_string(s)
     assert vi == vi2
コード例 #3
0
ファイル: test_manifest.py プロジェクト: leowa/duplicity
 def test_basic(self):
     u"""Basic VolumeInfoTest"""
     vi = manifest.VolumeInfo()
     vi.set_info(3, (b"hello", b"there"), None, (), None)
     vi.set_hash(u"MD5", u"aoseutaohe")
     s = vi.to_string()
     assert isinstance(s, (b"".__class__, u"".__class__))
     # print "---------\n%s\n---------" % s
     vi2 = manifest.VolumeInfo()
     vi2.from_string(s)
     assert vi == vi2
コード例 #4
0
ファイル: test_manifest.py プロジェクト: mjuric/duplicity
 def test_special(self):
     """Test VolumeInfo with special characters"""
     vi = manifest.VolumeInfo()
     vi.set_info(3234, (
         "\n eu \x233", "heuo",
         '\xd8\xab\xb1Wb\xae\xc5]\x8a\xbb\x15v*\xf4\x0f!\xf9>\xe2Y\x86\xbb\xab\xdbp\xb0\x84\x13k\x1d\xc2\xf1\xf5e\xa5U\x82\x9aUV\xa0\xf4\xdf4\xba\xfdX\x03\x82\x07s\xce\x9e\x8b\xb34\x04\x9f\x17 \xf4\x8f\xa6\xfa\x97\xab\xd8\xac\xda\x85\xdcKvC\xfa#\x94\x92\x9e\xc9\xb7\xc3_\x0f\x84g\x9aB\x11<=^\xdbM\x13\x96c\x8b\xa7|*"\\\'^$@#!(){}?+ ~` '
     ), None, ("\n", ), None)
     s = vi.to_string()
     assert isinstance(s, types.StringType)
     # print "---------\n%s\n---------" % s
     vi2 = manifest.VolumeInfo()
     vi2.from_string(s)
     assert vi == vi2
コード例 #5
0
ファイル: test_manifest.py プロジェクト: mjuric/duplicity
    def test_contains(self):
        """Test to see if contains() works"""
        vi = manifest.VolumeInfo()
        vi.set_info(1, ("1", "2"), None, ("1", "3"), None)
        assert vi.contains(("1", ), recursive=1)
        assert not vi.contains(("1", ), recursive=0)

        vi2 = manifest.VolumeInfo()
        vi2.set_info(1, ("A", ), None, ("Z", ), None)
        assert vi2.contains(("M", ), recursive=1)
        assert vi2.contains(("M", ), recursive=0)

        vi3 = manifest.VolumeInfo()
        vi3.set_info(1, ("A", ), None, ("Z", ), None)
        assert not vi3.contains(("3", ), recursive=1)
        assert not vi3.contains(("3", ), recursive=0)
コード例 #6
0
ファイル: test_manifest.py プロジェクト: mjuric/duplicity
    def test_basic(self):
        vi1 = manifest.VolumeInfo()
        vi1.set_info(3, ("hello", ), None, (), None)
        vi2 = manifest.VolumeInfo()
        vi2.set_info(4, ("goodbye", "there"), None, ("aoeusht", ), None)
        vi3 = manifest.VolumeInfo()
        vi3.set_info(34, (), None, (), None)
        m = manifest.Manifest()
        for vi in [vi1, vi2, vi3]:
            m.add_volume_info(vi)

        self.set_global('local_path', path.Path("Foobar"))
        m.set_dirinfo()

        s = m.to_string()
        assert s.lower().startswith("hostname")
        assert s.endswith("\n")

        m2 = manifest.Manifest().from_string(s)
        assert m == m2