def test_get_user_public_repositories(self, github_api_requests_mock): access_token = "token" expected_repositories = [{"id": 1}, {"id": 2}] github_api_requests_mock.get.return_value = MockResponse(expected_repositories) repositories = GithubAPI.get_user_public_repositories(access_token) self.assertEqual(repositories, expected_repositories) github_api_requests_mock.get.assert_called_once_with("/user/repos?type=public", access_token)
def get(self, request): access_token = take_access_token_from_session(request) if access_token: resp_data = GithubAPI.get_user_public_repositories(access_token) serialize = lambda x: take_keys(x, ['id', 'name', 'full_name', 'clone_url', 'description']) return Response(data=map(serialize, resp_data)) else: return HttpResponseForbidden()