3 |
3 |
from wcs import data_sources
|
4 |
4 |
from wcs.data_sources import NamedDataSource
|
5 |
5 |
from wcs.qommon.http_request import HTTPRequest
|
|
6 |
from wcs.qommon.template import Template
|
6 |
7 |
|
7 |
8 |
from .utilities import clean_temporary_pub, create_temporary_pub
|
8 |
9 |
|
... | ... | |
33 |
34 |
datasource.data_source = {'type': 'wcs:users'}
|
34 |
35 |
datasource.store()
|
35 |
36 |
|
|
37 |
context = pub.substitutions.get_context_variables(mode='lazy')
|
|
38 |
tmpl = Template(
|
|
39 |
'{% for user in data_source.foo %}{{ user.text }}{% if not forloop.last %}, {% endif %}{% endfor %}'
|
|
40 |
)
|
|
41 |
|
36 |
42 |
assert data_sources.get_items({'type': datasource.slug}) == []
|
37 |
43 |
assert data_sources.get_items(datasource.extended_data_source) == []
|
38 |
44 |
assert data_sources.get_structured_items({'type': datasource.slug}) == []
|
39 |
45 |
assert data_sources.get_structured_items(datasource.extended_data_source) == []
|
|
46 |
assert tmpl.render(context) == ''
|
40 |
47 |
|
41 |
48 |
users = []
|
42 |
49 |
for i in range(2):
|
... | ... | |
61 |
68 |
{'id': 1, 'text': 'John Doe 0'},
|
62 |
69 |
{'id': 2, 'text': 'John Doe 1'},
|
63 |
70 |
]
|
|
71 |
assert tmpl.render(context) == 'John Doe 0, John Doe 1'
|
64 |
72 |
|
65 |
73 |
datasource.users_included_roles = [role1.id]
|
66 |
74 |
datasource.store()
|
... | ... | |
72 |
80 |
{'id': 1, 'text': 'John Doe 0'},
|
73 |
81 |
{'id': 2, 'text': 'John Doe 1'},
|
74 |
82 |
]
|
|
83 |
assert tmpl.render(context) == 'John Doe 0, John Doe 1'
|
75 |
84 |
|
76 |
85 |
datasource.users_included_roles = [role1.id, role2.id]
|
77 |
86 |
datasource.store()
|
78 |
87 |
assert data_sources.get_structured_items({'type': datasource.slug}) == []
|
79 |
88 |
assert data_sources.get_structured_items(datasource.extended_data_source) == []
|
|
89 |
assert tmpl.render(context) == ''
|
80 |
90 |
|
81 |
91 |
users[0].roles = [role1.id, role2.id]
|
82 |
92 |
users[0].store()
|
... | ... | |
84 |
94 |
assert data_sources.get_structured_items(datasource.extended_data_source) == [
|
85 |
95 |
{'id': 1, 'text': 'John Doe 0'}
|
86 |
96 |
]
|
|
97 |
assert tmpl.render(context) == 'John Doe 0'
|
87 |
98 |
|
88 |
99 |
users[0].roles = [role2.id]
|
89 |
100 |
users[0].store()
|
... | ... | |
94 |
105 |
assert data_sources.get_structured_items(datasource.extended_data_source) == [
|
95 |
106 |
{'id': 1, 'text': 'John Doe 0'}
|
96 |
107 |
]
|
|
108 |
assert tmpl.render(context) == 'John Doe 0'
|
97 |
109 |
|
98 |
110 |
datasource.users_excluded_roles = [role1.id, role2.id]
|
99 |
111 |
datasource.store()
|
100 |
112 |
assert data_sources.get_structured_items({'type': datasource.slug}) == []
|
101 |
113 |
assert data_sources.get_structured_items(datasource.extended_data_source) == []
|
|
114 |
assert tmpl.render(context) == ''
|