aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/tests/core/test_result.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygithub3/tests/core/test_result.py')
-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):
+ """