def test_admin_client_set_failure(self): auth._client_set('test_admin', 'test_p@ssw0rd', tenant_name='test_default_tenant')\ .AndRaise(Unauthorized('denied')) self.mox.ReplayAll() with self.app.test_request_context(): self.assertRaises(RuntimeError, auth.admin_client_set)
def test_admin_client_set_no_admin(self): auth._client_set('test_admin', 'test_p@ssw0rd', tenant_name='test_default_tenant')\ .AndReturn('FAKE_CLIENT_SET') auth.admin_role_id('FAKE_CLIENT_SET').AndReturn(None) self.mox.ReplayAll() with self.app.test_request_context(): self.assertRaises(RuntimeError, auth.admin_client_set)
def test_admin_client_set_works(self): auth._client_set('test_admin', 'test_p@ssw0rd', tenant_name='test_default_tenant')\ .AndReturn('FAKE_CLIENT_SET') auth.admin_role_id('FAKE_CLIENT_SET').AndReturn('AR_ID') self.mox.ReplayAll() with self.app.test_request_context(): cs = auth.admin_client_set() self.assertEquals(cs, 'FAKE_CLIENT_SET') self.assertEquals(g.admin_client_set, 'FAKE_CLIENT_SET')
def test_api_cs_for_project(self): auth._client_set('test_admin', 'test_p@ssw0rd', tenant_id='PID') \ .AndReturn('FAKE_CS') auth.admin_role_id('FAKE_CS').AndReturn('ROLE') self.mox.ReplayAll() with self.app.test_request_context(): cs = auth.api_client_set('PID') self.assertEquals(cs, 'FAKE_CS')
def test_admin_endpoint_fail(self): admin, password = '******', 'p@ssw0rd' auth._client_set(admin, password, tenant_name='test_default_tenant') \ .AndRaise(Unauthorized('denied')) self.mox.ReplayAll() rv = self.app.test_client().get( '/hello', headers={'Authorization': _basic_auth(admin, password)}) self.assertEquals(rv.status_code, 403, rv.data)
def test_user_endpoint_as_admin(self): user, password = '******', 'p@ssw0rd' auth._client_set(user, password, tenant_name='test_default_tenant') \ .AndReturn('FAKE_CLIENT_SET') auth.admin_role_id('FAKE_CLIENT_SET').AndReturn('AR_ID') auth.current_user_id().AndReturn('FAKE_UID') self.mox.ReplayAll() rv = self.app.test_client().get( '/hello', headers={'Authorization': _basic_auth(user, password)}) self.assertEquals(rv.status_code, 200, rv.data)
def test_admin_endpoint_no_admin(self): admin, password = '******', 'p@ssw0rd' auth._client_set(admin, password, tenant_name='test_default_tenant') \ .AndReturn('FAKE_CLIENT_SET') auth.admin_role_id('FAKE_CLIENT_SET').AndReturn(None) self.mox.ReplayAll() rv = self.app.test_client().get( '/hello', headers={'Authorization': _basic_auth(admin, password)}) self.assertEquals(rv.status_code, 403, rv.data)
def test_success(self): user, password = '******', 'p@ssw0rd' self.fake_client_set = self._fake_client_set_factory() auth._client_set(user, password, tenant_name='systenant') \ .AndReturn(self.fake_client_set) auth.admin_role_id(self.fake_client_set).AndReturn('AR_ID') self.mox.ReplayAll() rv = self.client.get( self.url, headers={'Authorization': _basic_auth(user, password)}) self.check_and_parse_response(rv, status_code=404)
def test_failure(self): user, password = '******', 'p@ssw0rd' auth._client_set(user, password, tenant_name='systenant') \ .AndRaise(Unauthorized('denied')) auth._client_set(user, password) \ .AndRaise(Unauthorized('denied')) self.mox.ReplayAll() rv = self.client.get( self.url, headers={'Authorization': _basic_auth(user, password)}) self.check_and_parse_response(rv, status_code=403, authenticated=False) self.assertTrue('WWW-Authenticate' not in rv.headers)
def test_admin_endpoint_fail(self): admin, password = '******', 'p@ssw0rd' auth._client_set(admin, password, tenant_name='test_default_tenant') \ .AndRaise(Unauthorized('denied')) self.mox.ReplayAll() rv = self.app.test_client().get( '/hello', headers={'Authorization': _basic_auth(admin, password)} ) self.assertEquals(rv.status_code, 403, rv.data)
def test_user_endpoint_as_admin(self): user, password = '******', 'p@ssw0rd' auth._client_set(user, password, tenant_name='test_default_tenant') \ .AndReturn('FAKE_CLIENT_SET') auth.admin_role_id('FAKE_CLIENT_SET').AndReturn('AR_ID') auth.current_user_id().AndReturn('FAKE_UID') self.mox.ReplayAll() rv = self.app.test_client().get( '/hello', headers={'Authorization': _basic_auth(user, password)} ) self.assertEquals(rv.status_code, 200, rv.data)
def test_api_cs_for_project_denied_at_last(self): auth._client_set('test_admin', 'test_p@ssw0rd', tenant_id='PID') \ .AndRaise(Unauthorized('denied')) auth.add_api_superuser_to_project('PID') auth._client_set('test_admin', 'test_p@ssw0rd', tenant_id='PID') \ .AndReturn('FAKE_CS') auth.admin_role_id('FAKE_CS').AndReturn(None) self.mox.ReplayAll() with self.app.test_request_context(): self.assertRaises(RuntimeError, auth.api_client_set, 'PID')
def test_admin_endpoint_no_admin(self): admin, password = '******', 'p@ssw0rd' auth._client_set(admin, password, tenant_name='test_default_tenant') \ .AndReturn('FAKE_CLIENT_SET') auth.admin_role_id('FAKE_CLIENT_SET').AndReturn(None) self.mox.ReplayAll() rv = self.app.test_client().get( '/hello', headers={'Authorization': _basic_auth(admin, password)} ) self.assertEquals(rv.status_code, 403, rv.data)
def test_success(self): user, password = '******', 'p@ssw0rd' self.fake_client_set = self._fake_client_set_factory() auth._client_set(user, password, tenant_name='systenant') \ .AndReturn(self.fake_client_set) auth.admin_role_id(self.fake_client_set).AndReturn('AR_ID') self.mox.ReplayAll() rv = self.client.get(self.url, headers={ 'Authorization': _basic_auth(user, password) }) self.check_and_parse_response(rv, status_code=404)
def test_api_cs_for_project_denied_at_first(self): auth._client_set('test_admin', 'test_p@ssw0rd', tenant_id='PID') \ .AndRaise(Unauthorized('denied')) auth.add_api_superuser_to_project('PID') auth._client_set('test_admin', 'test_p@ssw0rd', tenant_id='PID') \ .AndReturn('FAKE_CS') auth.admin_role_id('FAKE_CS').AndReturn('ROLE') self.mox.ReplayAll() with self.app.test_request_context(): cs = auth.api_client_set('PID') self.assertEquals(cs, 'FAKE_CS')
def test_failure(self): user, password = '******', 'p@ssw0rd' auth._client_set(user, password, tenant_name='systenant') \ .AndRaise(Unauthorized('denied')) auth._client_set(user, password) \ .AndRaise(Unauthorized('denied')) self.mox.ReplayAll() rv = self.client.get(self.url, headers={ 'Authorization': _basic_auth(user, password) }) self.check_and_parse_response(rv, status_code=403, authenticated=False) self.assertTrue('WWW-Authenticate' not in rv.headers)
def test_auth_client_set(self): self.mock_client_set() self.mox.ReplayAll() with self.app.test_request_context(): cs = auth._client_set('u$3R', 'p@ssw0rd', tenant_name='test_tenant') self.assertEquals(cs, self.client)
def test_auth_client_set_by_id(self): self.client = auth.ClientSet(username='******', password='******', auth_uri='test_auth_uri', tenant_name=None, token=None, tenant_id='PID') self.client.http_client = self.mox.CreateMockAnything() self.client.http_client.authenticate() self.mox.ReplayAll() with self.app.test_request_context(): cs = auth._client_set('u$3R', 'p@ssw0rd', tenant_id='PID') self.assertEquals(cs, self.client)