2010-09-14 01:44:10 -03:00
|
|
|
from cStringIO import StringIO
|
|
|
|
|
|
|
|
from twisted.trial import unittest
|
|
|
|
|
|
|
|
from zope.interface.verify import verifyObject
|
|
|
|
|
|
|
|
from scrapyd.interfaces import IEggStorage
|
|
|
|
from scrapyd.config import Config
|
|
|
|
from scrapyd.eggstorage import FilesystemEggStorage
|
|
|
|
|
|
|
|
class EggStorageTest(unittest.TestCase):
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
d = self.mktemp()
|
|
|
|
config = Config(values={'eggs_dir': d})
|
|
|
|
self.eggst = FilesystemEggStorage(config)
|
|
|
|
|
|
|
|
def test_interface(self):
|
|
|
|
verifyObject(IEggStorage, self.eggst)
|
|
|
|
|
|
|
|
def test_put_get_list_delete(self):
|
|
|
|
self.eggst.put(StringIO("egg01"), 'mybot', '01')
|
|
|
|
self.eggst.put(StringIO("egg03"), 'mybot', '03')
|
|
|
|
self.eggst.put(StringIO("egg02"), 'mybot', '02')
|
|
|
|
|
|
|
|
self.assertEqual(self.eggst.list('mybot'), ['01', '02', '03'])
|
|
|
|
self.assertEqual(self.eggst.list('mybot2'), [])
|
|
|
|
|
|
|
|
v, f = self.eggst.get('mybot')
|
|
|
|
self.assertEqual(v, "03")
|
|
|
|
self.assertEqual(f.read(), "egg03")
|
2011-06-12 02:46:41 -03:00
|
|
|
f.close()
|
2010-09-14 01:44:10 -03:00
|
|
|
|
|
|
|
v, f = self.eggst.get('mybot', '02')
|
|
|
|
self.assertEqual(v, "02")
|
|
|
|
self.assertEqual(f.read(), "egg02")
|
2011-06-12 02:46:41 -03:00
|
|
|
f.close()
|
2010-09-14 01:44:10 -03:00
|
|
|
|
|
|
|
self.eggst.delete('mybot', '02')
|
|
|
|
self.assertEqual(self.eggst.list('mybot'), ['01', '03'])
|
|
|
|
|
|
|
|
self.eggst.delete('mybot')
|
|
|
|
self.assertEqual(self.eggst.list('mybot'), [])
|