Index: third_party/twisted_8_1/twisted/test/test_journal.py |
diff --git a/third_party/twisted_8_1/twisted/test/test_journal.py b/third_party/twisted_8_1/twisted/test/test_journal.py |
deleted file mode 100644 |
index 20dc8a1c67b9ecc070bd304c7d6e5152cfc2b02b..0000000000000000000000000000000000000000 |
--- a/third_party/twisted_8_1/twisted/test/test_journal.py |
+++ /dev/null |
@@ -1,169 +0,0 @@ |
-# Copyright (c) 2001-2004 Twisted Matrix Laboratories. |
-# See LICENSE for details. |
- |
- |
-"""Testing for twisted.persisted.journal.""" |
- |
-from twisted.trial import unittest |
-from twisted.persisted.journal.base import ICommand, MemoryJournal, serviceCommand, ServiceWrapperCommand, command, Wrappable |
-from twisted.persisted.journal.picklelog import DirDBMLog |
-from zope.interface import implements |
- |
-import shutil, os.path |
- |
- |
- |
-class AddTime: |
- |
- implements(ICommand) |
- |
- def execute(self, svc, cmdtime): |
- svc.values["time"] = cmdtime |
- |
- |
-class Counter(Wrappable): |
- |
- objectType = "counter" |
- |
- def __init__(self, uid): |
- self.uid = uid |
- self.x = 0 |
- |
- def getUid(self): |
- return self.uid |
- |
- def _increment(self): |
- self.x += 1 |
- |
- increment = command("_increment") |
- |
- |
-class Service: |
- |
- def __init__(self, logpath, journalpath): |
- log = DirDBMLog(logpath) |
- self.journal = MemoryJournal(log, self, journalpath, self._gotData) |
- self.journal.updateFromLog() |
- |
- def _gotData(self, result): |
- if result is None: |
- self.values = {} |
- self.counters = {} |
- else: |
- self.values, self.counters = result |
- |
- def _makeCounter(self, id): |
- c = Counter(id) |
- self.counters[id] = c |
- return c |
- |
- makeCounter = serviceCommand("_makeCounter") |
- |
- def loadObject(self, type, id): |
- if type != "counter": raise ValueError |
- return self.counters[id] |
- |
- def _add(self, key, value): |
- """Add a new entry.""" |
- self.values[key] = value |
- |
- def _delete(self, key): |
- """Delete an entry.""" |
- del self.values[key] |
- |
- def get(self, key): |
- """Return value of an entry.""" |
- return self.values[key] |
- |
- def addtime(self, journal): |
- """Set a key 'time' with the current time.""" |
- journal.executeCommand(AddTime()) |
- |
- # and now the command wrappers |
- |
- add = serviceCommand("_add") |
- |
- delete = serviceCommand("_delete") |
- |
- |
-class JournalTestCase(unittest.TestCase): |
- |
- def setUp(self): |
- self.logpath = self.mktemp() |
- self.journalpath = self.mktemp() |
- self.svc = Service(self.logpath, self.journalpath) |
- |
- def tearDown(self): |
- if hasattr(self, "svc"): |
- del self.svc |
- # delete stuff? ... |
- if os.path.isdir(self.logpath): |
- shutil.rmtree(self.logpath) |
- if os.path.exists(self.logpath): |
- os.unlink(self.logpath) |
- if os.path.isdir(self.journalpath): |
- shutil.rmtree(self.journalpath) |
- if os.path.exists(self.journalpath): |
- os.unlink(self.journalpath) |
- |
- def testCommandExecution(self): |
- svc = self.svc |
- svc.add(svc.journal, "foo", "bar") |
- self.assertEquals(svc.get("foo"), "bar") |
- |
- svc.delete(svc.journal, "foo") |
- self.assertRaises(KeyError, svc.get, "foo") |
- |
- def testLogging(self): |
- svc = self.svc |
- log = self.svc.journal.log |
- j = self.svc.journal |
- svc.add(j, "foo", "bar") |
- svc.add(j, 1, "hello") |
- svc.delete(j, "foo") |
- |
- commands = [ServiceWrapperCommand("_add", ("foo", "bar")), |
- ServiceWrapperCommand("_add", (1, "hello")), |
- ServiceWrapperCommand("_delete", ("foo",))] |
- |
- self.assertEquals(log.getCurrentIndex(), 3) |
- for i in range(1, 4): |
- for a, b in zip(commands[i-1:], [c for t, c in log.getCommandsSince(i)]): |
- self.assertEquals(a, b) |
- |
- def testRecovery(self): |
- svc = self.svc |
- j = svc.journal |
- svc.add(j, "foo", "bar") |
- svc.add(j, 1, "hello") |
- # we sync *before* delete to make sure commands get executed |
- svc.journal.sync((svc.values, svc.counters)) |
- svc.delete(j, "foo") |
- d = svc.makeCounter(j, 1) |
- d.addCallback(lambda c, j=j: c.increment(j)) |
- del svc, self.svc |
- |
- # first, load from snapshot |
- svc = Service(self.logpath, self.journalpath) |
- self.assertEquals(svc.values, {1: "hello"}) |
- self.assertEquals(svc.counters[1].x, 1) |
- del svc |
- |
- # now, tamper with log, and then try |
- f = open(self.journalpath, "w") |
- f.write("sfsdfsdfsd") |
- f.close() |
- svc = Service(self.logpath, self.journalpath) |
- self.assertEquals(svc.values, {1: "hello"}) |
- self.assertEquals(svc.counters[1].x, 1) |
- |
- def testTime(self): |
- svc = self.svc |
- svc.addtime(svc.journal) |
- t = svc.get("time") |
- |
- log = self.svc.journal.log |
- (t2, c), = log.getCommandsSince(1) |
- self.assertEquals(t, t2) |
- |
- |