diff options
author | 2012-02-07 22:51:46 +0100 | |
---|---|---|
committer | 2012-02-07 22:51:46 +0100 | |
commit | de2c7806ca52e9c5470705f5ebb4955f8ba3942c (patch) | |
tree | 4027b5d9b166e08ed00b1fd144d1f0e69daeb4ad /pygithub3 | |
parent | Clean requests interface (diff) | |
download | python-github3-de2c7806ca52e9c5470705f5ebb4955f8ba3942c.tar.xz python-github3-de2c7806ca52e9c5470705f5ebb4955f8ba3942c.zip |
Fix litle bugs
Diffstat (limited to 'pygithub3')
-rw-r--r-- | pygithub3/core/client.py | 4 | ||||
-rw-r--r-- | pygithub3/requests/__init__.py | 4 | ||||
-rw-r--r-- | pygithub3/requests/users/emails.py | 8 | ||||
-rw-r--r-- | pygithub3/requests/users/user.py | 9 | ||||
-rw-r--r-- | pygithub3/tests/test_errors.py | 33 |
5 files changed, 15 insertions, 43 deletions
diff --git a/pygithub3/core/client.py b/pygithub3/core/client.py index d9ecf81..84d47ad 100644 --- a/pygithub3/core/client.py +++ b/pygithub3/core/client.py @@ -37,7 +37,7 @@ class Client(object): return self.config.get('user') @user.setter - def set_user(self, user): + def user(self, user): self.config['user'] = user @property @@ -45,7 +45,7 @@ class Client(object): return self.config.get('repo') @repo.setter - def set_repo(self, repo): + def repo(self, repo): self.config['repo'] = repo def set_credentials(self, login, password): diff --git a/pygithub3/requests/__init__.py b/pygithub3/requests/__init__.py index 9fdde27..79f9cb9 100644 --- a/pygithub3/requests/__init__.py +++ b/pygithub3/requests/__init__.py @@ -58,10 +58,6 @@ class Request(object): def clean_uri(self): return None - @property - def resource(self): - return self.resource - def __getattr__(self, name): return self.args.get(name) diff --git a/pygithub3/requests/users/emails.py b/pygithub3/requests/users/emails.py index 7622fcc..410bd9a 100644 --- a/pygithub3/requests/users/emails.py +++ b/pygithub3/requests/users/emails.py @@ -3,12 +3,12 @@ import re -from . import Request +from . import Request, ValidationError class List(Request): - uri = 'users/emails' + uri = 'user/emails' class Add(Request): @@ -16,9 +16,11 @@ class Add(Request): uri = 'user/emails' def clean_body(self): - def is_email(email): return re.match(r'.*', email) # TODO: email regex ;) + if not self.body: + raise ValidationError("'%s' request needs emails" + % (self.__class__.__name__)) return filter(is_email, self.body) diff --git a/pygithub3/requests/users/user.py b/pygithub3/requests/users/user.py index 78ab6cd..740b3dd 100644 --- a/pygithub3/requests/users/user.py +++ b/pygithub3/requests/users/user.py @@ -22,4 +22,11 @@ class Update(Request): resource = User uri = 'user' body_schema = ( - 'name', 'email', 'blog', 'company', 'location','hireable', 'bio') + 'name', 'email', 'blog', 'company', 'location', 'hireable', 'bio') + + def clean_body(self): + if not self.body: + raise ValidationError("'%s' request needs data. You can use " + "'%s' keys" % (self.__class__.__name__, + self.body_schema)) + return self.body diff --git a/pygithub3/tests/test_errors.py b/pygithub3/tests/test_errors.py index 36f33d9..aee3da5 100644 --- a/pygithub3/tests/test_errors.py +++ b/pygithub3/tests/test_errors.py @@ -1,36 +1,3 @@ #!/usr/bin/env python # -*- encoding: utf-8 -*- -from unittest import TestCase -from requests.exceptions import HTTPError -from core import client -import errors -import json - -class TestErrorsWithoutAuth(TestCase): - """docstring for TestRequestsLibrary""" - - def setUp(self): - self.client = client.Client() - - def test_malformed_url(self): - self.assertRaises(HTTPError, self.client.request, 'get', 'fake') - -class TestErrorsAuthenticated(TestCase): - """docstring for TestErrorsAuthenticaed""" - - def setUp(self): - self.client = client.Client( - login='pygit', - password='pygithub3' - ) - - def test_400_parsing_json(self): - data = 'strinf' - self.assertRaises(errors.BadRequest, self.client.request, - 'post', 'user/repos', data=data) - - def test_400_json_hash(self): - data = json.dumps({'names': 'david'}) - with self.assertRaises(errors.UnprocessableEntity) as cm: - self.client.request('post', 'user/repos', data=data) |