10000 Merge pull request #321 from zubchick/develop · smakinson/github3.py@cc8248f · GitHub
[go: up one dir, main page]

Skip to content

Commit cc8248f

Browse files
committed
Merge pull request sigmavirus24#321 from zubchick/develop
issue with pickle in GitHubSession
2 parents c91f7d0 + 0674cb6 commit cc8248f

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

github3/session.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def requires_2fa(response):
1919

2020
class GitHubSession(requests.Session):
2121
auth = None
22+
__attrs__ = requests.Session.__attrs__ + ['base_url', 'two_factor_auth_cb']
2223

2324
def __init__(self):
2425
super(GitHubSession, self).__init__()

tests/unit/test_github_session.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
try:
2+
import cPickle as pickle
3+
except ImportError:
4+
import pickle
5+
16
import pytest
27

38
import requests
@@ -231,3 +236,14 @@ def test_retrieve_client_credentials_returns_none(self):
231236
"""
232237
s = self.build_session()
233238
assert s.retrieve_client_credentials() == (None, None)
239+
240+
def test_pickling(self):
241+
s = self.build_session('https://api.github.com')
242+
dumped = pickle.dumps(s, pickle.HIGHEST_PROTOCOL)
243+
loaded = pickle.loads(dumped)
244+
245+
assert hasattr(loaded, 'base_url')
246+
assert hasattr(loaded, 'two_factor_auth_cb')
247+
248+
assert loaded.base_url == s.base_url
249+
assert loaded.two_factor_auth_cb == s.two_factor_auth_cb

0 commit comments

Comments
 (0)
0