From 5a2e051c2bd999220bd43e8a397289719e77f81c Mon Sep 17 00:00:00 2001 From: David Medina Date: Wed, 22 Feb 2012 12:14:34 +0100 Subject: Repos.watchers service done --- pygithub3/tests/services/test_repos.py | 45 +++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'pygithub3/tests') diff --git a/pygithub3/tests/services/test_repos.py b/pygithub3/tests/services/test_repos.py index cc8c286..6f4ed71 100644 --- a/pygithub3/tests/services/test_repos.py +++ b/pygithub3/tests/services/test_repos.py @@ -7,7 +7,7 @@ import requests from mock import patch, Mock from pygithub3.services.repos import (Repo, Collaborator, Commits, Downloads, - Forks, Keys) + Forks, Keys, Watchers) from pygithub3.resources.base import json from pygithub3.tests.utils.base import (mock_response, mock_response_result, mock_json) @@ -325,3 +325,46 @@ class TestKeysService(TestCase): self.ks.delete(1) self.assertEqual(request_method.call_args[0], ('delete', _('repos/oct/re_oct/keys/1'))) + + +@patch.object(requests.sessions.Session, 'request') +class TestWatchersService(TestCase): + + def setUp(self): + self.ws = Watchers(user='oct', repo='re_oct') + + def test_LIST(self, request_method): + request_method.return_value = mock_response_result() + self.ws.list().all() + self.assertEqual(request_method.call_args[0], + ('get', _('repos/oct/re_oct/watchers'))) + + def test_LIST_repos(self, request_method): + request_method.return_value = mock_response_result() + self.ws.list_repos().all() + self.assertEqual(request_method.call_args[0], + ('get', _('users/oct/watched'))) + + def test_LIST_repos_without_user(self, request_method): + request_method.return_value = mock_response_result() + self.ws.set_user(None) + self.ws.list_repos().all() + self.assertEqual(request_method.call_args[0], + ('get', _('user/watched'))) + + def test_IS_watching(self, request_method): + request_method.return_value = mock_response() + self.assertTrue(self.ws.is_watching()) + self.assertEqual(request_method.call_args[0], + ('head', _('user/watched/oct/re_oct'))) + + def test_WATCH(self, request_method): + self.ws.watch() + self.assertEqual(request_method.call_args[0], + ('put', _('user/watched/oct/re_oct'))) + + def test_UNWATCH(self, request_method): + request_method.return_value = mock_response('delete') + self.ws.unwatch() + self.assertEqual(request_method.call_args[0], + ('delete', _('user/watched/oct/re_oct'))) -- cgit v1.2.3-59-g8ed1b