diff options
Diffstat (limited to 'pygithub3/tests/services/test_gists.py')
-rw-r--r-- | pygithub3/tests/services/test_gists.py | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/pygithub3/tests/services/test_gists.py b/pygithub3/tests/services/test_gists.py new file mode 100644 index 0000000..8cf93ed --- /dev/null +++ b/pygithub3/tests/services/test_gists.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +import requests +from mock import patch, Mock + +from pygithub3.tests.utils.core import TestCase +from pygithub3.resources.base import json +from pygithub3.services.gists import Gist, Comments +from pygithub3.tests.utils.base import (mock_response, mock_response_result, + mock_json) +from pygithub3.tests.utils.services import _ + +json.dumps = Mock(side_effect=mock_json) +json.loads = Mock(side_effect=mock_json) + + +@patch.object(requests.sessions.Session, 'request') +class TestGistService(TestCase): + + def setUp(self): + self.gs = Gist() + + def test_LIST_without_user(self, request_method): + request_method.return_value = mock_response_result() + self.gs.list().all() + self.assertEqual(request_method.call_args[0], ('get', _('gists'))) + + def test_LIST_with_user(self, request_method): + request_method.return_value = mock_response_result() + self.gs.list('octocat').all() + self.assertEqual(request_method.call_args[0], + ('get', _('users/octocat/gists'))) + + def test_LIST_public(self, request_method): + request_method.return_value = mock_response_result() + self.gs.public().all() + self.assertEqual(request_method.call_args[0], + ('get', _('gists/public'))) + + def test_LIST_starred(self, request_method): + request_method.return_value = mock_response_result() + self.gs.starred().all() + self.assertEqual(request_method.call_args[0], + ('get', _('gists/starred'))) + + def test_GET(self, request_method): + request_method.return_value = mock_response() + self.gs.get(1) + self.assertEqual(request_method.call_args[0], + ('get', _('gists/1'))) + + def test_CREATE(self, request_method): + request_method.return_value = mock_response('post') + self.gs.create(dict(public=True, files={ + 'file1.txt': {'content': 'Some\ncontent'}})) + self.assertEqual(request_method.call_args[0], + ('post', _('gists'))) + + def test_UPDATE(self, request_method): + request_method.return_value = mock_response('patch') + self.gs.update(1, {'description': 'edited'}) + self.assertEqual(request_method.call_args[0], + ('patch', _('gists/1'))) + + def test_STAR(self, request_method): + self.gs.star(1) + self.assertEqual(request_method.call_args[0], + ('put', _('gists/1/star'))) + + def test_UNSTAR(self, request_method): + request_method.return_value = mock_response('delete') + self.gs.unstar(1) + self.assertEqual(request_method.call_args[0], + ('delete', _('gists/1/star'))) + + def test_IS_STARRED(self, request_method): + request_method.return_value = mock_response() + self.gs.is_starred(1) + self.assertEqual(request_method.call_args[0], + ('head', _('gists/1/star'))) + + def test_FORK(self, request_method): + request_method.return_value = mock_response('post') + self.gs.fork(1) + self.assertEqual(request_method.call_args[0], + ('post', _('gists/1/fork'))) + + def test_DELETE(self, request_method): + request_method.return_value = mock_response('delete') + self.gs.delete(1) + self.assertEqual(request_method.call_args[0], + ('delete', _('gists/1'))) + + +@patch.object(requests.sessions.Session, 'request') +class TestCommentService(TestCase): + + def setUp(self): + self.cs = Comments() + + def test_LIST(self, request_method): + request_method.return_value = mock_response_result() + self.cs.list(1).all() + self.assertEqual(request_method.call_args[0], + ('get', _('gists/1/comments'))) + + def test_GET(self, request_method): + request_method.return_value = mock_response() + self.cs.get(1) + self.assertEqual(request_method.call_args[0], + ('get', _('gists/comments/1'))) + + def test_CREATE(self, request_method): + request_method.return_value = mock_response('post') + self.cs.create(1, dict(body='comment')) + self.assertEqual(request_method.call_args[0], + ('post', _('gists/1/comments'))) + + def test_UPDATE(self, request_method): + request_method.return_value = mock_response('patch') + self.cs.update(1, dict(body='new_comment')) + self.assertEqual(request_method.call_args[0], + ('patch', _('gists/comments/1'))) + + def test_DELETE(self, request_method): + request_method.return_value = mock_response('delete') + self.cs.delete(1) + self.assertEqual(request_method.call_args[0], + ('delete', _('gists/comments/1'))) |