Exemplo n.º 1
0
    def test_tranfer_data_to_rbd(self):
        service = CephBackupDriver(self.ctxt)

        with tempfile.NamedTemporaryFile() as test_file:
            checksum = hashlib.sha256()

            def write_data(inst, data, offset):
                checksum.update(data)
                test_file.write(data)

            self.stubs.Set(service.rbd.Image, 'write', write_data)

            service._transfer_data(self.volume_file, service.rbd.Image(),
                                   'foo', self.length, dest_is_rbd=True)

            # Ensure the files are equal
            self.assertEquals(checksum.digest(), self.checksum.digest())
Exemplo n.º 2
0
    def test_tranfer_data_from_rbd(self):
        service = CephBackupDriver(self.ctxt)

        with tempfile.NamedTemporaryFile() as test_file:
            self.volume_file.seek(0)

            def read_data(inst, offset, length):
                return self.volume_file.read(self.length)

            self.stubs.Set(service.rbd.Image, 'read', read_data)

            service._transfer_data(service.rbd.Image(), test_file, 'foo',
                                   self.length)

            checksum = hashlib.sha256()
            test_file.seek(0)
            for c in xrange(0, self.num_chunks):
                checksum.update(test_file.read(self.chunk_size))

            # Ensure the files are equal
            self.assertEquals(checksum.digest(), self.checksum.digest())