本文整理汇总了Python中envi.Request.update方法的典型用法代码示例。如果您正苦于以下问题:Python Request.update方法的具体用法?Python Request.update怎么用?Python Request.update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类envi.Request
的用法示例。
在下文中一共展示了Request.update方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_override
# 需要导入模块: from envi import Request [as 别名]
# 或者: from envi.Request import update [as 别名]
def test_override(self):
""" Из нескольких значений аргумента в запросе сохранится последнее переданное """
request = Request({'prop': 1}, {'prop': 2})
self.assertEqual(2, request.get('prop'))
request.set('prop', 3)
self.assertEqual(3, request.get('prop'))
request.update({'prop': 4})
self.assertEqual(4, request.get('prop'))
示例2: RequestTests
# 需要导入模块: from envi import Request [as 别名]
# 或者: from envi.Request import update [as 别名]
class RequestTests(unittest.TestCase):
def setUp(self):
""" Каждый тест получает пустой объект запроса """
self.request = Request()
def test_getter(self):
""" Запрос инициализируется любым количеством словарей """
request = Request({'a': 1}, {'b': 2}, {'c': 3}, {'d': 4})
self.assertEqual(1, request.get('a'))
self.assertEqual(2, request.get('b'))
self.assertEqual(3, request.get('c'))
self.assertEqual(4, request.get('d'))
def test_getter_type_casting(self):
""" Автоматическое приведение аргументов к нужному типу """
request = Request({'b': '2'})
self.assertEqual('2', request.get('b'))
self.assertEqual(2, request.get('b', cast_type=int))
def test_getter_type_casting_exception(self):
""" Выброс исключения при невозможности приведения аргументов к нужному типу """
request = Request({'a': '1abc'})
self.assertRaises(Request.ArgumentTypeError, request.get, 'a', cast_type=int)
self.assertEqual('1abc', request.get('a'))
def test_getter_default(self):
request = Request({'a': 1}, {'b': 2}, {'c': 3}, {'d': 4})
self.assertRaises(Request.RequiredArgumentIsMissing, request.get, 'x')
self.assertEqual("xxx", request.get('x', "xxx"))
self.assertEqual("xxx", request.get('x', default="xxx"))
self.assertEqual(None, request.get('x', None))
self.assertEqual(None, request.get('x', default=None))
def test_setter(self):
""" Сеттер добавляет в запрос новый аргумент """
self.request.set('argument', True)
self.assertEqual(True, self.request.get('argument'))
def test_update_from_dictionary(self):
""" Запрос можно обновить данными из словаря """
self.request.update({'a': 1, 'b': 2})
self.assertEqual(1, self.request.get('a'))
self.assertEqual(2, self.request.get('b'))
def test_update_from_non_dictionary(self):
""" Попытка обновить запрос не из словаря вызывает исключение """
self.assertRaises(TypeError, self.request.update, 1)
self.assertRaises(TypeError, self.request.update, [])
def test_missing_argument_with_default_value(self):
""" Запрос отсутствующего аргумента с указанием дефолтного значения возвращает переданное дефолтное значение """
self.assertEqual(2, self.request.get('missing_argument_with_default_value', 2))
def test_missing_argument(self):
""" Запрос отсутствующего аргумента без указания дефолтного значения вызывает исключение """
self.assertRaises(Request.RequiredArgumentIsMissing, self.request.get, 'missing_argument')
def test_override(self):
""" Из нескольких значений аргумента в запросе сохранится последнее переданное """
request = Request({'prop': 1}, {'prop': 2})
self.assertEqual(2, request.get('prop'))
request.set('prop', 3)
self.assertEqual(3, request.get('prop'))
request.update({'prop': 4})
self.assertEqual(4, request.get('prop'))
def test_ajax_type_detection(self):
""" Ajax запрос определяется по заголовку HTTP_X_REQUESTED_WITH """
request = Request(environ={"HTTP_X_REQUESTED_WITH": "XMLHttpRequest"})
self.assertEqual(Request.Types.AJAX, request.type())
def test_pjax_type_detection(self):
""" Pjax запрос определяется по двум заголовкам HTTP_X_REQUESTED_WITH и HTTP_X_PJAX """
request = Request(environ={"HTTP_X_PJAX": True, "HTTP_X_REQUESTED_WITH": "XMLHttpRequest"})
self.assertEqual(Request.Types.PJAX, request.type())
def test_json_rpc_type_detection(self):
""" JsonRPC запрос определяется по наличию аргумента q в запросе и только по нему одному """
request = Request({"q": "{}"})
self.assertEqual(Request.Types.JSON_RPC, request.type())
request = Request({"q": "{}"}, environ={"HTTP_X_REQUESTED_WITH": "XMLHttpRequest"})
self.assertEqual(Request.Types.JSON_RPC, request.type())
def test_static_type_detection(self):
""" Любой запрос не являющийся Ajax, Pjax, Json_RPC является STATIC """
request = Request()
self.assertEqual(Request.Types.STATIC, request.type())