Revision f650ee99
Added by koszko over 1 year ago
test/haketilo_test/unit/test_content.py | ||
---|---|---|
88 | 88 |
} |
89 | 89 |
|
90 | 90 |
repo_query_cacher.start = () => data_set("cacher_started", true); |
91 |
haketilo_apis.start = () => data_set("apis_started", true); |
|
91 | 92 |
|
92 | 93 |
enforce_blocking = policy => data_set("enforcing", policy); |
93 | 94 |
|
... | ... | |
118 | 119 |
|
119 | 120 |
@pytest.mark.ext_data({'content_script': content_script}) |
120 | 121 |
@pytest.mark.usefixtures('webextension') |
121 |
@pytest.mark.parametrize('target1', ['dynamic_before'])#, 'dynamic_after'])
|
|
122 |
@pytest.mark.parametrize('target1', ['dynamic_before', 'dynamic_after']) |
|
122 | 123 |
@pytest.mark.parametrize('target2', [ |
123 | 124 |
'scripts_blocked', |
124 | 125 |
'payload_error', |
... | ... | |
144 | 145 |
assert data['bad_request_returned'] == False |
145 | 146 |
|
146 | 147 |
assert data['cacher_started'] == True |
148 |
assert data.get('apis_started', False) == (target2 == 'payload_ok') |
|
147 | 149 |
|
148 | 150 |
for obj in (data['good_request_result'], data['enforcing']): |
149 | 151 |
assert obj['allow'] == False |
... | ... | |
162 | 164 |
|
163 | 165 |
def vars_made_by_payload(driver): |
164 | 166 |
vars_values = driver.execute_script( |
165 |
'return [1, 2].map(n => window[`hak_injected_${n}`]);' |
|
166 |
) |
|
167 |
if vars_values != [None, None]: |
|
167 |
''' |
|
168 |
return [ |
|
169 |
...[1, 2].map(n => window[`hak_injected_${n}`]), |
|
170 |
window.haketilo_version |
|
171 |
]; |
|
172 |
''') |
|
173 |
if vars_values != [None, None, None]: |
|
168 | 174 |
return vars_values |
169 | 175 |
|
170 | 176 |
if target2 == 'payload_error': |
... | ... | |
174 | 180 |
} |
175 | 181 |
elif target2 == 'payload_ok': |
176 | 182 |
vars_values = WebDriverWait(driver, 10).until(vars_made_by_payload) |
177 |
assert vars_values == [1, 2] |
|
183 |
assert vars_values[:2] == [1, 2] |
|
184 |
assert type(vars_values[2]) == str |
|
178 | 185 |
|
179 | 186 |
@pytest.mark.ext_data({'content_script': content_script}) |
180 | 187 |
@pytest.mark.usefixtures('webextension') |
Also available in: Unified diff
prepare for exposing APIs to injected scripts