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.
tags/v0.16.1
Russell Yanofsky 3 years ago
parent
commit
e02007aade
1 changed files with 5 additions and 8 deletions
  1. 5
    8
      test/functional/test_framework/coverage.py

+ 5
- 8
test/functional/test_framework/coverage.py View File

@@ -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):

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