/blogmaker/util/fetch_test.py

http://blogmaker.googlecode.com/ · Python · 45 lines · 27 code · 12 blank · 6 comment · 1 complexity · a0190ead682404941b0f2e2cba758d97 MD5 · raw file

  1. ''' Tests for the fetch module.
  2. You must be running the blogcosm server in dev mode on port 8000
  3. when you run these tests.
  4. Copyright (c) 2006-2007, PreFab Software Inc.
  5. '''
  6. import unittest, urllib2
  7. import fetch
  8. from blogcosm.test import constants as c
  9. class FetchTest(unittest.TestCase):
  10. def test_open_resource(self):
  11. f = fetch.open_resource('http://localhost:8000/test/simpleHomePage/')
  12. data = f.read()
  13. f.close()
  14. self.assertEquals(200, f.code)
  15. self.assertEquals('http://localhost:8000/test/simpleHomePage/', f.url)
  16. self.assert_(data)
  17. self.assertEquals(c.lastModified, f.headers['last-modified'])
  18. self.assertEquals(c.eTag, f.headers['etag'])
  19. def test_notModified(self):
  20. f = fetch.open_resource('http://localhost:8000/test/304/')
  21. self.assertEquals(304, f.status)
  22. def test_redirect(self):
  23. f = fetch.open_resource('http://localhost:8000/test/simpleHomePage')
  24. self.assertEquals(200, f.code)
  25. self.assertEquals(301, f.status)
  26. self.assertEquals('http://localhost:8000/test/simpleHomePage/', f.url)
  27. f = fetch.open_resource('http://localhost:8000/test/tempRedirect/')
  28. self.assertEquals(200, f.code)
  29. self.assertEquals(302, f.status)
  30. self.assertEquals('http://localhost:8000/test/simpleHomePage/', f.url)
  31. if __name__ == '__main__':
  32. unittest.main()