1
|
|
|
""" |
2
|
|
|
:Copyright: 2006-2020 Jochen Kupperschmidt |
3
|
|
|
:License: Modified BSD, see LICENSE for details. |
4
|
|
|
""" |
5
|
|
|
|
6
|
|
|
import pytest |
7
|
|
|
|
8
|
|
|
from byceps.services.global_setting import service as settings_service |
9
|
|
|
from byceps.services.global_setting.transfer.models import GlobalSetting |
10
|
|
|
|
11
|
|
|
|
12
|
|
|
def test_create(admin_app): |
13
|
|
|
name = 'name1' |
14
|
|
|
value = 'value1' |
15
|
|
|
|
16
|
|
|
assert settings_service.find_setting(name) is None |
17
|
|
|
|
18
|
|
|
setting = settings_service.create_setting(name, value) |
19
|
|
|
|
20
|
|
|
assert setting is not None |
21
|
|
|
assert setting.name == name |
22
|
|
|
assert setting.value == value |
23
|
|
|
|
24
|
|
|
|
25
|
|
|
def test_create_or_update(admin_app): |
26
|
|
|
name = 'name2' |
27
|
|
|
value1 = 'value2a' |
28
|
|
|
value2 = 'value2b' |
29
|
|
|
|
30
|
|
|
assert settings_service.find_setting(name) is None |
31
|
|
|
|
32
|
|
|
created_setting = settings_service.create_or_update_setting( |
33
|
|
|
name, value1 |
34
|
|
|
) |
35
|
|
|
|
36
|
|
|
assert created_setting is not None |
37
|
|
|
assert created_setting.name == name |
38
|
|
|
assert created_setting.value == value1 |
39
|
|
|
|
40
|
|
|
updated_setting = settings_service.create_or_update_setting( |
41
|
|
|
name, value2 |
42
|
|
|
) |
43
|
|
|
|
44
|
|
|
assert updated_setting is not None |
45
|
|
|
assert updated_setting.name == name |
46
|
|
|
assert updated_setting.value == value2 |
47
|
|
|
|
48
|
|
|
|
49
|
|
|
def test_remove(admin_app): |
50
|
|
|
name = 'name3' |
51
|
|
|
value = 'value3' |
52
|
|
|
|
53
|
|
|
setting = settings_service.create_setting(name, value) |
54
|
|
|
assert settings_service.find_setting(name) is not None |
55
|
|
|
|
56
|
|
|
settings_service.remove_setting(name) |
57
|
|
|
|
58
|
|
|
assert settings_service.find_setting(name) is None |
59
|
|
|
|
60
|
|
|
|
61
|
|
|
def test_find(admin_app): |
62
|
|
|
name = 'name4' |
63
|
|
|
value = 'value4' |
64
|
|
|
|
65
|
|
|
setting_before_create = settings_service.find_setting(name) |
66
|
|
|
assert setting_before_create is None |
67
|
|
|
|
68
|
|
|
settings_service.create_setting(name, value) |
69
|
|
|
|
70
|
|
|
setting_after_create = settings_service.find_setting(name) |
71
|
|
|
assert setting_after_create is not None |
72
|
|
|
assert setting_after_create.name == name |
73
|
|
|
assert setting_after_create.value == value |
74
|
|
|
|
75
|
|
|
|
76
|
|
|
def test_find_value(admin_app): |
77
|
|
|
name = 'name5' |
78
|
|
|
value = 'value5' |
79
|
|
|
|
80
|
|
|
value_before_create = settings_service.find_setting_value(name) |
81
|
|
|
assert value_before_create is None |
82
|
|
|
|
83
|
|
|
settings_service.create_setting(name, value) |
84
|
|
|
|
85
|
|
|
value_after_create = settings_service.find_setting_value(name) |
86
|
|
|
assert value_after_create == value |
87
|
|
|
|
88
|
|
|
|
89
|
|
|
def test_get_settings(admin_app): |
90
|
|
|
all_settings_before_create = settings_service.get_settings() |
91
|
|
|
assert all_settings_before_create == set() |
92
|
|
|
|
93
|
|
|
for name, value in { |
94
|
|
|
('name6a', 'value6a'), |
95
|
|
|
('name6b', 'value6b'), |
96
|
|
|
('name6c', 'value6c'), |
97
|
|
|
}: |
98
|
|
|
settings_service.create_setting(name, value) |
99
|
|
|
|
100
|
|
|
all_settings_after_create = settings_service.get_settings() |
101
|
|
|
assert all_settings_after_create == { |
102
|
|
|
GlobalSetting('name6a', 'value6a'), |
103
|
|
|
GlobalSetting('name6b', 'value6b'), |
104
|
|
|
GlobalSetting('name6c', 'value6c'), |
105
|
|
|
} |
106
|
|
|
|
107
|
|
|
|
108
|
|
|
def teardown_function(func): |
109
|
|
|
if func is test_create: |
110
|
|
|
settings_service.remove_setting('name1') |
111
|
|
|
elif func is test_create_or_update: |
112
|
|
|
settings_service.remove_setting('name2') |
113
|
|
|
elif func is test_find: |
114
|
|
|
settings_service.remove_setting('name4') |
115
|
|
|
elif func is test_find_value: |
116
|
|
|
settings_service.remove_setting('name5') |
117
|
|
|
elif func is test_get_settings: |
118
|
|
|
for name in 'name6a', 'name6b', 'name6c': |
119
|
|
|
settings_service.remove_setting(name) |
120
|
|
|
|