def test_integer_backup_id(self): size = 2 m = manifest.Manifest.blank(size) backup = m.create_backup(0) for blockno in range(size): backup[blockno] = '0000' backup = m.create_backup(1) for blockno in range(0, size, 10): backup[blockno] = '1111' backup = m.create_backup('id2') for blockno in range(0, size, 10): backup[blockno] = '2222' c = MockConnection() with temp_disk_file() as lock_file: manifest.save_manifest(m, c, 'vol1', lock_file) expected = dict(m) vol1 = m.get_backup(1) vol1_str = m.get_backup('1') vol2 = m.get_backup('id2') m = manifest.load_manifest(c, 'vol1', lock_file) self.assertEquals(m, expected) self.assertEquals(m.get_backup(1), vol1) self.assertEquals(m.get_backup('1'), vol1_str) self.assertEquals(vol1, vol1_str) self.assertEquals(m.get_backup('id2'), vol2)
def test_load_default_salt(self): m = manifest.Manifest.blank(1) c = MockConnection() salt = 'salty!' stuff = {0: [], 'backups': {}, 'version': '1.0'} c.put_object('vol1', 'manifest', json.dumps(stuff)) with temp_disk_file() as lock_file: m = manifest.load_manifest(c, 'vol1', lock_file) self.assertEquals(m.salt, '')
def test_load_default_salt(self): m = manifest.Manifest.blank(1) c = MockConnection() salt = 'salty!' stuff = { 0: [], 'backups': {}, 'version': '1.0' } c.put_object('vol1', 'manifest', json.dumps(stuff)) with temp_disk_file() as lock_file: m = manifest.load_manifest(c, 'vol1', lock_file) self.assertEquals(m.salt, '')
def test_basic_store(self): size = 2 m = manifest.Manifest.blank(size) backup = m.create_backup('id0') for blockno in range(size): backup[blockno] = '0000' backup = m.create_backup('id1') for blockno in range(0, size, 10): backup[blockno] = '1111' c = MockConnection() with temp_disk_file() as lock_file: manifest.save_manifest(m, c, 'vol1', lock_file) expected = dict(m) vol1 = m.get_backup('id1') m = manifest.load_manifest(c, 'vol1', lock_file) self.assertEquals(m, expected) self.assertEquals(m.get_backup('id1'), vol1) self.assertEquals(m.version, self.VERSION)