feat: add get_devices, get_gear, and get_user_profile tools
This commit is contained in:
@@ -247,3 +247,52 @@ def test_steps_and_stats_unauthenticated():
|
||||
server._auth_state = "unauthenticated"
|
||||
for fn in (server.get_steps, server.get_daily_stats):
|
||||
assert "Not authenticated" in fn("2026-05-17")
|
||||
|
||||
|
||||
def test_get_devices_success():
|
||||
server._auth_state = "authenticated"
|
||||
server._client = MagicMock()
|
||||
server._client.get_devices.return_value = [
|
||||
{"deviceId": "abc123", "productDisplayName": "Forerunner 965", "softwareVersion": "21.20"}
|
||||
]
|
||||
data = json.loads(server.get_devices())
|
||||
assert data[0]["productDisplayName"] == "Forerunner 965"
|
||||
server._client.get_devices.assert_called_once()
|
||||
|
||||
|
||||
def test_get_devices_empty():
|
||||
server._auth_state = "authenticated"
|
||||
server._client = MagicMock()
|
||||
server._client.get_devices.return_value = []
|
||||
assert server.get_devices() == "No devices found."
|
||||
|
||||
|
||||
def test_get_gear_success():
|
||||
server._auth_state = "authenticated"
|
||||
server._client = MagicMock()
|
||||
server._client.display_name = "john.doe"
|
||||
server._client.get_gear.return_value = [
|
||||
{"gearPk": "shoe1", "customMakeModel": "Nike Pegasus", "totalDistance": 320000.0}
|
||||
]
|
||||
data = json.loads(server.get_gear())
|
||||
assert data[0]["customMakeModel"] == "Nike Pegasus"
|
||||
server._client.get_gear.assert_called_once_with("john.doe")
|
||||
|
||||
|
||||
def test_get_user_profile_success():
|
||||
server._auth_state = "authenticated"
|
||||
server._client = MagicMock()
|
||||
server._client.get_user_profile.return_value = {
|
||||
"displayName": "john.doe",
|
||||
"age": 35,
|
||||
"weight": 75000.0,
|
||||
}
|
||||
data = json.loads(server.get_user_profile())
|
||||
assert data["displayName"] == "john.doe"
|
||||
server._client.get_user_profile.assert_called_once()
|
||||
|
||||
|
||||
def test_gear_devices_profile_unauthenticated():
|
||||
server._auth_state = "unauthenticated"
|
||||
for fn in (server.get_devices, server.get_gear, server.get_user_profile):
|
||||
assert "Not authenticated" in fn()
|
||||
|
||||
Reference in New Issue
Block a user