def call(ident, ip): api.reset_local_state() mocked_ident[0] = ident response = app.get('/request', extra_environ={'REMOTE_ADDR': ip}, expect_errors=True) return response.status_int
def setUp(self): super(MembershipTest, self).setUp() api.reset_local_state() self.mock(api, 'is_admin', lambda *_: True) model.AuthGroup(key=model.group_key('testgroup'), members=[]).put() def is_group_member_mock(group, identity): group = model.group_key(group).get() return group is not None and identity in group.members self.mock(api, 'is_group_member', is_group_member_mock)
def setUp(self): super(AuthenticatingHandlerTest, self).setUp() # Reset global config of auth library before each test. api.reset_local_state() # Capture error and warning log messages. self.logged_errors = [] self.mock(handler.logging, 'error', lambda *args, **kwargs: self.logged_errors.append((args, kwargs))) self.logged_warnings = [] self.mock(handler.logging, 'warning', lambda *args, **kwargs: self.logged_warnings.append((args, kwargs)))
def test_works(self): api.reset_local_state() # to clear request-cached AuthDB # Subtoken proto. tok = fake_subtoken_proto('user:[email protected]', audience=['user:[email protected]']) # Sign, serialize. blob = delegation.serialize_token(delegation.seal_token(tok)) # Deserialize, check sig, validate. make_id = model.Identity.from_bytes ident = delegation.check_bearer_delegation_token( blob, make_id('user:[email protected]')) self.assertEqual(make_id('user:[email protected]'), ident)
def setUp(self): super(AuthenticatingHandlerTest, self).setUp() # Reset global config of auth library before each test. handler.configure([]) api.reset_local_state() # Capture error and warning log messages. self.logged_errors = [] self.mock(handler.logging, 'error', lambda *args, **kwargs: self.logged_errors.append((args, kwargs))) self.logged_warnings = [] self.mock(handler.logging, 'warning', lambda *args, **kwargs: self.logged_warnings.append((args, kwargs)))
def call(self, remote_address, email, headers=None): """Mocks current user calls initialize_request_auth.""" class User(object): def email(self): return email self.mock( endpoints_support.endpoints, 'get_current_user', lambda: User() if email else None) api.reset_local_state() endpoints_support.initialize_request_auth(remote_address, headers or {}) return api.get_current_identity().to_bytes()
def call(self, remote_address, email, headers=None): """Mocks current user calls initialize_request_auth.""" class User(object): def email(self): return email self.mock(endpoints_support.endpoints, 'get_current_user', lambda: User() if email else None) api.reset_local_state() endpoints_support.initialize_request_auth(remote_address, headers or {}) return api.get_current_identity().to_bytes()
def call(self, peer_id, email, headers=None): """Mocks pRPC environment and calls the interceptor. Returns: CapturedState with info about auth context inside the handler. MockContext as it is after the request finishes. """ api.reset_local_state() headers = (headers or {}).copy() if email: headers['Authorization'] = 'Bearer %s' % email metadata = [(k.lower(), v) for k, v in sorted(headers.items())] if email != 'BROKEN': ident = model.Anonymous if email: ident = model.Identity(model.IDENTITY_USER, email) self.mock(api, 'check_oauth_access_token', lambda _: (ident, None)) else: def raise_exc(_): raise api.AuthenticationError('OMG, bad token') self.mock(api, 'check_oauth_access_token', raise_exc) ctx = MockContext(peer_id, metadata) call_details = prpclib.HandlerCallDetails('service.Method', metadata) state = [] def continuation(request, context, call_details): state.append( CapturedState( current_identity=api.get_current_identity().to_bytes(), is_superuser=api.is_superuser(), peer_identity=api.get_peer_identity().to_bytes(), peer_ip=api.get_peer_ip(), delegation_token=api.get_delegation_token(), )) return empty_pb2.Empty() prpc.prpc_interceptor(empty_pb2.Empty(), ctx, call_details, continuation) self.assertTrue(len(state) <= 1) return state[0] if state else None, ctx
def setUp(self): super(AuthenticatingHandlerTest, self).setUp() # Reset global config of auth library before each test. api.reset_local_state() # Capture error and warning log messages. self.logged_errors = [] self.mock( handler.logging, 'error', lambda *args, **kwargs: self.logged_errors.append((args, kwargs))) self.logged_warnings = [] self.mock( handler.logging, 'warning', lambda *args, **kwargs: self.logged_warnings.append( (args, kwargs))) # Don't actually check delegation token signatures. self.mock(delegation, 'get_trusted_signers', self.mock_get_trusted_signers)
def setUp(self): super(TestCase, self).setUp() api.reset_local_state() self.logged_errors = [] self.mock( logging, 'error', lambda *args, **kwargs: self.logged_errors.append((args, kwargs))) self.logged_warnings = [] self.mock( logging, 'warning', lambda *args, **kwargs: self.logged_warnings.append( (args, kwargs))) self.trusted_signers = {'user:[email protected]': self} self.mock(delegation, 'get_trusted_signers', lambda: self.trusted_signers)
def call(self, remote_address, email, headers=None): """Mocks current user in initialize_request_auth.""" headers = (headers or {}).copy() if email: headers['Authorization'] = 'Bearer %s' % email # Mock ours auth. ident = model.Anonymous if email: ident = model.Identity(model.IDENTITY_USER, email) self.mock(api, 'check_oauth_access_token', lambda _: (ident, False)) # Mock auth implemented by the Cloud Endpoints. class User(object): def email(self): return email self.mock(endpoints_support.endpoints, 'get_current_user', lambda: User() if email else None) api.reset_local_state() endpoints_support.initialize_request_auth(remote_address, headers) return api.get_current_identity().to_bytes()
def setUp(self): super(ApiTest, self).setUp() api.reset_local_state()
def setUp(self): super(SignatureTest, self).setUp() api.reset_local_state() # to clear request-cached AuthDB
def call(headers): api.reset_local_state() return app.get('/request', headers=headers).body
def setUp(self): super(TestAuthDBCache, self).setUp() api.reset_local_state()
def call(ip): api.reset_local_state() return app.get('/request', extra_environ={'REMOTE_ADDR': ip}).body
def call(ident, ip): api.reset_local_state() mocked_ident[0] = ident response = app.get( '/request', extra_environ={'REMOTE_ADDR': ip}, expect_errors=True) return response.status_int
def setUp(self): super(SignatureTest, self).setUp() api.reset_local_state() # to clear request-cached AuthDB self.mock(delegation, 'get_trusted_signers', self.mock_get_trusted_signers)
def call(ident, ip): api.reset_local_state() handler.configure([lambda _request: ident]) response = app.get( '/request', extra_environ={'REMOTE_ADDR': ip}, expect_errors=True) return response.status_int