class LinklistTest(unittest.TestCase): def setUp(self): self.linklistInstance=LinklistAdaptor() debugMock=Mock() settings=Settings() self.linklistInstance.debug=debugMock self.linklistInstance.settings=settings self.linklistPath="/media/KINGSTON/Sumid/linklist/prelinklist25.txt" def tearDown(self): self.linklistInstance=None def test_nextRaw_noLinklist(self): """ If there's no linklist connected, nextRaw raises error.""" # Suppose thers's no linlist until I connect it. self.assertRaises(BufferError,self.linklistInstance.nextRaw) self.linklistInstance.linklist=None self.assertRaises(BufferError,self.linklistInstance.nextRaw,) def test_nextRaw_correctLinklist(self): """ nextRaw returns a line without any modification, when linklist is set correctly. """ #linklistPath="/media/KINGSTON/Sumid/linklist/prelinklist25.txt" # First peek what is first line of the linklist. linklistFile=file(self.linklistPath,'r') firstLine=linklistFile.readline() linklistFile.close() # Set-up URL linklist for test. linklistURL="file://%s"%(self.linklistPath) linklistFile=urllib2.urlopen(linklistURL) self.linklistInstance.connectLinklistFile(linklistFile) line=self.linklistInstance.nextRaw() # The URL test. self.assertEqual(firstLine,line) # Set-up file linklist for test. linklistFile=file(self.linklistPath,'r') self.linklistInstance.connectLinklistFile(linklistFile) line=self.linklistInstance.nextRaw() #The file test self.assertEqual(firstLine,line) def test_connectLinklistFile_wrongInput(self): """ If the input of connectLinklistFile() is not a file-like object, exception is raised.""" self.assertRaises(AttributeError,self.linklistInstance.connectLinklistFile,"/This/is/a/string") self.assertRaises(AttributeError,self.linklistInstance.connectLinklistFile,["This","is","a","list"]) self.assertRaises(AttributeError,self.linklistInstance.connectLinklistFile,{"This":"is","a":"dict"}) self.assertRaises(AttributeError,self.linklistInstance.connectLinklistFile,object()) def test_connectLinklistFile_correctInput(self): """ If the input of connectLinklistFile() is a file-like object, then self.linklist link to it is created. """ #linklistPath="/media/KINGSTON/Sumid/linklist/prelinklist25.txt" linklistURL="file://%s"%(self.linklistPath) linklistFile=urllib2.urlopen(linklistURL) self.linklistInstance.connectLinklistFile(linklistFile) self.assertEqual(self.linklistInstance.linklist.geturl(),linklistURL) linklistFile=file(self.linklistPath,'r') self.linklistInstance.connectLinklistFile(linklistFile) self.assertEqual(self.linklistInstance.linklist.name,self.linklistPath)