Project

General

Profile

« Previous | Next » 

Revision 7218849a

Added by koszko over 1 year ago

add a mapping/resources installation dialog

View differences:

test/unit/test_repo_query_cacher.py
22 22
from selenium.webdriver.support.ui import WebDriverWait
23 23

  
24 24
from ..script_loader import load_script
25

  
26
tab_id_responder = '''
27
function tell_tab_id(msg, sender, respond_cb) {
28
    if (msg[0] === "learn_tab_id")
29
        respond_cb(sender.tab.id);
30
}
31
browser.runtime.onMessage.addListener(tell_tab_id);
32
'''
25
from .utils import *
33 26

  
34 27
def content_script():
35
    return load_script('content/repo_query_cacher.js') + ''';
36
    start();
37
    browser.runtime.sendMessage(["learn_tab_id"])
38
        .then(tid => window.wrappedJSObject.haketilo_tab = tid);
39
    '''
28
    script = load_script('content/repo_query_cacher.js')
29
    return f'{script}; {tab_id_asker}; start();'
40 30

  
41 31
def bypass_js():
42 32
    return load_script('background/CORS_bypass_server.js') + '; start();'
43 33

  
44
def run_content_script_in_new_window(driver, url):
45
    initial_handle = driver.current_window_handle
46
    handles = driver.window_handles
47
    driver.execute_script('window.open(arguments[0], "_blank");', url)
48
    WebDriverWait(driver, 10).until(lambda d: d.window_handles is not handles)
49
    new_handle = [h for h in driver.window_handles if h not in handles][0]
50

  
51
    driver.switch_to.window(new_handle)
52

  
53
    get_tab_id = lambda d: d.execute_script('return window.haketilo_tab;')
54
    tab_id = WebDriverWait(driver, 10).until(get_tab_id)
55

  
56
    driver.switch_to.window(initial_handle)
57
    return tab_id
58

  
59 34
def fetch_through_cache(driver, tab_id, url):
60 35
    return driver.execute_script(
61 36
        '''
......
90 65

  
91 66
    for i in range(2):
92 67
        result = fetch_through_cache(driver, tab_id, 'https://nxdoma.in/')
93
        assert set(result.keys()) == {'ok', 'status', 'error-json'}
68
        assert set(result.keys()) == {'ok', 'status', 'error_json'}
94 69
        assert result['ok'] == False
95 70
        assert result['status'] == 404
96 71

  

Also available in: Unified diff