From 18a8ed35b0ff6eae1bacbe0220f38a102fe4e321 Mon Sep 17 00:00:00 2001 From: David Medina Date: Thu, 9 Feb 2012 23:01:12 +0100 Subject: Utils to tests --- pygithub3/tests/core/test_client.py | 2 +- pygithub3/tests/core/test_result.py | 4 ++-- pygithub3/tests/core/utils.py | 48 ------------------------------------- pygithub3/tests/utils/__init__.py | 0 pygithub3/tests/utils/base.py | 21 ++++++++++++++++ pygithub3/tests/utils/core.py | 30 +++++++++++++++++++++++ pygithub3/tests/utils/requests.py | 35 +++++++++++++++++++++++++++ 7 files changed, 89 insertions(+), 51 deletions(-) delete mode 100644 pygithub3/tests/core/utils.py create mode 100644 pygithub3/tests/utils/__init__.py create mode 100644 pygithub3/tests/utils/base.py create mode 100644 pygithub3/tests/utils/core.py create mode 100644 pygithub3/tests/utils/requests.py (limited to 'pygithub3') diff --git a/pygithub3/tests/core/test_client.py b/pygithub3/tests/core/test_client.py index 57051e2..c4227fa 100644 --- a/pygithub3/tests/core/test_client.py +++ b/pygithub3/tests/core/test_client.py @@ -5,7 +5,7 @@ from unittest import TestCase import requests from pygithub3.core.client import Client -from pygithub3.exceptions import * +from pygithub3.exceptions import NotFound, BadRequest, UnprocessableEntity from mock import patch diff --git a/pygithub3/tests/core/test_result.py b/pygithub3/tests/core/test_result.py index 4a3a7f5..3c26630 100644 --- a/pygithub3/tests/core/test_result.py +++ b/pygithub3/tests/core/test_result.py @@ -7,8 +7,8 @@ from mock import Mock from pygithub3.core.client import Client from pygithub3.core.result import Result, Page -from .utils import (mock_paginate_github_in_GET, - mock_no_paginate_github_in_GET, request) +from pygithub3.tests.utils.core import (mock_paginate_github_in_GET, request, + mock_no_paginate_github_in_GET) class ResultInitMixin(object): diff --git a/pygithub3/tests/core/utils.py b/pygithub3/tests/core/utils.py deleted file mode 100644 index e77ef20..0000000 --- a/pygithub3/tests/core/utils.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python -# -*- encoding: utf-8 -*- - -from mock import Mock - -from pygithub3.resources.base import Resource -from pygithub3.requests import Request - - -class DummyResource(Resource): - pass - - -def loads_mock(content): - return content -DummyResource.loads = Mock(side_effect=loads_mock) - - -class DummyRequest(Request): - uri = 'dummyrequest' - resource = DummyResource - - -request = DummyRequest({}) -# Working without json but name it json-related to not confuse -json_content = [dict(name='dummy')] - - -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 diff --git a/pygithub3/tests/utils/__init__.py b/pygithub3/tests/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pygithub3/tests/utils/base.py b/pygithub3/tests/utils/base.py new file mode 100644 index 0000000..8b82b67 --- /dev/null +++ b/pygithub3/tests/utils/base.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +from mock import Mock + +from pygithub3.resources.base import Resource +from pygithub3.requests import Request + + +class DummyResource(Resource): + pass + + +def loads_mock(content): + return content +DummyResource.loads = Mock(side_effect=loads_mock) + + +class DummyRequest(Request): + uri = 'dummyrequest' + resource = DummyResource diff --git a/pygithub3/tests/utils/core.py b/pygithub3/tests/utils/core.py new file mode 100644 index 0000000..8d18732 --- /dev/null +++ b/pygithub3/tests/utils/core.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +from .base import Mock, DummyRequest + +request = DummyRequest() +# Working without json but name it json-related to not confuse +json_content = [dict(name='dummy')] + + +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 diff --git a/pygithub3/tests/utils/requests.py b/pygithub3/tests/utils/requests.py new file mode 100644 index 0000000..4d170c1 --- /dev/null +++ b/pygithub3/tests/utils/requests.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +from .base import Request, DummyResource, DummyRequest +from pygithub3.exceptions import ValidationError + + +class RequestWithArgs(Request): + + uri = 'URI/{arg1}/{arg2}' + + +class RequestCleanedUri(Request): + + uri = 'URI/{arg1}/{arg2}' + + def clean_uri(self): + if not self.arg1: + return 'URI' + + +class RequestBodyWithSchema(Request): + uri = 'URI' + body_schema = ('arg1', 'arg2') + + +class RequestCleanedBody(Request): + + uri = 'URI' + + def clean_body(self): + raise ValidationError('test') + +def mock_json_dumps(content): + return content -- cgit v1.2.3-59-g8ed1b