def _simple_request(self, path, params=None, method='GET'): environ = self._environ(path) environ['REQUEST_METHOD'] = method if params: qs = "&".join(["=".join([k, str(params[k])]) for k in params]) environ['QUERY_STRING'] = qs req = wsgi.Request(environ) req.context = utils.dummy_context('api_test_user', self.project) self.context = req.context return req
def _data_request(self, path, data, content_type='application/json', method='POST', version=None): environ = self._environ(path) environ['REQUEST_METHOD'] = method req = wsgi.Request(environ) req.context = utils.dummy_context('api_test_user', self.project) self.context = req.context ver = version if version else wsgi.DEFAULT_API_VERSION req.version_request = vr.APIVersionRequest(ver) req.body = encodeutils.safe_encode(data) if data else None return req
def _data_request(self, path, data, content_type='application/json', method='POST'): environ = self._environ(path) environ['REQUEST_METHOD'] = method req = wsgi.Request(environ) req.context = utils.dummy_context('api_test_user', self.project) self.context = req.context req.body = encodeutils.safe_encode(data) return req
def _simple_request(self, path, params=None, method='GET', version=None): environ = self._environ(path) environ['REQUEST_METHOD'] = method if params: qs = "&".join(["=".join([k, str(params[k])]) for k in params]) environ['QUERY_STRING'] = qs req = wsgi.Request(environ) req.context = utils.dummy_context('api_test_user', self.project) self.context = req.context ver = version if version else wsgi.DEFAULT_API_VERSION req.version_request = vr.APIVersionRequest(ver) return req
def setUp(self): super(TestPolicyEnforce, self).setUp() self.req = wsgi.Request({}) self.req.context = context.RequestContext(project='foo', is_admin=False) class DummyController(object): REQUEST_SCOPE = 'test' @util.policy_enforce def an_action(self, req): return 'woot' self.controller = DummyController()
def _data_request(self, path, data, content_type='application/json', method='POST', version=None, params=None): environ = self._environ(path) environ['REQUEST_METHOD'] = method if params: qs = "&".join(["=".join([k, str(params[k])]) for k in params]) environ['QUERY_STRING'] = qs req = wsgi.Request(environ) req.context = utils.dummy_context('api_test_user', self.project) self.context = req.context ver = version if version else wsgi.DEFAULT_API_VERSION req.version_request = vr.APIVersionRequest(ver) req.body = encodeutils.safe_encode(data) if data else None return req
def test_call(self): conf = mock.Mock() controller = versions.Controller(conf) environ = { 'REQUEST_METHOD': 'GET', 'SERVER_NAME': 'host', 'SERVER_PORT': 8778, 'SCRIPT_NAME': '/', 'PATH_INFO': '/', 'wsgi.url_scheme': 'http', } req = wsgi.Request(environ) expected_dict = { 'versions': [{ 'id': '1.0', 'status': 'CURRENT', 'updated': '2016-01-18T00:00:00Z', 'media-types': [{ 'base': 'application/json', 'type': 'application/vnd.openstack.clustering-v1+json' }], 'links': [{ 'rel': 'self', 'href': '/v1/' }], 'min_version': versions._MIN_API_VERSION, 'max_version': versions._MAX_API_VERSION }] } expected_body = jsonutils.dumps(expected_dict) resp = controller(req) self.assertIsInstance(resp, webob.Response) self.assertEqual(expected_body, encodeutils.safe_decode(resp.body)) self.assertEqual(http_client.MULTIPLE_CHOICES, resp.status_code) self.assertEqual('application/json', resp.content_type)
def test_call(self, mock_v1): mock_v1.return_value = {'foo': 'bar'} conf = mock.Mock() controller = versions.Controller(conf) environ = { 'REQUEST_METHOD': 'GET', 'SERVER_NAME': 'host', 'SERVER_PORT': 8778, 'SCRIPT_NAME': '/', 'PATH_INFO': '/', 'wsgi.url_scheme': 'http', } req = wsgi.Request(environ) expected_dict = {'versions': [{'foo': 'bar'}]} expected_body = jsonutils.dumps(expected_dict) resp = controller(req) self.assertIsInstance(resp, webob.Response) self.assertEqual(expected_body, encodeutils.safe_decode(resp.body)) self.assertEqual(http_client.MULTIPLE_CHOICES, resp.status_code) self.assertEqual('application/json', resp.content_type)
def setUp(self): super(TestGetAllowedParams, self).setUp() req = wsgi.Request({}) self.params = req.params.copy() self.params.add('foo', 'foo value') self.whitelist = {'foo': 'single'}