#!/usr/bin/env python
# -*- encoding: utf-8 -*-
try:
from unittest2 import TestCase # Python 2.6
except ImportError:
from unittest import TestCase # Python >2.7
from .base import Mock, DummyRequest
request = DummyRequest()
# Working without json but name it json-related to not confuse
json_content = [dict(name='dummy')]
# To smart results
def mock_paginate_github_in_GET(request, page):
def header(page):
return {'link': '; rel="last"' % page}
def content(page):
if page >= 3:
return json_content
return json_content * 2
response = Mock()
response.headers = header(3)
response.content = content(page)
return response
def mock_no_paginate_github_in_GET(request, page):
response = Mock()
response.headers = {}
response.content = [json_content * 3]
return response
# To normal results
class MockPaginate(object):
def __init__(self):
self.counter = 1
def content(self):
if self.counter >= 3:
return json_content
return json_content * 2
def header(self):
if self.counter >= 3:
return {}
return {'link': '; rel="next"' % self.counter}
def __call__(self, *args, **kwargs):
response = Mock()
response.headers = self.header()
response.content = self.content()
self.counter += 1
return response