From e06257d06017b72bb57b15b043e6f16d4b6eb568 Mon Sep 17 00:00:00 2001 From: AKFish Date: Wed, 21 Aug 2013 20:58:29 +0800 Subject: [PATCH] Enable debug in TestCase --- github/GithubObject.py | 6 +++++- github/Requester.py | 16 +++++++++++----- github/tests/Framework.py | 20 ++++++++++++++++++++ 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/github/GithubObject.py b/github/GithubObject.py index 760afad9..3fc89992 100644 --- a/github/GithubObject.py +++ b/github/GithubObject.py @@ -45,6 +45,10 @@ class GithubObject(object): ''' CHECK_AFTER_INIT_FLAG = False + @classmethod + def setCheckAfterInitFlag(cls, flag): + cls.CHECK_AFTER_INIT_FLAG = flag + def __init__(self, requester, headers, attributes, completed): self._requester = requester # Make sure headers are signed before any operations on attributes @@ -55,7 +59,7 @@ class GithubObject(object): # Ask requester to do some checking, for debug and test purpose # Since it's most handy to access and kinda all-knowing - if (GithubObject.CHECK_AFTER_INIT_FLAG): + if (self.CHECK_AFTER_INIT_FLAG): requester.check_me(self); def _storeAndUseAttributes(self, attributes): diff --git a/github/Requester.py b/github/Requester.py index c08940ba..7d944c3e 100644 --- a/github/Requester.py +++ b/github/Requester.py @@ -64,6 +64,13 @@ class Requester: ############################################################# # For Debug + @classmethod + def setDebugFlag(cls, flag): + cls.DEBUG_FLAG = flag + + @classmethod + def setOnCheckMe(cls, onCheckMe): + cls.ON_CHECK_ME = onCheckMe DEBUG_FLAG = False @@ -71,6 +78,8 @@ class Requester: DEBUG_HEADER_KEY = "DEBUG_FRAME" + ON_CHECK_ME = None + def NEW_DEBUG_FRAME(self, requestHeader): ''' Initialize a debug frame with requestHeader @@ -102,17 +111,14 @@ class Requester: def check_me(self, obj): - if self.DEBUG_FLAG and self.onCheckMe is not None: + if self.DEBUG_FLAG and self.ON_CHECK_ME is not None: frame = None if self.DEBUG_HEADER_KEY in obj._headers: frame_index = obj._headers[self.DEBUG_HEADER_KEY] frame = self._frameBuffer[frame_index] - onCheckMe(self, obj, frame) + self.ON_CHECK_ME(obj, frame) def _initializeDebugFeature(self): - if not self.DEBUG_FLAG: - return - self.onCheckMe = None self._frameCount = 0 self._frameBuffer = [] ############################################################# diff --git a/github/tests/Framework.py b/github/tests/Framework.py index 706bdbdd..bc0f5028 100644 --- a/github/tests/Framework.py +++ b/github/tests/Framework.py @@ -244,10 +244,30 @@ class BasicTestCase(unittest.TestCase): class TestCase(BasicTestCase): + def doCheckFrame(self, obj, frame): + pass + + + def getFrameChecker(self): + return lambda requester, obj, frame: self.doCheckFrame(obj, frame) + def setUp(self): BasicTestCase.setUp(self) + + # Set up frame debugging + + github.GithubObject.GithubObject.setCheckAfterInitFlag(True) + + github.Requester.Requester.setDebugFlag(True) + + github.Requester.Requester.setOnCheckMe(self.getFrameChecker()) + self.g = github.Github(self.login, self.password) + + + def activateRecordMode(): # pragma no cover (Function useful only when recording new tests, not used during automated tests) BasicTestCase.recordMode = True +