aboutsummaryrefslogtreecommitdiffstats
path: root/github3/tests/gists_handler_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'github3/tests/gists_handler_test.py')
-rw-r--r--github3/tests/gists_handler_test.py110
1 files changed, 110 insertions, 0 deletions
diff --git a/github3/tests/gists_handler_test.py b/github3/tests/gists_handler_test.py
new file mode 100644
index 0000000..ecadcfb
--- /dev/null
+++ b/github3/tests/gists_handler_test.py
@@ -0,0 +1,110 @@
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+
+from unittest import TestCase
+from mock import Mock, patch
+from github3 import api
+from github3.models import Gist, GistComment
+from github3.handlers.base import Handler
+
+
+class TestGistHandler(TestCase):
+
+ def setUp(self):
+ self.gh = api.Github()
+ self.handler = self.gh.gists
+
+ @patch.object(Handler, '_get_resources')
+ def test_get_gists(self, get):
+ gists = self.handler.all_gists()
+ get.assert_called_with('', model=Gist, limit=None)
+
+ @patch.object(Handler, '_get_resource')
+ def test_get(self, get):
+ gist = self.handler.get(1)
+ get.assert_called_with(1, model=Gist)
+
+ @patch.object(Handler, '_get_resources')
+ def test_get_comments(self, get):
+ comments = self.handler.get_comments(1)
+ get.assert_called_with('1/comments', model=GistComment, limit=None,
+ headers=None)
+
+ @patch.object(Handler, '_get_resource')
+ def test_get_comment(self, get):
+ comment = self.handler.get_comment(1)
+ get.assert_called_with('comments/1', model=GistComment, headers=None)
+
+
+class TestAuthGistHandler(TestCase):
+
+ def setUp(self):
+ self.gh = api.Github('test', 'pass')
+ self.handler = self.gh.gists
+
+ def test_inherit(self):
+ self.assertTrue(hasattr(self.handler, 'get'))
+ self.assertTrue(hasattr(self.handler, 'get_comments'))
+ self.assertTrue(hasattr(self.handler, 'get_comment'))
+
+ @patch.object(Handler, '_get_resources')
+ def test_all_gists(self, get):
+ gists = self.handler.all_gists()
+ get.assert_called_with('public', model=Gist, limit=None)
+
+ @patch.object(Handler, '_get_resources')
+ def test_my_gists(self, get):
+ gists = self.handler.my_gists()
+ get.assert_called_with('', model=Gist, limit=None)
+
+ @patch.object(Handler, '_get_resources')
+ def test_my_starred_gists(self, get):
+ gists = self.handler.my_starred_gists()
+ get.assert_called_with('starred', model=Gist, limit=None)
+
+ @patch.object(Handler, '_post_resource')
+ def test_create_gist(self, post):
+ data = {
+ 'public': False,
+ 'files': {'file': {'contents': 'file_data'}},
+ 'desc': 'some'
+ }
+ gist = self.handler.create_gist(data['public'], data['files'],
+ data['desc'])
+ post.assert_called_with('', data=data, model=Gist)
+
+ @patch.object(Handler, '_put')
+ def test_star_gist(self, put):
+ boolean = self.handler.star_gist(1)
+ put.assert_called_with('1/star')
+
+ @patch.object(Handler, '_delete')
+ def test_unstar_gist(self, delete):
+ boolean = self.handler.unstar_gist(1)
+ delete.assert_callted_with('1/star')
+
+ @patch.object(Handler, '_bool')
+ def test_is_starred(self, bool):
+ boolean = self.handler.is_starred(1)
+ bool.assert_called_with('1/star')
+
+ @patch.object(Handler, '_post_resource')
+ def test_fork_gist(self, post):
+ gist = self.handler.fork_gist(1)
+ post.assert_called_with('1/fork', data=None, model=Gist)
+
+ @patch.object(Handler, '_delete')
+ def test_delete_gist(self, delete):
+ boolean = self.handler.delete_gist(1)
+ delete.assert_called_with('1')
+
+ @patch.object(Handler, '_post_resource')
+ def test_create_comment(self, post):
+ gist_comment = self.handler.create_comment(1, 'comment')
+ post.assert_called_with('1/comments', data={'body': 'comment'},
+ model=GistComment)
+
+ @patch.object(Handler, '_delete')
+ def test_delete_comment(self, delete):
+ boolean = self.handler.delete_comment(1)
+ delete.assert_called_with('comments/1')