mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
update test + pezxommir
* change selector for filter keyword on global config page * update service test * remove return statement on test utils * use utils to verify selects on plugins page
This commit is contained in:
parent
f2d5273f68
commit
1d56a96bde
5 changed files with 29 additions and 24 deletions
|
|
@ -1,3 +1,3 @@
|
|||
{% if USE_ANTIBOT != "no" +%}
|
||||
SecRule REQUEST_FILENAME "@rx ^{{ ANTIBOT_URI }}$" "nolog,phase:4,allow,id:1010"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -19,12 +19,12 @@ try:
|
|||
|
||||
# Set keyword with no matching settings
|
||||
keyword_no_match = "dqz48 é84 dzq 584dz5qd4"
|
||||
btn_keyword = safe_get_element(DRIVER, "js", 'document.querySelector("button#settings-filter")')
|
||||
btn_keyword = safe_get_element(DRIVER, "js", 'document.querySelector("input#settings-filter")')
|
||||
btn_keyword.send_keys(keyword_no_match)
|
||||
sleep(0.1)
|
||||
|
||||
# Check that the no matching element is shown and other card hide
|
||||
is_no_match = DRIVER.execute_script('return document.querySelector("[data-global-config-nomatch]").classList.contains("hidden") ? false : true')
|
||||
is_no_match = DRIVER.execute_script('return document.querySelector("[data-global-config-nomatch]").classList.contains("hidden")')
|
||||
if not is_no_match:
|
||||
log_error(f"Filter keyword with value {keyword_no_match} shouldn't match something.")
|
||||
exit(1)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ from selenium.common.exceptions import TimeoutException
|
|||
|
||||
from wizard import DRIVER, UI_URL
|
||||
from base import TEST_TYPE
|
||||
from utils import access_page, assert_button_click, safe_get_element, wait_for_service
|
||||
from utils import access_page, assert_button_click, safe_get_element, wait_for_service, verify_select_filters
|
||||
|
||||
exit_code = 0
|
||||
|
||||
|
|
@ -51,19 +51,12 @@ try:
|
|||
# Reset
|
||||
key_word_filter_input.send_keys("")
|
||||
|
||||
# Try plugin type with external
|
||||
type_external_filter_input = safe_get_element(DRIVER, "js", "document.querySelector('[data-plugins-setting-select-dropdown-btn=types][value=external]')")
|
||||
type_external_filter_input.click()
|
||||
# Test select filters
|
||||
select_filters = [
|
||||
{"name": "Types", "id": "types", "value": "all", "update_value": "123456"},
|
||||
]
|
||||
|
||||
# At least core need to be hidden
|
||||
plugins_hidden = safe_get_element(DRIVER, "js", 'document.querySelectorAll("[data-plugins-type][class*=hidden]")')
|
||||
if len(plugins_hidden) == 0:
|
||||
log_error("The type filter is not working, exiting ...")
|
||||
exit(1)
|
||||
|
||||
# Reset
|
||||
type_all_filter_input = safe_get_element(DRIVER, "js", "document.querySelector('[data-plugins-setting-select-dropdown-btn=types][value=all]')")
|
||||
type_all_filter_input.click()
|
||||
verify_select_filters(DRIVER, "plugins", select_filters)
|
||||
|
||||
log_info("The filter is working, trying to add a bad plugin ...")
|
||||
|
||||
|
|
|
|||
|
|
@ -236,13 +236,24 @@ try:
|
|||
|
||||
log_info("Create another service app3.example.com to get filters (need at least 4 services on page)")
|
||||
|
||||
assert_button_click(DRIVER, "//button[@data-services-action='new']")
|
||||
try:
|
||||
clone_button_2 = safe_get_element(DRIVER, By.XPATH, "//button[@data-services-action='clone' and @data-services-name='app1.example.com']", error=True)
|
||||
assert isinstance(clone_button_2, WebElement), "Clone button is not a WebElement"
|
||||
except TimeoutException:
|
||||
log_exception("Clone button hasn't been found, even though it should be, exiting ...")
|
||||
exit(1)
|
||||
|
||||
server_name_input = safe_get_element(DRIVER, By.ID, "SERVER_NAME")
|
||||
assert isinstance(server_name_input, WebElement), "Input is not a WebElement"
|
||||
assert_button_click(DRIVER, clone_button_2)
|
||||
|
||||
server_name_input.clear()
|
||||
server_name_input.send_keys("app3.example.com")
|
||||
server_name_input_2 = safe_get_element(DRIVER, By.ID, "SERVER_NAME")
|
||||
assert isinstance(server_name_input_2, WebElement), "Input is not a WebElement"
|
||||
|
||||
if server_name_input_2.get_attribute("value"):
|
||||
log_error("The cloned service input is not empty, exiting ...")
|
||||
exit(1)
|
||||
|
||||
server_name_input_2.clear()
|
||||
server_name_input_2.send_keys("app3.example.com")
|
||||
|
||||
access_page(DRIVER, "//button[@data-services-modal-submit='']", "services", False)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ def safe_get_element(driver, by: str, selector: str, *, driver_wait: Optional[We
|
|||
el = None
|
||||
for x in range(wait):
|
||||
try:
|
||||
el = driver.execute_script(f"return {selector}")
|
||||
el = driver.execute_script(f"{selector}")
|
||||
if el:
|
||||
break
|
||||
sleep(1)
|
||||
|
|
@ -170,6 +170,7 @@ def verify_select_filters(driver, page_name: str, filter_items: list):
|
|||
driver.execute_script(f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn={item['id']}][value={item['value']}]').setAttribute('value', '{item['update_value']}')")
|
||||
select_btn = safe_get_element(driver, "js", f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn={item['id']}][value={item['update_value']}]')")
|
||||
select_btn.click()
|
||||
sleep(0.1)
|
||||
|
||||
# Verify
|
||||
bans_hidden = safe_get_element(driver, "js", f'document.querySelectorAll("[data-{page_name}-list-item][class*=hidden]")')
|
||||
|
|
@ -179,6 +180,6 @@ def verify_select_filters(driver, page_name: str, filter_items: list):
|
|||
|
||||
# Reset
|
||||
driver.execute_script(f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn={item['id']}][value={item['update_value']}]').setAttribute('value', '{item['value']}')")
|
||||
select_btn = safe_get_element(driver, "js", f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn={item['id']}][value={item['value']}]')")
|
||||
select_btn.click()
|
||||
select_btn_reset = safe_get_element(driver, "js", f"document.querySelector('[data-{page_name}-setting-select-dropdown-btn={item['id']}][value={item['value']}]')")
|
||||
select_btn_reset.click()
|
||||
sleep(0.1)
|
||||
|
|
|
|||
Loading…
Reference in a new issue