Revision ea9df6c7
Added by koszko over 1 year ago
test/unit/test_popup.py | ||
---|---|---|
39 | 39 |
'allow': False |
40 | 40 |
} |
41 | 41 |
|
42 |
mapping_page_info = { |
|
43 |
**unprivileged_page_info, |
|
44 |
'mapping': 'm1', |
|
45 |
'payload': {'identifier': 'res1'} |
|
46 |
} |
|
47 |
|
|
42 | 48 |
mocked_page_infos = { |
43 | 49 |
'privileged': { |
44 | 50 |
'url': 'moz-extension://<some-id>/file.html', |
... | ... | |
58 | 64 |
'allow': True, |
59 | 65 |
'mapping': '~allow' |
60 | 66 |
}, |
61 |
'mapping': {
|
|
62 |
**unprivileged_page_info,
|
|
63 |
'mapping': 'm1',
|
|
64 |
'payload': {'identifier': 'res1'}
|
|
67 |
'mapping': mapping_page_info,
|
|
68 |
'error_deciding_policy': {
|
|
69 |
**mapping_page_info,
|
|
70 |
'error': {'haketilo_error_type': 'deciding_policy'}
|
|
65 | 71 |
}, |
66 |
'error': { |
|
67 |
**unprivileged_page_info, |
|
68 |
'error': True |
|
72 |
'error_missing': { |
|
73 |
**mapping_page_info, |
|
74 |
'error': {'haketilo_error_type': 'missing', 'id': 'some-missing-res'} |
|
75 |
}, |
|
76 |
'error_circular': { |
|
77 |
**mapping_page_info, |
|
78 |
'error': {'haketilo_error_type': 'circular', 'id': 'some-circular-res'} |
|
79 |
}, |
|
80 |
'error_db': { |
|
81 |
**mapping_page_info, |
|
82 |
'error': {'haketilo_error_type': 'db'} |
|
83 |
}, |
|
84 |
'error_other': { |
|
85 |
**mapping_page_info, |
|
86 |
'error': {'haketilo_error_type': 'other'} |
|
69 | 87 |
} |
70 | 88 |
} |
71 | 89 |
|
... | ... | |
147 | 165 |
assert by_id['page_url'].text == mocked_page_infos[page_info_key]['url'] |
148 | 166 |
assert not by_id['repo_query_container'].is_displayed() |
149 | 167 |
|
150 |
if 'blocked' in page_info_key or page_info_key in ('mapping', 'error'): |
|
151 |
assert by_id['scripts_blocked'].text.lower() == 'yes' |
|
152 |
elif 'allowed' in page_info_key: |
|
168 |
if 'allow' in page_info_key: |
|
153 | 169 |
assert by_id['scripts_blocked'].text.lower() == 'no' |
170 |
elif page_info_key != 'privileged': |
|
171 |
assert by_id['scripts_blocked'].text.lower() == 'yes' |
|
154 | 172 |
|
173 |
payload_text = by_id['injected_payload'].text |
|
155 | 174 |
if page_info_key == 'mapping': |
156 |
assert by_id['injected_payload'].text == 'res1' |
|
175 |
assert payload_text == 'res1' |
|
176 |
elif page_info_key == 'error_missing': |
|
177 |
assert payload_text == \ |
|
178 |
"None (error: resource with id 'some-missing-res' missing from the database)" |
|
179 |
elif page_info_key == 'error_circular': |
|
180 |
assert payload_text == \ |
|
181 |
"None (error: circular dependency of resource with id 'some-circular-res' on itself)" |
|
182 |
elif page_info_key == 'error_db': |
|
183 |
assert payload_text == \ |
|
184 |
'None (error: failure reading Haketilo internal database)' |
|
185 |
elif page_info_key == 'error_other': |
|
186 |
assert payload_text == \ |
|
187 |
'None (error: unknown failure occured)' |
|
157 | 188 |
elif page_info_key != 'privileged': |
158 |
assert by_id['injected_payload'].text == 'None'
|
|
189 |
assert payload_text == 'None'
|
|
159 | 190 |
|
160 | 191 |
mapping_text = by_id['mapping_used'].text |
161 |
if page_info_key == 'mapping': |
|
192 |
|
|
193 |
if page_info_key == 'error_deciding_policy': |
|
194 |
assert mapping_text == 'None (error occured when determining policy)' |
|
195 |
elif page_info_key == 'mapping' or page_info_key.startswith('error'): |
|
162 | 196 |
assert mapping_text == 'm1' |
163 | 197 |
|
164 | 198 |
if 'allowed' in page_info_key: |
165 |
'None (scripts allowed by' in mapping_text |
|
199 |
assert 'None (scripts allowed by' in mapping_text
|
|
166 | 200 |
elif 'blocked' in page_info_key: |
167 |
'None (scripts blocked by' in mapping_text |
|
201 |
assert 'None (scripts blocked by' in mapping_text
|
|
168 | 202 |
|
169 | 203 |
if 'rule' in page_info_key: |
170 |
'by a rule)' in mapping_text |
|
204 |
assert 'by a rule)' in mapping_text
|
|
171 | 205 |
elif 'default' in page_info_key: |
172 |
'by default_policy)' in mapping_text |
|
173 |
|
|
174 |
if page_info_key == 'error': |
|
175 |
assert mapping_text == 'None (error occured when determining policy)' |
|
206 |
assert 'by default policy)' in mapping_text |
|
176 | 207 |
|
177 | 208 |
@pytest.mark.ext_data(popup_ext_data) |
178 | 209 |
@pytest.mark.usefixtures('webextension') |
Also available in: Unified diff
update error reporting in popup