コード例 #1
0
ファイル: test_repozo.py プロジェクト: fucknoob/WebSemantic
 def test_empty(self):
     import struct
     from ZODB.scripts.repozo import gen_filename
     from ZODB.fsIndex import fsIndex
     db = self._makeDB()
     options = self._makeOptions(
         file=db._file_name,
         gzip=False,
         killold=False,
         test_now=(2010, 5, 14, 10, 51, 22),
     )
     self._callFUT(options)
     target = os.path.join(self._repository_directory,
                           gen_filename(options))
     original = open(db._file_name, 'rb').read()
     self.assertEqual(open(target, 'rb').read(), original)
     datfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.dat'))
     self.assertEqual(
         open(datfile).read(), '%s 0 %d %s\n' %
         (target, len(original), md5(original).hexdigest()))
     ndxfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.index'))
     ndx_info = fsIndex.load(ndxfile)
     self.assertEqual(ndx_info['pos'], len(original))
     index = ndx_info['index']
     pZero = struct.pack(">Q", 0)
     pOne = struct.pack(">Q", 1)
     self.assertEqual(index.minKey(), pZero)
     self.assertEqual(index.maxKey(), pOne)
コード例 #2
0
ファイル: test_repozo.py プロジェクト: vpelletier/ZODB
 def test_empty(self):
     import struct
     from ZODB.scripts.repozo import gen_filename
     from ZODB.fsIndex import fsIndex
     db = self._makeDB()
     options = self._makeOptions(file=db._file_name,
                                 gzip=False,
                                 killold=False,
                                 test_now = (2010, 5, 14, 10, 51, 22),
                                )
     self._callFUT(options)
     target = os.path.join(self._repository_directory,
                           gen_filename(options))
     original = _read_file(db._file_name)
     self.assertEqual(_read_file(target), original)
     datfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.dat'))
     self.assertEqual(_read_file(datfile, mode='r'), #XXX 'rb'?
                      '%s 0 %d %s\n' %
                         (target, len(original), md5(original).hexdigest()))
     ndxfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.index'))
     ndx_info = fsIndex.load(ndxfile)
     self.assertEqual(ndx_info['pos'], len(original))
     index = ndx_info['index']
     pZero = struct.pack(">Q", 0)
     pOne = struct.pack(">Q", 1)
     self.assertEqual(index.minKey(), pZero)
     self.assertEqual(index.maxKey(), pOne)
コード例 #3
0
ファイル: test_repozo.py プロジェクト: fucknoob/WebSemantic
 def test_w_changes(self):
     import struct
     from ZODB.scripts.repozo import gen_filename
     from ZODB.fsIndex import fsIndex
     db = self._makeDB()
     oldpos = db.pos
     options = self._makeOptions(
         file=db._file_name,
         gzip=False,
         killold=False,
         test_now=(2010, 5, 14, 10, 51, 22),
         date=None,
     )
     fullfile = os.path.join(self._repository_directory,
                             '2010-05-14-00-00-00.fs')
     original = open(db._file_name, 'rb').read()
     f = open(fullfile, 'wb')
     f.write(original)
     f.flush()
     f.close()
     datfile = os.path.join(self._repository_directory,
                            '2010-05-14-00-00-00.dat')
     repofiles = [fullfile, datfile]
     db.mutate()
     newpos = db.pos
     self._callFUT(options, oldpos, repofiles)
     target = os.path.join(self._repository_directory,
                           gen_filename(options))
     f = open(db._file_name, 'rb')
     f.seek(oldpos)
     increment = f.read()
     self.assertEqual(open(target, 'rb').read(), increment)
     self.assertEqual(
         open(datfile).read(), '%s %d %d %s\n' %
         (target, oldpos, newpos, md5(increment).hexdigest()))
     ndxfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.index'))
     ndx_info = fsIndex.load(ndxfile)
     self.assertEqual(ndx_info['pos'], newpos)
     index = ndx_info['index']
     pZero = struct.pack(">Q", 0)
     self.assertEqual(index.minKey(), pZero)
     self.assertEqual(index.maxKey(), db.maxkey)
コード例 #4
0
 def test_w_changes(self):
     import struct
     from ZODB.scripts.repozo import gen_filename
     from ZODB.fsIndex import fsIndex
     db = self._makeDB()
     oldpos = db.pos
     options = self._makeOptions(file=db._file_name,
                                 gzip=False,
                                 killold=False,
                                 test_now = (2010, 5, 14, 10, 51, 22),
                                 date = None,
                                )
     fullfile = os.path.join(self._repository_directory,
                             '2010-05-14-00-00-00.fs')
     original = open(db._file_name, 'rb').read()
     f = open(fullfile, 'wb')
     f.write(original)
     f.flush()
     f.close()
     datfile = os.path.join(self._repository_directory,
                             '2010-05-14-00-00-00.dat')
     repofiles = [fullfile, datfile]
     db.mutate()
     newpos = db.pos
     self._callFUT(options, oldpos, repofiles)
     target = os.path.join(self._repository_directory,
                           gen_filename(options))
     f = open(db._file_name, 'rb')
     f.seek(oldpos)
     increment = f.read()
     self.assertEqual(open(target, 'rb').read(), increment)
     self.assertEqual(open(datfile).read(),
                      '%s %d %d %s\n' %
                         (target, oldpos, newpos,
                          md5(increment).hexdigest()))
     ndxfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.index'))
     ndx_info = fsIndex.load(ndxfile)
     self.assertEqual(ndx_info['pos'], newpos)
     index = ndx_info['index']
     pZero = struct.pack(">Q", 0)
     self.assertEqual(index.minKey(), pZero)
     self.assertEqual(index.maxKey(), db.maxkey)
コード例 #5
0
ファイル: test_repozo.py プロジェクト: vpelletier/ZODB
 def test_dont_overwrite_existing_file(self):
     from ZODB.scripts.repozo import WouldOverwriteFiles
     from ZODB.scripts.repozo import gen_filename
     db = self._makeDB()
     options = self._makeOptions(full=True,
                                 file=db._file_name,
                                 gzip=False,
                                 test_now = (2010, 5, 14, 10, 51, 22),
                                )
     fqn = os.path.join(self._repository_directory, gen_filename(options))
     _write_file(fqn, b'TESTING')
     self.assertRaises(WouldOverwriteFiles, self._callFUT, options)
コード例 #6
0
 def test_dont_overwrite_existing_file(self):
     from ZODB.scripts.repozo import WouldOverwriteFiles
     from ZODB.scripts.repozo import gen_filename
     db = self._makeDB()
     options = self._makeOptions(
         full=True,
         file=db._file_name,
         gzip=False,
         test_now=(2010, 5, 14, 10, 51, 22),
     )
     fqn = os.path.join(self._repository_directory, gen_filename(options))
     _write_file(fqn, b'TESTING')
     self.assertRaises(WouldOverwriteFiles, self._callFUT, options)
コード例 #7
0
 def test_no_changes(self):
     import struct
     from ZODB.scripts.repozo import gen_filename
     from ZODB.fsIndex import fsIndex
     db = self._makeDB()
     oldpos = db.pos
     options = self._makeOptions(
         file=db._file_name,
         gzip=False,
         killold=False,
         test_now=(2010, 5, 14, 10, 51, 22),
         date=None,
     )
     fullfile = os.path.join(self._repository_directory,
                             '2010-05-14-00-00-00.fs')
     original = _read_file(db._file_name)
     last = len(original)
     _write_file(fullfile, original)
     datfile = os.path.join(self._repository_directory,
                            '2010-05-14-00-00-00.dat')
     repofiles = [fullfile, datfile]
     self._callFUT(options, oldpos, repofiles)
     target = os.path.join(self._repository_directory,
                           gen_filename(options))
     self.assertEqual(_read_file(target), b'')
     self.assertEqual(
         _read_file(datfile, mode='r'),  #XXX mode='rb'?
         '%s %d %d %s\n' % (target, oldpos, oldpos, md5(b'').hexdigest()))
     ndxfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.index'))
     ndx_info = fsIndex.load(ndxfile)
     self.assertEqual(ndx_info['pos'], oldpos)
     index = ndx_info['index']
     pZero = struct.pack(">Q", 0)
     pOne = struct.pack(">Q", 1)
     self.assertEqual(index.minKey(), pZero)
     self.assertEqual(index.maxKey(), pOne)
コード例 #8
0
ファイル: test_repozo.py プロジェクト: vpelletier/ZODB
 def test_no_changes(self):
     import struct
     from ZODB.scripts.repozo import gen_filename
     from ZODB.fsIndex import fsIndex
     db = self._makeDB()
     oldpos = db.pos
     options = self._makeOptions(file=db._file_name,
                                 gzip=False,
                                 killold=False,
                                 test_now = (2010, 5, 14, 10, 51, 22),
                                 date = None,
                                )
     fullfile = os.path.join(self._repository_directory,
                             '2010-05-14-00-00-00.fs')
     original = _read_file(db._file_name)
     last = len(original)
     _write_file(fullfile, original)
     datfile = os.path.join(self._repository_directory,
                             '2010-05-14-00-00-00.dat')
     repofiles = [fullfile, datfile]
     self._callFUT(options, oldpos, repofiles)
     target = os.path.join(self._repository_directory,
                           gen_filename(options))
     self.assertEqual(_read_file(target), b'')
     self.assertEqual(_read_file(datfile, mode='r'), #XXX mode='rb'?
                      '%s %d %d %s\n' %
                         (target, oldpos, oldpos, md5(b'').hexdigest()))
     ndxfile = os.path.join(self._repository_directory,
                            gen_filename(options, '.index'))
     ndx_info = fsIndex.load(ndxfile)
     self.assertEqual(ndx_info['pos'], oldpos)
     index = ndx_info['index']
     pZero = struct.pack(">Q", 0)
     pOne = struct.pack(">Q", 1)
     self.assertEqual(index.minKey(), pZero)
     self.assertEqual(index.maxKey(), pOne)
コード例 #9
0
 def test_dont_overwrite_existing_file(self):
     from ZODB.scripts.repozo import WouldOverwriteFiles
     from ZODB.scripts.repozo import gen_filename
     from ZODB.scripts.repozo import find_files
     db = self._makeDB()
     options = self._makeOptions(full=False,
                                 file=db._file_name,
                                 gzip=False,
                                 test_now = (2010, 5, 14, 10, 51, 22),
                                 date = None,
                                )
     f = open(os.path.join(self._repository_directory,
                           gen_filename(options)), 'w')
     f.write('TESTING')
     f.flush()
     f.close()
     repofiles = find_files(options)
     self.assertRaises(WouldOverwriteFiles,
                       self._callFUT, options, 0, repofiles)
コード例 #10
0
ファイル: test_repozo.py プロジェクト: fucknoob/WebSemantic
 def test_dont_overwrite_existing_file(self):
     from ZODB.scripts.repozo import WouldOverwriteFiles
     from ZODB.scripts.repozo import gen_filename
     from ZODB.scripts.repozo import find_files
     db = self._makeDB()
     options = self._makeOptions(
         full=False,
         file=db._file_name,
         gzip=False,
         test_now=(2010, 5, 14, 10, 51, 22),
         date=None,
     )
     f = open(
         os.path.join(self._repository_directory, gen_filename(options)),
         'w')
     f.write('TESTING')
     f.flush()
     f.close()
     repofiles = find_files(options)
     self.assertRaises(WouldOverwriteFiles, self._callFUT, options, 0,
                       repofiles)
コード例 #11
0
ファイル: test_repozo.py プロジェクト: fucknoob/WebSemantic
 def _callFUT(self, options, ext=_marker):
     from ZODB.scripts.repozo import gen_filename
     if ext is _marker:
         return gen_filename(options)
     return gen_filename(options, ext)
コード例 #12
0
ファイル: test_repozo.py プロジェクト: vpelletier/ZODB
 def _callFUT(self, options, ext=_marker):
     from ZODB.scripts.repozo import gen_filename
     if ext is _marker:
         return gen_filename(options)
     return gen_filename(options, ext)