Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
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
Пример #4
0
    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'))
Пример #5
0
 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']))
Пример #6
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']))
Пример #7
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'))
Пример #8
0
    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'))
Пример #9
0
 def setUp(self):
     super(VersionsControllerTestCase, self).setUp()
     self.wsgi_apps = (versions.Versions(), router.APIRouter())
Пример #10
0
 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')
Пример #11
0
 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')