def test_versions_dispatch(self): req = fakes.HTTPRequest.blank('/') req.method = 'GET' req.content_type = 'application/json' resource = versions.Versions() result = resource.dispatch(resource.index, req, {}) self.assertTrue(result)
def test_get_version_list(self): req = webob.Request.blank('/', base_url='http://127.0.0.1:8776/') req.accept = 'application/json' res = versions.Versions().index(req) results = res['versions'] expected = [ { 'id': 'v1.0', 'status': 'SUPPORTED', 'updated': '2014-06-28T12:20:21Z', 'links': [{ 'rel': 'self', 'href': 'http://127.0.0.1:8776/v1/' }], }, { 'id': 'v2.0', 'status': 'CURRENT', 'updated': '2012-11-21T11:33:21Z', 'links': [{ 'rel': 'self', 'href': 'http://127.0.0.1:8776/v2/' }], }, ] self.assertEqual(expected, results)
def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None, use_no_auth=False, ext_mgr=None): if not inner_app_v2: inner_app_v2 = router.APIRouter(ext_mgr) if fake_auth: if fake_auth_context is not None: ctxt = fake_auth_context else: ctxt = context.RequestContext('fake', 'fake', auth_token=True) api_v2 = fault.FaultWrapper(auth.InjectContext(ctxt, inner_app_v2)) elif use_no_auth: api_v2 = fault.FaultWrapper( auth.NoAuthMiddleware(limits.RateLimitingMiddleware(inner_app_v2))) else: api_v2 = fault.FaultWrapper( auth.AuthMiddleware(limits.RateLimitingMiddleware(inner_app_v2))) mapper = urlmap.URLMap() mapper['/v2'] = api_v2 mapper['/'] = fault.FaultWrapper(versions.Versions()) return mapper
def test_versions_root(self, version): req = fakes.HTTPRequest.blank('/', base_url='http://localhost') req.method = 'GET' req.content_type = 'application/json' response = req.get_response(versions.Versions()) self.assertEqual(300, response.status_int) body = jsonutils.loads(response.body) version_list = body['versions'] ids = [v['id'] for v in version_list] self.assertEqual({'v1.0', 'v2.0', 'v3.0'}, set(ids)) v1 = [v for v in version_list if v['id'] == 'v1.0'][0] self.assertEqual('', v1.get('min_version')) self.assertEqual('', v1.get('version')) v2 = [v for v in version_list if v['id'] == 'v2.0'][0] self.assertEqual('', v2.get('min_version')) self.assertEqual('', v2.get('version')) v3 = [v for v in version_list if v['id'] == 'v3.0'][0] self.assertEqual(api_version_request._MAX_API_VERSION, v3.get('version')) self.assertEqual(api_version_request._MIN_API_VERSION, v3.get('min_version'))
def test_versions_index(self): req = fakes.HTTPRequest.blank('/') req.method = 'GET' req.content_type = 'application/json' resource = versions.Versions() result = resource.dispatch(resource.index, req, {}) ids = [v['id'] for v in result['versions']] self.assertEqual(set(ids), set(['v1.0', 'v2.0']))
def test_versions_multi_disable_v2(self): self.flags(enable_v2_api=False) req = fakes.HTTPRequest.blank('/') req.method = 'GET' req.content_type = 'application/json' resource = versions.Versions() result = resource.dispatch(resource.multi, req, {}) ids = [v['id'] for v in result['choices']] self.assertEqual(set(ids), set(['v1.0']))
def test_versions_root(self): req = self.build_request(base_url='http://localhost') response = req.get_response(versions.Versions()) self.assertEqual(HTTPStatus.MULTIPLE_CHOICES, response.status_int) body = jsonutils.loads(response.body) version_list = body['versions'] ids = [v['id'] for v in version_list] self.assertEqual(1, len(ids)) self.assertIn('v3.0', ids) v3 = [v for v in version_list if v['id'] == 'v3.0'][0] self.assertEqual(api_version_request._MAX_API_VERSION, v3.get('version')) self.assertEqual(api_version_request._MIN_API_VERSION, v3.get('min_version'))
def test_versions_root(self, version): req = self.build_request(base_url='http://localhost') response = req.get_response(versions.Versions()) self.assertEqual(http_client.MULTIPLE_CHOICES, response.status_int) body = jsonutils.loads(response.body) version_list = body['versions'] ids = [v['id'] for v in version_list] self.assertEqual({'v1.0', 'v2.0', 'v3.0'}, set(ids)) v1 = [v for v in version_list if v['id'] == 'v1.0'][0] self.assertEqual('', v1.get('min_version')) self.assertEqual('', v1.get('version')) v2 = [v for v in version_list if v['id'] == 'v2.0'][0] self.assertEqual('', v2.get('min_version')) self.assertEqual('', v2.get('version')) v3 = [v for v in version_list if v['id'] == 'v3.0'][0] self.assertEqual(api_version_request._MAX_API_VERSION, v3.get('version')) self.assertEqual(api_version_request._MIN_API_VERSION, v3.get('min_version'))
def setUp(self): super(VersionsControllerTestCase, self).setUp() self.wsgi_apps = (versions.Versions(), router.APIRouter())
def test_versions_action_args_multi(self): request_environment = {'PATH_INFO': '/fake/path'} resource = versions.Versions() result = resource.get_action_args(request_environment) self.assertEqual(result['action'], 'multi')
def test_versions_action_args_index(self): request_environment = {'PATH_INFO': '/'} resource = versions.Versions() result = resource.get_action_args(request_environment) self.assertEqual(result['action'], 'index')