tests.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import unittest
  2. from webfinger import finger, WebFingerClient, WebFingerResponse
  3. class TestHostParsing(unittest.TestCase):
  4. def setUp(self):
  5. self.client = WebFingerClient()
  6. def test_parsing(self):
  7. host = self.client._parse_host('eric@konklone.com')
  8. self.assertEqual(host, 'konklone.com')
  9. def test_official_parsing(self):
  10. self.client.official = True
  11. host = self.client._parse_host('konklone@twitter.com')
  12. self.assertEqual(host, 'twitter.com')
  13. def test_unofficial_parsing(self):
  14. self.client.official = False
  15. host = self.client._parse_host('konklone@twitter.com')
  16. self.assertEqual(host, 'twitter-webfinger.appspot.com')
  17. class TestWebFingerRequest(unittest.TestCase):
  18. def setUp(self):
  19. self.client = WebFingerClient()
  20. def test_subject(self):
  21. wf = self.client.finger('acct:eric@konklone.com')
  22. self.assertEqual(wf.subject, 'acct:eric@konklone.com')
  23. class TestWebFingerResponse(unittest.TestCase):
  24. def setUp(self):
  25. jrd = {
  26. "subject": "acct:eric@konklone.com",
  27. "properties": {
  28. "http://schema.org/name": "Eric Mill"
  29. },
  30. "links": [
  31. {
  32. "rel": "http://webfinger.net/rel/profile-page",
  33. "href": "https://konklone.com"
  34. },
  35. {
  36. "rel": "http://webfinger.net/rel/avatar",
  37. "href": "https://secure.gravatar.com/avatar/ac3399caecce27cb19d381f61124539e.jpg?s=400"
  38. }
  39. ]
  40. }
  41. self.response = WebFingerResponse(jrd)
  42. def test_subject(self):
  43. self.assertEqual(self.response.subject, 'acct:eric@konklone.com')
  44. def test_rel(self):
  45. self.assertEqual(self.response.rel('http://webfinger.net/rel/profile-page'), 'https://konklone.com')
  46. def test_invalid_rel(self):
  47. self.assertEqual(self.response.rel(''), None)
  48. if __name__ == '__main__':
  49. unittest.main()