diff options
author | 2012-02-09 23:01:12 +0100 | |
---|---|---|
committer | 2012-02-09 23:01:12 +0100 | |
commit | 18a8ed35b0ff6eae1bacbe0220f38a102fe4e321 (patch) | |
tree | a6c51bc90d2494947ef53a66154a074c31992b85 /pygithub3/tests/utils | |
parent | Core tests (diff) | |
download | python-github3-18a8ed35b0ff6eae1bacbe0220f38a102fe4e321.tar.xz python-github3-18a8ed35b0ff6eae1bacbe0220f38a102fe4e321.zip |
Utils to tests
Diffstat (limited to 'pygithub3/tests/utils')
-rw-r--r-- | pygithub3/tests/utils/__init__.py | 0 | ||||
-rw-r--r-- | pygithub3/tests/utils/base.py | 21 | ||||
-rw-r--r-- | pygithub3/tests/utils/core.py | 30 | ||||
-rw-r--r-- | pygithub3/tests/utils/requests.py | 35 |
4 files changed, 86 insertions, 0 deletions
diff --git a/pygithub3/tests/utils/__init__.py b/pygithub3/tests/utils/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/pygithub3/tests/utils/__init__.py 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': '<https://d.com/d?page=%s>; 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 |