def setUp(self): conf = {'keystone_relay_path': '/both/v2.0', 'keystone_relay_token_paths': '/both/v2.0/tokens /both/v2.0/token_by', 'keystone_one_url': 'http://192.168.2.100:5001', 'keystone_other_url': 'http://192.168.2.200:5001', 'dispatcher_base_url': 'http://192.168.2.1:10000', 'region_name': 'RegionOne'} self.k = filter_factory(conf)(DummyApp())
def setUp(self): conf = { 'keystone_relay_path': '/both/v2.0', 'keystone_relay_token_paths': '/both/v2.0/tokens /both/v2.0/token_by', 'keystone_one_url': 'http://192.168.2.100:5001', 'keystone_other_url': 'http://192.168.2.200:5001', 'dispatcher_base_url': 'http://192.168.2.1:10000', 'region_name': 'RegionOne' } self.k = filter_factory(conf)(DummyApp())
def test_pass_through(self): """ relay to keystone, not auth request """ app = DummyApp() conf = {'keystone_relay_path': '/both/v2.0', 'keystone_relay_token_paths': '/both/v2.0/tokens /both/v2.0/token_by', 'keystone_one_url': 'http://127.0.0.1:5001', 'keystone_other_url': 'http://127.0.0.1:15001', 'dispatcher_base_url': 'http://127.0.0.1:10000', 'region_name': 'RegionOne'} k = filter_factory(conf)(app) resp = Request.blank('/auth/v1.0', headers={'X-Auth-Token': 't'}).get_response(k) self.assertEqual(json.loads(resp.body), {'data': 'None'}) resp = Request.blank('/both/v2.0/dummy_tokens', headers={'X-Auth-Token': 't'}).get_response(k) self.assertEqual(keystone0_srv.env['PATH_INFO'], '/v2.0/dummy_tokens')
def test_auth_token(self): """ relay to keystone, auth request """ app = DummyApp() result = {'access': {'token': {'expires': '2012-01-09T19:11:27.058939', 'id': '7af4f2ba-96e2-481f-87cc-85eb030c8b52__@@__0acae2a7-aea7-4c83-8b0d-13c2e74fe67b', 'tenant': {'id': '2', 'name': 'test'}}, 'serviceCatalog': [{'endpoints': [{'name': 'swift', 'adminURL': 'http://127.0.0.1:10000/both/v1.0/AUTH_test', 'region': 'RegionOne', 'type': 'object-store', 'internalURL': 'http://127.0.0.1:10000/both/v1.0/AUTH_test', 'publicURL': 'http://127.0.0.1:10000/both/v1.0/AUTH_test'}]}], 'user': {'id': '3', 'roles': [{'id': '2', 'name': 'Member'}], 'name': 'tester'}}} conf = {'keystone_relay_path': '/both/v2.0', 'keystone_relay_token_paths': '/both/v2.0/tokens /both/v2.0/token_by', 'keystone_one_url': 'http://127.0.0.1:5001', 'keystone_other_url': 'http://127.0.0.1:15001', 'dispatcher_base_url': 'http://127.0.0.1:10000', 'region_name': 'RegionOne'} k = filter_factory(conf)(app) resp = Request.blank('/both/v2.0/tokens', method='POST', headers={'Content-Type': 'application/json'}, body=json.dumps({'auth': {'passwordCredentials': {'username': '******', 'password': '******'}, 'tenantId': ''}})).get_response(k) self.assertEqual(json.loads(resp.body), result) resp = Request.blank('/both/v2.0/tokens', method='POST', headers={'Content-Type': 'application/json'}, body=json.dumps({'auth': {'token': {'id': 't__@@__v'}, 'tenantId': ''}})).get_response(k) self.assertEqual(json.loads(resp.body), result) resp = Request.blank('/both/v2.0/tokens', method='POST', headers={'Content-Type': 'application/json'}, body=json.dumps({'auth': {'token': {'id': 't'}, 'tenantId': ''}})).get_response(k) self.assertEqual(json.loads(resp.body), {'data': 'None'})
def test_pass_through(self): """ relay to keystone, not auth request """ app = DummyApp() conf = { 'keystone_relay_path': '/both/v2.0', 'keystone_relay_token_paths': '/both/v2.0/tokens /both/v2.0/token_by', 'keystone_one_url': 'http://127.0.0.1:5001', 'keystone_other_url': 'http://127.0.0.1:15001', 'dispatcher_base_url': 'http://127.0.0.1:10000', 'region_name': 'RegionOne' } k = filter_factory(conf)(app) resp = Request.blank('/auth/v1.0', headers={ 'X-Auth-Token': 't' }).get_response(k) self.assertEqual(json.loads(resp.body), {'data': 'None'}) resp = Request.blank('/both/v2.0/dummy_tokens', headers={ 'X-Auth-Token': 't' }).get_response(k) self.assertEqual(keystone0_srv.env['PATH_INFO'], '/v2.0/dummy_tokens')
def test_auth_token(self): """ relay to keystone, auth request """ app = DummyApp() result = { 'access': { 'token': { 'expires': '2012-01-09T19:11:27.058939', 'id': '7af4f2ba-96e2-481f-87cc-85eb030c8b52__@@__0acae2a7-aea7-4c83-8b0d-13c2e74fe67b', 'tenant': { 'id': '2', 'name': 'test' } }, 'serviceCatalog': [{ 'endpoints': [{ 'name': 'swift', 'adminURL': 'http://127.0.0.1:10000/both/v1.0/AUTH_test', 'region': 'RegionOne', 'type': 'object-store', 'internalURL': 'http://127.0.0.1:10000/both/v1.0/AUTH_test', 'publicURL': 'http://127.0.0.1:10000/both/v1.0/AUTH_test' }] }], 'user': { 'id': '3', 'roles': [{ 'id': '2', 'name': 'Member' }], 'name': 'tester' } } } conf = { 'keystone_relay_path': '/both/v2.0', 'keystone_relay_token_paths': '/both/v2.0/tokens /both/v2.0/token_by', 'keystone_one_url': 'http://127.0.0.1:5001', 'keystone_other_url': 'http://127.0.0.1:15001', 'dispatcher_base_url': 'http://127.0.0.1:10000', 'region_name': 'RegionOne' } k = filter_factory(conf)(app) resp = Request.blank('/both/v2.0/tokens', method='POST', headers={ 'Content-Type': 'application/json' }, body=json.dumps({ 'auth': { 'passwordCredentials': { 'username': '******', 'password': '******' }, 'tenantId': '' } })).get_response(k) self.assertEqual(json.loads(resp.body), result) resp = Request.blank('/both/v2.0/tokens', method='POST', headers={ 'Content-Type': 'application/json' }, body=json.dumps({ 'auth': { 'token': { 'id': 't__@@__v' }, 'tenantId': '' } })).get_response(k) self.assertEqual(json.loads(resp.body), result) resp = Request.blank( '/both/v2.0/tokens', method='POST', headers={ 'Content-Type': 'application/json' }, body=json.dumps({'auth': { 'token': { 'id': 't' }, 'tenantId': '' }})).get_response(k) self.assertEqual(json.loads(resp.body), {'data': 'None'})