Browse Source

Limit AuthServiceProxyWrapper.__getattr__ wrapping

Change AuthServiceProxyWrapper.__getattr__ to only wrap proxied attributes, not
real attributes. This way AuthServiceProxyWrapper can continue logging RPC
calls without complicating other object usages, and special case handling for
the .url property can be dropped.
0.16
Russell Yanofsky 7 years ago
parent
commit
e02007aade
  1. 13
      test/functional/test_framework/coverage.py

13
test/functional/test_framework/coverage.py

@ -31,10 +31,11 @@ class AuthServiceProxyWrapper(object): @@ -31,10 +31,11 @@ class AuthServiceProxyWrapper(object):
self.auth_service_proxy_instance = auth_service_proxy_instance
self.coverage_logfile = coverage_logfile
def __getattr__(self, *args, **kwargs):
return_val = self.auth_service_proxy_instance.__getattr__(
*args, **kwargs)
def __getattr__(self, name):
return_val = getattr(self.auth_service_proxy_instance, name)
if not isinstance(return_val, type(self.auth_service_proxy_instance)):
# If proxy getattr returned an unwrapped value, do the same here.
return return_val
return AuthServiceProxyWrapper(return_val, self.coverage_logfile)
def __call__(self, *args, **kwargs):
@ -52,10 +53,6 @@ class AuthServiceProxyWrapper(object): @@ -52,10 +53,6 @@ class AuthServiceProxyWrapper(object):
return return_val
@property
def url(self):
return self.auth_service_proxy_instance.url
def __truediv__(self, relative_uri):
return AuthServiceProxyWrapper(self.auth_service_proxy_instance / relative_uri)

Loading…
Cancel
Save