testgithub.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import unittest
  2. from mock import Mock, patch, MagicMock
  3. from django.conf import settings
  4. from hackathon.scripts.github import getUserData
  5. class GithubTests(unittest.TestCase):
  6. def setUp(self):
  7. self.API_BASE_URL = 'https://api.github.com/users/DrkSephy'
  8. self.clientID = 'client_id=2404a1e21aebd902f6db'
  9. self.clientSecret = 'client_secret=3da44769d4b7c9465fa4c812669148a163607c23'
  10. def testGetUserData(self):
  11. # Client and Secret ID
  12. clientID = self.clientID
  13. clientSecret = self.clientSecret
  14. # Construct the URL
  15. self.url = self.API_BASE_URL + '?' + clientID + '&' + clientSecret
  16. # Instantiate data collection objects
  17. jsonList = []
  18. parsedData = []
  19. userData = {}
  20. with patch('hackathon.scripts.github.getUserData') as mock_getUserData:
  21. # Mock the return value of this method
  22. mock_getUserData.return_value = {'public_repos': 50, 'public_gists': 5, 'name': 'David Leonard', 'blog': 'http://drksephy.github.io', 'avatar_url': 'https://avatars.githubusercontent.com/u/1226900?v=3', 'followers': 52, 'following': 7, 'email': 'DrkSephy1025@gmail.com'}
  23. jsonList.append(mock_getUserData.return_value)
  24. for data in jsonList:
  25. userData['name'] = mock_getUserData.return_value['name']
  26. userData['blog'] = mock_getUserData.return_value['blog']
  27. userData['email'] = mock_getUserData.return_value['email']
  28. userData['public_gists'] = mock_getUserData.return_value['public_gists']
  29. userData['public_repos'] = mock_getUserData.return_value['public_repos']
  30. userData['avatar_url'] = mock_getUserData.return_value['avatar_url']
  31. userData['followers'] = mock_getUserData.return_value['followers']
  32. userData['following'] = mock_getUserData.return_value['following']
  33. parsedData.append(userData)
  34. self.assertEqual(getUserData(clientID, clientSecret), parsedData)