/ tests / Pickle.py
Pickle.py
 1  import pickle
 2  import unittest
 3  
 4  import github
 5  from github.Repository import Repository
 6  
 7  REPO_NAME = "PyGithub/PyGithub"
 8  
 9  
10  class Pickle(unittest.TestCase):
11      def testPickleGithub(self):
12          gh = github.Github()
13          gh2 = pickle.loads(pickle.dumps(gh))
14          self.assertIsInstance(gh2, github.Github)
15          self.assertIsNotNone(gh2._Github__requester._Requester__connection_lock)
16          self.assertIsNone(gh2._Github__requester._Requester__connection)
17          self.assertEqual(len(gh2._Github__requester._Requester__custom_connections), 0)
18  
19      def testPickleRepository(self):
20          gh = github.Github()
21          repo = gh.get_repo(REPO_NAME, lazy=True)
22          repo2 = pickle.loads(pickle.dumps(repo))
23          self.assertIsInstance(repo2, Repository)
24          self.assertIsNotNone(repo2._requester._Requester__connection_lock)
25          self.assertIsNone(repo2._requester._Requester__connection)
26          self.assertEqual(len(repo2._requester._Requester__custom_connections), 0)