summaryrefslogtreecommitdiff
path: root/gitlab/tests
diff options
context:
space:
mode:
authorRichard Hansen <rhansen@rhansen.org>2016-02-11 22:50:41 -0500
committerRichard Hansen <rhansen@rhansen.org>2016-02-12 02:40:58 -0500
commitac2e534fb811f3c1295c742e74dcb14a3c1ff0c1 (patch)
tree3e0347d15f9a1e40e8d2d922de73fbd7cf971cf4 /gitlab/tests
parent8f59516a4d7d5c6c654e8c2531092e217d13a4be (diff)
downloadgitlab-ac2e534fb811f3c1295c742e74dcb14a3c1ff0c1.tar.gz
define UserManager.get_by_username() to get a user by username
Diffstat (limited to 'gitlab/tests')
-rw-r--r--gitlab/tests/test_manager.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/gitlab/tests/test_manager.py b/gitlab/tests/test_manager.py
index 1b808a9..59987a7 100644
--- a/gitlab/tests/test_manager.py
+++ b/gitlab/tests/test_manager.py
@@ -258,6 +258,32 @@ class TestGitlabManager(unittest.TestCase):
self.assertEqual(data[0].id, 1)
self.assertEqual(data[1].id, 2)
+ def test_user_manager_get_by_username(self):
+ mgr = UserManager(self.gitlab)
+
+ @urlmatch(scheme="http", netloc="localhost", path="/api/v3/users",
+ query="username=foo", method="get")
+ def resp_get_username(url, request):
+ headers = {'content-type': 'application/json'}
+ content = '[{"name": "foo", "id": 1}]'.encode("utf-8")
+ return response(200, content, headers, None, 5, request)
+
+ with HTTMock(resp_get_username):
+ data = mgr.get_by_username('foo')
+ self.assertEqual(type(data), User)
+ self.assertEqual(data.name, "foo")
+ self.assertEqual(data.id, 1)
+
+ @urlmatch(scheme="http", netloc="localhost", path="/api/v3/users",
+ query="username=foo", method="get")
+ def resp_get_username_nomatch(url, request):
+ headers = {'content-type': 'application/json'}
+ content = '[]'.encode("utf-8")
+ return response(200, content, headers, None, 5, request)
+
+ with HTTMock(resp_get_username_nomatch):
+ self.assertRaises(GitlabGetError, mgr.get_by_username, 'foo')
+
def test_group_manager_search(self):
mgr = GroupManager(self.gitlab)