52 lines
2.0 KiB
Python
52 lines
2.0 KiB
Python
import pytest
|
|
import asyncio
|
|
from alpine_bits_python.alpinebits_server import AlpineBitsServer, AlpineBitsClientInfo
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_ping_action_response_success():
|
|
server = AlpineBitsServer()
|
|
with open("test/test_data/Handshake-OTA_PingRQ.xml", "r", encoding="utf-8") as f:
|
|
request_xml = f.read()
|
|
client_info = AlpineBitsClientInfo(username="irrelevant", password="irrelevant")
|
|
response = await server.handle_request(
|
|
request_action_name="OTA_Ping:Handshaking",
|
|
request_xml=request_xml,
|
|
client_info=client_info,
|
|
version="2024-10"
|
|
)
|
|
assert response.status_code == 200
|
|
assert "<OTA_PingRS" in response.xml_content
|
|
assert "<Success" in response.xml_content
|
|
assert "Version=" in response.xml_content
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_ping_action_response_version_arbitrary():
|
|
server = AlpineBitsServer()
|
|
with open("test/test_data/Handshake-OTA_PingRQ.xml", "r", encoding="utf-8") as f:
|
|
request_xml = f.read()
|
|
client_info = AlpineBitsClientInfo(username="irrelevant", password="irrelevant")
|
|
response = await server.handle_request(
|
|
request_action_name="OTA_Ping:Handshaking",
|
|
request_xml=request_xml,
|
|
client_info=client_info,
|
|
version="2022-10"
|
|
)
|
|
assert response.status_code == 200
|
|
assert "<OTA_PingRS" in response.xml_content
|
|
assert "Version=" in response.xml_content
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_ping_action_response_invalid_action():
|
|
server = AlpineBitsServer()
|
|
with open("test/test_data/Handshake-OTA_PingRQ.xml", "r", encoding="utf-8") as f:
|
|
request_xml = f.read()
|
|
client_info = AlpineBitsClientInfo(username="irrelevant", password="irrelevant")
|
|
response = await server.handle_request(
|
|
request_action_name="InvalidAction",
|
|
request_xml=request_xml,
|
|
client_info=client_info,
|
|
version="2024-10"
|
|
)
|
|
assert response.status_code == 400
|
|
assert "Error" in response.xml_content
|