core/tests/components/vesync/common.py

73 lines
2.6 KiB
Python

"""Common methods used across tests for VeSync."""
import json
from tests.common import load_fixture
def call_api_side_effect__no_devices(*args, **kwargs):
"""Build a side_effects method for the Helpers.call_api method."""
if args[0] == "/cloud/v1/user/login" and args[1] == "post":
return json.loads(load_fixture("vesync_api_call__login.json", "vesync")), 200
elif args[0] == "/cloud/v1/deviceManaged/devices" and args[1] == "post":
return (
json.loads(
load_fixture("vesync_api_call__devices__no_devices.json", "vesync")
),
200,
)
else:
raise ValueError(f"Unhandled API call args={args}, kwargs={kwargs}")
def call_api_side_effect__single_humidifier(*args, **kwargs):
"""Build a side_effects method for the Helpers.call_api method."""
if args[0] == "/cloud/v1/user/login" and args[1] == "post":
return json.loads(load_fixture("vesync_api_call__login.json", "vesync")), 200
elif args[0] == "/cloud/v1/deviceManaged/devices" and args[1] == "post":
return (
json.loads(
load_fixture(
"vesync_api_call__devices__single_humidifier.json", "vesync"
)
),
200,
)
elif args[0] == "/cloud/v2/deviceManaged/bypassV2" and kwargs["method"] == "post":
return (
json.loads(
load_fixture(
"vesync_api_call__device_details__single_humidifier.json", "vesync"
)
),
200,
)
else:
raise ValueError(f"Unhandled API call args={args}, kwargs={kwargs}")
def call_api_side_effect__single_fan(*args, **kwargs):
"""Build a side_effects method for the Helpers.call_api method."""
if args[0] == "/cloud/v1/user/login" and args[1] == "post":
return json.loads(load_fixture("vesync_api_call__login.json", "vesync")), 200
elif args[0] == "/cloud/v1/deviceManaged/devices" and args[1] == "post":
return (
json.loads(
load_fixture("vesync_api_call__devices__single_fan.json", "vesync")
),
200,
)
elif (
args[0] == "/131airPurifier/v1/device/deviceDetail"
and kwargs["method"] == "post"
):
return (
json.loads(
load_fixture(
"vesync_api_call__device_details__single_fan.json", "vesync"
)
),
200,
)
else:
raise ValueError(f"Unhandled API call args={args}, kwargs={kwargs}")