Skip to content

Commit 74075fb

Browse files
committed
Make entities.TokenInfo subclass of auth.Token
1 parent 74faf4d commit 74075fb

File tree

3 files changed

+14
-28
lines changed

3 files changed

+14
-28
lines changed

gogs_client/entities.py

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""
22
Various immutable classes that represent Gogs entities.
33
"""
4+
from gogs_client.auth import Token
45

56

67
def json_get(parsed_json, key):
@@ -242,14 +243,14 @@ def pull(self):
242243
return self._pull
243244

244245

245-
class TokenInfo(object):
246+
class TokenInfo(Token):
246247
"""
247248
An immutable representation of a Gogs user token information
248249
"""
249250

250251
def __init__(self, name, sha1):
251252
self._name = name
252-
self._sha1 = sha1
253+
Token.__init__(self, sha1)
253254

254255
@staticmethod
255256
def from_json(parsed_json):
@@ -265,21 +266,3 @@ def name(self):
265266
:rtype: str
266267
"""
267268
return self._name
268-
269-
@property
270-
def sha1(self):
271-
"""
272-
The hash of the token
273-
274-
:rtype: str
275-
"""
276-
return self._sha1
277-
278-
def as_token(self):
279-
"""
280-
Create Token authenticator for this token
281-
282-
:rtype: gogs_client.auth.Token
283-
"""
284-
from gogs_client.auth import Token
285-
return Token(self.sha1)

gogs_client/interface.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ def ensure_token(self, auth, name, username=None):
101101
username = self.authenticated_user(auth).username
102102
tokens = [token for token in self.get_tokens(auth, username) if token.name == name]
103103
if tokens:
104-
return tokens[0].as_token()
105-
return self.create_token(auth, name, username).as_token()
104+
return tokens[0]
105+
return self.create_token(auth, name, username)
106106

107107
def create_repo(self, auth, name, description=None, private=False, auto_init=False,
108108
gitignore_templates=None, license_template=None, readme_template=None):

tests/interface_test.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def setUp(self):
5252
self.expected_repo = gogs_client.GogsRepo.from_json(json.loads(self.repo_json_str))
5353
self.expected_user = gogs_client.GogsUser.from_json(json.loads(self.user_json_str))
5454
self.expected_token = gogs_client.TokenInfo.from_json(json.loads(self.token_json_str))
55-
self.token = self.expected_token.as_token()
55+
self.token = gogs_client.Token(self.expected_token.token)
5656

5757
@responses.activate
5858
def test_create_repo1(self):
@@ -250,9 +250,9 @@ def test_ensure_token(self):
250250
responses.add(responses.POST, uri, body=self.token_json_str, status=200)
251251
responses.add(responses.GET, uri, body="["+self.token_json_str+"]", status=200)
252252
token = self.client.ensure_token(self.username_password, self.expected_token.name, self.username_password.username)
253-
self.assertEqual(token.token, self.expected_token.sha1)
253+
self.assert_tokens_equals(token, self.expected_token)
254254
token = self.client.ensure_token(self.username_password, self.expected_token.name, self.username_password.username)
255-
self.assertEqual(token.token, self.expected_token.sha1)
255+
self.assert_tokens_equals(token, self.expected_token)
256256

257257
@responses.activate
258258
def test_ensure_auth_token(self):
@@ -264,10 +264,9 @@ def test_ensure_auth_token(self):
264264
tokens = self.client.get_tokens(self.username_password)
265265
self.assertEqual(tokens, [])
266266
tokeninfo = self.client.create_token(self.username_password, self.expected_token.name)
267-
self.assertEqual(tokeninfo.name, self.expected_token.name)
268-
self.assertEqual(tokeninfo.sha1, self.expected_token.sha1)
267+
self.assert_tokens_equals(tokeninfo, self.expected_token)
269268
token = self.client.ensure_token(self.username_password, self.expected_token.name)
270-
self.assertEqual(token.token, self.expected_token.sha1)
269+
self.assert_tokens_equals(token, self.expected_token)
271270

272271
# helper methods
273272

@@ -308,6 +307,10 @@ def assert_users_equals(self, user, expected):
308307
self.assertEqual(user.email, expected.email)
309308
self.assertEqual(user.avatar_url, expected.avatar_url)
310309

310+
def assert_tokens_equals(self, token, expected):
311+
self.assertEqual(token.name, expected.name)
312+
self.assertEqual(token.token, expected.token)
313+
311314

312315
if __name__ == "__main__":
313316
unittest.main()

0 commit comments

Comments
 (0)