anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${resp} anon /api/auth/status expected_status=200 Sends a GET request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${configured} ${json} $.configured Get Value From JSON using JSONPath ${configured_val} ${configured}[0] Returns the given values which can then be assigned to a variables. ${configured_val} ${configured} Check if the master password has already been configured. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server auth ${BASE_URL} headers={'Authorization': 'Bearer ${TOKEN}'} Create Session: create a HTTP session to a server Create an authenticated HTTP session. Performs setup if needed, then logs in. Skips setup/login if already authenticated (suite-level setup done). Create Anonymous Session AND Setup Master Password AND Create Authenticated Session Executes all the given keywords in a sequence. ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. ${ws_url} ws://${SERVER_HOST}:${SERVER_PORT}/ws/connect?token=${token} Returns the given values which can then be assigned to a variables. ${result} ${ws_url} Establish a WebSocket connection and return connection info. ${result} ${SERVER_HOST} Fails if ``container`` does not contain ``item`` one or more times. Removes all the session objects Starting Browser process /home/lukas/miniconda3/lib/python3.13/site-packages/Browser/wrapper/index.js using at 127.0.0.1:37625 Establish a WebSocket connection with a valid JWT token. anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${resp} anon /api/auth/status expected_status=200 Sends a GET request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${configured} ${json} $.configured Get Value From JSON using JSONPath ${configured_val} ${configured}[0] Returns the given values which can then be assigned to a variables. ${configured_val} ${configured} Check if the master password has already been configured. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server auth ${BASE_URL} headers={'Authorization': 'Bearer ${TOKEN}'} Create Session: create a HTTP session to a server Create an authenticated HTTP session. Performs setup if needed, then logs in. Skips setup/login if already authenticated (suite-level setup done). Create Anonymous Session AND Setup Master Password AND Create Authenticated Session Executes all the given keywords in a sequence. WebSocket room subscription requires custom keyword library Skips rest of the current test, setup, or teardown with PASS status. Removes all the session objects Subscribe to WebSocket rooms (downloads, queue, scan, system). anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${resp} anon /api/auth/status expected_status=200 Sends a GET request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${configured} ${json} $.configured Get Value From JSON using JSONPath ${configured_val} ${configured}[0] Returns the given values which can then be assigned to a variables. ${configured_val} ${configured} Check if the master password has already been configured. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server auth ${BASE_URL} headers={'Authorization': 'Bearer ${TOKEN}'} Create Session: create a HTTP session to a server Create an authenticated HTTP session. Performs setup if needed, then logs in. Skips setup/login if already authenticated (suite-level setup done). Create Anonymous Session AND Setup Master Password AND Create Authenticated Session Executes all the given keywords in a sequence. WebSocket ping/pong requires custom keyword library Skips rest of the current test, setup, or teardown with PASS status. Removes all the session objects Verify WebSocket heartbeat mechanism. anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. anon ${BASE_URL} Create Session: create a HTTP session to a server Create an unauthenticated HTTP session. ${resp} anon /api/auth/status expected_status=200 Sends a GET request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${configured} ${json} $.configured Get Value From JSON using JSONPath ${configured_val} ${configured}[0] Returns the given values which can then be assigned to a variables. ${configured_val} ${configured} Check if the master password has already been configured. ${payload} master_password=${SETUP_PASSWORD} anime_directory=/tmp/aniworld_test_anime name=AniworldTest data_dir=data scheduler_enabled=False logging_level=INFO backup_enabled=False Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 45s Pauses the test executed for the given time. ${resp} anon /api/auth/setup json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath Setup failed with 400: ${detail} Fails the test with the given message and optionally alters its tags. ${resp.status_code} 201 Fails if objects are unequal after converting them to integers. Unexpected status ${resp.status_code} from /api/auth/setup Fails the test with the given message and optionally alters its tags. Configure the master password via the setup endpoint. ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server ${payload} password=${SETUP_PASSWORD} Creates and returns a dictionary based on the given ``items``. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. 6s Pauses the test executed for the given time. ${resp} anon /api/auth/login json=${payload} expected_status=any Sends a POST request on a previously created HTTP Session. ${json} ${resp.text} Convert String to JSON object ${detail} ${json} $.detail Get Value From JSON using JSONPath ${detail_val} ${detail}[0] Returns the given values which can then be assigned to a variables. Login failed with ${resp.status_code}: ${detail_val} Fails the test with the given message and optionally alters its tags. ${json} ${resp.text} Convert String to JSON object ${token} ${json} $.access_token Get Value From JSON using JSONPath ${token_str} ${token}[0] Returns the given values which can then be assigned to a variables. ${TOKEN} ${token_str} Makes a variable available everywhere within the scope of the current suite. ${token_str} ${token} Log in with the master password and return the JWT access token. auth ${BASE_URL} headers={'Authorization': 'Bearer ${token}'} Create Session: create a HTTP session to a server auth ${BASE_URL} headers={'Authorization': 'Bearer ${TOKEN}'} Create Session: create a HTTP session to a server Create an authenticated HTTP session. Performs setup if needed, then logs in. Skips setup/login if already authenticated (suite-level setup done). Create Anonymous Session AND Setup Master Password AND Create Authenticated Session Executes all the given keywords in a sequence. WebSocket notification requires custom keyword library Skips rest of the current test, setup, or teardown with PASS status. Removes all the session objects Trigger an action that emits a system message and verify receipt. WebSocket API tests for Aniworld. Covers connection, room subscription, ping/pong, and notifications. All Tests Websocket