示例#1
0
    def test_calc_sums(self):
        expected = dict(calc_sums=dict(
            status='ok', saveset=self.saveset, size=780, processed=780))

        shutil.copytree(self.testdata_path,
                        os.path.join(self.volume_path, self.testhost))
        obj = Actions(self.cli, db_engine=self.engine, db_session=self.session)
        obj.inject(self.testhost, self.volume, self.volume_path,
                   self.saveset_id)
        ret = obj.calc_sums(self.saveset_id)
        self.assertEqual(ret, expected)

        count = 0
        with open(
                os.path.join(self.volume_path, self.testhost,
                             Constants.OPTS_DEFAULTS['manifest']),
                'r') as mfile:
            headers = mfile.readline()
            self.assertEqual(headers, 'file_id,type,file_size,has_checksum\n')
            for line in mfile:
                file_id, file_type, file_size, has_sum = line.split(',')
                file = self.session.query(File).filter_by(id=file_id).one()
                if file_type != 'f':
                    continue
                print('filename=%s, file_id=%s' % (file.filename, file_id))
                self.assertEqual(file.shasum,
                                 binascii.unhexlify(file.filename[9:41]))
                count += 1
        self.assertEqual(count, 15)
示例#2
0
    def test_verify(self):
        expected = dict(verify=dict(status='ok',
                                    results=[
                                        dict(saveset=self.saveset,
                                             count=15,
                                             errors=0,
                                             missing=0,
                                             skipped=0)
                                    ]))

        shutil.copytree(self.testdata_path,
                        os.path.join(self.volume_path, self.testhost))
        obj = Actions(self.cli, db_engine=self.engine, db_session=self.session)
        obj.inject(self.testhost, self.volume, self.volume_path,
                   self.saveset_id)
        ret = obj.calc_sums(self.saveset_id)
        ret = obj.verify([self.saveset])
        self.assertEqual(ret, expected)