FlaskLimiterTestCase.build_app()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
dl 0
loc 10
rs 9.4285
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A test_import() 0 ? 1
1
import logging
2
import unittest
3
from functools import wraps
4
import platform
5
6
import redis
7
from flask import Flask
8
from mock import mock
9
from nose.plugins.skip import SkipTest
10
11
from flask_limiter import Limiter
12
from flask_limiter.util import get_remote_address
13
14
15
class FlaskLimiterTestCase(unittest.TestCase):
16
    def setUp(self):
17
        redis.Redis().flushall()
18
19
    def build_app(self, config={}, **limiter_args):
20
        app = Flask(__name__)
21
        for k, v in config.items():
22
            app.config.setdefault(k, v)
23
        limiter_args.setdefault('key_func', get_remote_address)
24
        limiter = Limiter(app, **limiter_args)
25
        mock_handler = mock.Mock()
26
        mock_handler.level = logging.INFO
27
        limiter.logger.addHandler(mock_handler)
28
        return app, limiter
29
30
31
def test_import():
32
    import flask_limiter
33
34
35
def test_module_version():
36
    import flask_limiter
37
    assert flask_limiter.__version__ is not None
38
39
40
def skip_if_pypy(fn):
41
    @wraps(fn)
42
    def __inner(*a, **k):
43
        if platform.python_implementation().lower() == "pypy":
44
            raise SkipTest
45
        return fn(*a, **k)
46
47
    return __inner
48