Passed
Push — master ( 0bc911...dd3d6b )
by Mingyu
52s
created

TestContextLocalData.setUp()   A

Complexity

Conditions 1

Size

Total Lines 7
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nop 1
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
from abc import abstractmethod
2
3
from flask import g, request
4
5
from app.context import _ContextLocalData
6
from tests import BaseTestCase
7
8
9
class TestContextLocalData(BaseTestCase):
10
    def setUp(self):
11
        super(TestContextLocalData, self).setUp()
12
13
        self.test_context_local_data = _ContextLocalData(
14
            self.proxy_object,
15
            'test',
16
            None
17
        )
18
19
    @property
20
    @abstractmethod
21
    def proxy_object(self):
22
        pass
23
24
    def _test_set(self):
25
        """
26
        set 테스트
27
        """
28
29
        with self.app.test_request_context():
30
            self.test_context_local_data.set(0)
31
            self.assertEqual(0, self.proxy_object.test)
32
33
    def _test_set_outside_context(self):
34
        """
35
        context 바깥에서의 set 테스트
36
        """
37
38
        with self.assertRaises(RuntimeError):
39
            self.test_context_local_data.set(0)
40
41
    def _test_get(self):
42
        """
43
        get 테스트
44
        """
45
46
        with self.app.test_request_context():
47
            self.proxy_object.test = 0
48
            self.assertEqual(0, self.test_context_local_data.get())
49
50
    def _test_get_outside_context(self):
51
        """
52
        context 바깥에서의 get 테스트
53
        """
54
55
        with self.assertRaises(RuntimeError):
56
            _ = self.test_context_local_data.get()
57
58
    def _test_get_default_value(self):
59
        """
60
        get의 기본값 반환 테스트
61
        """
62
63
        with self.app.test_request_context():
64
            self.assertEqual(None, self.test_context_local_data.get())
65
66
67
class TestContextLocalDataOnGObject(TestContextLocalData):
68
    @property
69
    def proxy_object(self):
70
        return g
71
72
    def test_set(self):
73
        self._test_set()
74
75
    def test_set_outside_context(self):
76
        self._test_set_outside_context()
77
78
    def test_get(self):
79
        self._test_get()
80
81
    def test_get_outside_context(self):
82
        self._test_get_outside_context()
83
84
    def test_get_default_value(self):
85
        self._test_get_default_value()
86