aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/tests/core
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-03-04 16:58:08 +0100
committerDavid Medina <davidmedina9@gmail.com>2012-03-04 17:18:06 +0100
commit14ef05b1ffef24fae97ae3e79567ab612a75ff11 (patch)
tree9397c561b8b963d9b65dbda1f496f01a0f2d3ab2 /pygithub3/tests/core
parentWrap result getter into partial. It's cleaner (diff)
downloadpython-github3-14ef05b1ffef24fae97ae3e79567ab612a75ff11.tar.xz
python-github3-14ef05b1ffef24fae97ae3e79567ab612a75ff11.zip
Refactor result. Now it's a package
result.smart => Paginate iterator with 'page' behaviour. result.normal => Paginate iterator with 'next' behaviour.
Diffstat (limited to 'pygithub3/tests/core')
-rw-r--r--pygithub3/tests/core/test_result.py40
1 files changed, 33 insertions, 7 deletions
diff --git a/pygithub3/tests/core/test_result.py b/pygithub3/tests/core/test_result.py
index a42bd44..b32fb3d 100644
--- a/pygithub3/tests/core/test_result.py
+++ b/pygithub3/tests/core/test_result.py
@@ -5,9 +5,10 @@ from mock import Mock
from pygithub3.tests.utils.core import TestCase
from pygithub3.core.client import Client
-from pygithub3.core.result import Result, Page
+from pygithub3.core.result import smart, normal, base
from pygithub3.tests.utils.core import (mock_paginate_github_in_GET, request,
- mock_no_paginate_github_in_GET)
+ mock_no_paginate_github_in_GET,
+ MockPaginate)
class ResultInitMixin(object):
@@ -17,12 +18,12 @@ class ResultInitMixin(object):
self.get_request = Mock(side_effect=self.mock)
self.resource_loads = request.resource.loads
self.c.get = self.get_request
- self.r = Result(self.c, request)
+ self.r = smart.Result(smart.Method(self.c.get, request))
def tearDown(self):
self.resource_loads.reset_mock() # It mocks class method
-class TestResultWithPaginate(ResultInitMixin, TestCase):
+class TestSmartResultWithPaginate(ResultInitMixin, TestCase):
@property
def mock(self):
@@ -33,12 +34,12 @@ class TestResultWithPaginate(ResultInitMixin, TestCase):
self.assertEqual(self.resource_loads.call_count, 0)
list(self.r)
self.get_request.assert_called_once_with(request, page=1)
+ self.assertEqual(self.resource_loads.call_count, 1)
def test_consumed_are_Pages(self):
pages_that_are_Pages = len(
- filter(lambda page: isinstance(page, Page), list(self.r)))
+ filter(lambda page: isinstance(page, base.Page), list(self.r)))
self.assertEqual(pages_that_are_Pages, 3, 'There are not 3 Pages objs')
- self.assertEqual(self.resource_loads.call_count, 1)
def test_all_iteration_CALLS(self):
self.r.all()
@@ -58,7 +59,7 @@ class TestResultWithPaginate(ResultInitMixin, TestCase):
self.assertEqual(self.resource_loads.call_count, 0)
-class TestResultWithoutPaginate(ResultInitMixin, TestCase):
+class TestSmartResultWithoutPaginate(ResultInitMixin, TestCase):
@property
def mock(self):
@@ -72,3 +73,28 @@ class TestResultWithoutPaginate(ResultInitMixin, TestCase):
self.r.all()
self.assertEqual(self.get_request.call_count, 1)
self.assertEqual(self.resource_loads.call_count, 1)
+
+
+class TestNormalResult(TestSmartResultWithPaginate, TestCase):
+
+ @property
+ def mock(self):
+ return MockPaginate()
+
+ def setUp(self):
+ super(TestNormalResult, self).setUp()
+ self.r = normal.Result(normal.Method(self.c.get, request))
+
+ def test_iteration_CALLS(self):
+ self.assertEqual(self.get_request.call_count, 0)
+ self.assertEqual(self.resource_loads.call_count, 0)
+ list(self.r)
+ self.assertEqual(self.get_request.call_count, 3)
+ self.assertEqual(self.resource_loads.call_count, 3)
+
+ """ Inherit tests. They share behaviour
+ def test_consumed_are_Pages(self):
+ def test_all_iteration_CALLS(self):
+ def test_CACHE_with_renew_iterations(self):
+ def test_ITERATOR_calls(self):
+ """