aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-02-07 22:51:46 +0100
committerDavid Medina <davidmedina9@gmail.com>2012-02-07 22:51:46 +0100
commitde2c7806ca52e9c5470705f5ebb4955f8ba3942c (patch)
tree4027b5d9b166e08ed00b1fd144d1f0e69daeb4ad /pygithub3
parentClean requests interface (diff)
downloadpython-github3-de2c7806ca52e9c5470705f5ebb4955f8ba3942c.tar.xz
python-github3-de2c7806ca52e9c5470705f5ebb4955f8ba3942c.zip
Fix litle bugs
Diffstat (limited to 'pygithub3')
-rw-r--r--pygithub3/core/client.py4
-rw-r--r--pygithub3/requests/__init__.py4
-rw-r--r--pygithub3/requests/users/emails.py8
-rw-r--r--pygithub3/requests/users/user.py9
-rw-r--r--pygithub3/tests/test_errors.py33
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)