当前位置: 首页>>代码示例>>Python>>正文


Python Request.update方法代码示例

本文整理汇总了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'))
开发者ID:ayurjev,项目名称:envi,代码行数:12,代码来源:tests.py

示例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())
开发者ID:ayurjev,项目名称:envi,代码行数:92,代码来源:tests.py


注:本文中的envi.Request.update方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。