Passed
Push — master ( 622bd5...daf764 )
by Mingyu
57s
created

{{cookiecutter.project_slug}}.tests.app.context.test_context_property   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 10
eloc 22
dl 0
loc 51
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A TestContextProperty.test_request_payload_without_set() 0 8 2
A TestContextProperty.test_request_payload_with_set() 0 10 2
A TestContextProperty.test_secret_key_raise_runtime_error_on_outside_context() 0 7 2
A TestContextProperty.test_request_payload_raise_runtime_error_on_outside_context() 0 8 2
A TestContextProperty.test_secret_key() 0 7 2
1
from app.context import context_property
2
from config.app_config import LocalLevelConfig
3
from tests import BaseTestCase
4
5
6
class TestContextProperty(BaseTestCase):
7
    def test_secret_key(self):
8
        """
9
        request context 내에서 secret key 접근
10
        """
11
12
        with self.app.test_request_context():
13
            self.assertEqual(LocalLevelConfig.SECRET_KEY, context_property.secret_key)
14
15
    def test_secret_key_raise_runtime_error_on_outside_context(self):
16
        """
17
        request context 밖에서 secret key 접근 시 RuntimeError 발생
18
        """
19
20
        with self.assertRaises(RuntimeError):
21
            _ = context_property.secret_key
22
23
    def test_request_payload_without_set(self):
24
        """
25
        request context 내에서 임의의 값이 set되지 않은 request payload 접근
26
        -> None으로 평가되어야 함
27
        """
28
29
        with self.app.test_request_context():
30
            self.assertIsNone(context_property.request_payload)
31
32
    def test_request_payload_with_set(self):
33
        """
34
        request context 내에서 임의의 값이 set된 request payload 접근
35
        -> set된 값이 반환되어야 함
36
        """
37
38
        with self.app.test_request_context():
39
            context_property.request_payload = 0
40
41
            self.assertEqual(0, context_property.request_payload)
42
43
    def test_request_payload_raise_runtime_error_on_outside_context(self):
44
        """
45
        request context 밖에서 request payload 접근 시 RuntimeError 발생
46
        """
47
48
        with self.assertRaises(RuntimeError):
49
            context_property.request_payload = 0
50
            _ = context_property.request_payload
51