1 from gobject
import GObject
, SIGNAL_RUN_FIRST
2 from straw
import FeedManager
3 from threading
import Thread
8 TEST_DB_PATH
= "test.db"
9 TEST_OPML_PATH
= "data/default_subscriptions.opml"
10 #TEST_OPML_PATH = "data/test.opml"
11 #TEST_OPML_PATH = "/home/ppawel/feedlist.opml"
13 class TestFeedManager(object):
15 FeedManager
.setup(storage_path
= TEST_DB_PATH
)
19 os
.remove(TEST_DB_PATH
)
21 def testCategories(self
):
22 FeedManager
.save_category("test")
25 FeedManager
.save_category("subtest", pid
= (i
+ 1))
27 tree
= FeedManager
.get_category_tree()
29 assert tree
[0].children
[0].name
== "subtest"
30 assert tree
[0].children
[0].children
[0].children
[0].name
== "subtest"
32 def testImportOPML(self
):
33 dummy
= DummyStraw("import_opml")
37 feeds
= FeedManager
.get_feeds()
41 def testUpdateAllFeeds(self
):
42 FeedManager
.import_opml(TEST_OPML_PATH
)
46 dummy
= DummyStraw("update_all_feeds")
50 #feeds = FeedManager.upda()
54 class DummyStraw(Thread
):
55 def __init__(self
, action
, observers
= None):
58 self
.observers
= observers
63 if self
.action
== "import_opml":
64 FeedManager
.import_opml(TEST_OPML_PATH
)
65 elif self
.action
== "update_all_feeds":
66 FeedManager
.update_all_feeds(self
.observers
)
69 # processing happens in the background so we have to emulate
70 # real application GUI loop by sleeping
72 time
.sleep(sleep_time
)
74 class DummyObserver(GObject
):
76 gobject
.GObject
.__init
__(self
)
79 def handle(self
, object, arg1
):