diff options
author | Richard Hansen <rhansen@rhansen.org> | 2016-02-11 22:50:41 -0500 |
---|---|---|
committer | Richard Hansen <rhansen@rhansen.org> | 2016-02-12 02:40:58 -0500 |
commit | ac2e534fb811f3c1295c742e74dcb14a3c1ff0c1 (patch) | |
tree | 3e0347d15f9a1e40e8d2d922de73fbd7cf971cf4 /gitlab/tests | |
parent | 8f59516a4d7d5c6c654e8c2531092e217d13a4be (diff) | |
download | gitlab-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.py | 26 |
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) |