почему кроме как не поднимать здесь? - PullRequest
0 голосов
/ 08 октября 2019

это вид:

    @action(detail=False, permission_classes=(AllowAny,))
        def anon_test_view(self, request):
            limit = int(settings.REST_FRAMEWORK['DEFAULT_THROTTLE_RATES']['anon'].split('/')[0])
            host_ip = '127.0.0.1'
            anon_key = f'throttle_user_{host_ip}'
            leaves = limit - len(cache.get(anon_key))
            return Response({"ok": True, "leaves": leaves}, status=status.HTTP_200_OK)

это тесты:

    TEST_THROTTLE_RATES = {
            'anon': '40/day',
            'user': '40/day',
        }

...


    # ограничение числа запросов от Анонимуса
        test_rate_setting = copy.deepcopy(settings.REST_FRAMEWORK)
        test_rate_setting['DEFAULT_THROTTLE_RATES'] = TEST_THROTTLE_RATES
        @override_settings(REST_FRAMEWORK=test_rate_setting)
        def testAnonRateCount(self):
            cache.clear()
            limit = int(settings.REST_FRAMEWORK['DEFAULT_THROTTLE_RATES']['anon'].split('/')[0])
            try:
                for i in range(limit + 1):
                    too_rate_request = self.app.get('/api/anon_test_view/')
                    print('leaves for anon:{}'.format(too_rate_request.json['leaves']))
            except AppError as e:
                responce_msg = e.args[0]
                assert responce_msg.startswith('Bad response: 429')

просто слова: в настройках anonrate 400 нов тестах я хочу ограничить его до 40, если я не переопределяю настройки теста Пройдено (за исключением случаев), но с исключением переопределения не происходит - почему?

...