class DirScraperTestCase(unittest.TestCase): def setUp(self): self.svn = DirScraper("localhost") def tearDown(self): pass def testInitRequiresHost(self): """__init__ requires host""" expected = TypeError self.assertRaises(expected, DirScraper) def testInitSetsHostURI(self): """__init__ sets host URI""" svn = DirScraper("localhost/") expected = "localhost/" self.assertEqual(expected, svn.host) def testGetRetrievesRemoteContent(self): """_get retrieves remote content""" uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/foo/lorem.js" expected = "/***\nlorem\n***/\n" self.assertEqual(expected, self.svn._get(uri)) def testGetPluginsRetrievesJSFiles(self): """getPlugins retrieves .js files from directory""" self.svn = DirScraper("http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/") uri = "test/foo" tiddlers = [t.title for t in self.svn.getPlugins(uri)] expected = ["lorem", "sit"] self.assertEqual(expected, tiddlers) def testGetPluginsSupportsRecursiveRetrieval(self): """getPlugins support recursively retrieving .js files from sub-directories""" self.svn = DirScraper("http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/") uri = "test" tiddlers = [t.title for t in self.svn.getPlugins(uri, True)] expected = ["adipisicing", "consectetur", "lorem", "sit"] # N.B.: includes checking for white- and blacklisting self.assertEqual(expected, tiddlers) def testRetrieveMetadataSetsTitle(self): """retrieveMetadata sets title if present""" # TODO: test missing condition tiddler = Tiddler() uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/foo/lorem.js.meta" self.svn.retrieveMetadata(tiddler, uri) expected = "lorem" self.assertEqual(expected, tiddler.title) def testRetrieveMetadataSetsCreated(self): """retrieveMetadata sets created date if present""" # TODO: test missing condition tiddler = Tiddler() uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/foo/lorem.js.meta" self.svn.retrieveMetadata(tiddler, uri) expected = "200808211445" self.assertEqual(expected, tiddler.created) def testRetrieveMetadataSetsModified(self): """retrieveMetadata sets modified date if present""" # TODO: test missing condition tiddler = Tiddler() uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/foo/lorem.js.meta" self.svn.retrieveMetadata(tiddler, uri) expected = "200808211445" self.assertEqual(expected, tiddler.modified) def testRetrieveMetadataSetsModifier(self): """retrieveMetadata sets modifier if present""" # TODO: test missing condition tiddler = Tiddler() uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/foo/lorem.js.meta" self.svn.retrieveMetadata(tiddler, uri) expected = "FND" self.assertEqual(expected, tiddler.modifier) def testRetrieveMetadataSetsTags(self): """retrieveMetadata sets tags if present""" # TODO: test missing condition tiddler = Tiddler() uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/foo/lorem.js.meta" self.svn.retrieveMetadata(tiddler, uri) expected = ["systemConfig", "tmp"] self.assertEqual(expected, tiddler.tags) def testRetrieveMetadataSetsExtendedFields(self): """retrieveMetadata sets extended fields if present""" tiddler = Tiddler() uri = "http://svn.tiddlywiki.org/Trunk/association/services/pluginLibrary/aggregator/test/bar/adipisicing.js.meta" self.svn.retrieveMetadata(tiddler, uri) expected = { "foo": "lorem ipsum", "bar": "dolor sit amet" } self.assertEqual(expected, tiddler.fields)