async def test_get_api_vehicles(account: RenaultAccount) -> None: """Test get_api_vehicles.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_ACCOUNT_URL}/vehicles?{QUERY_STRING}", status=200, body=get_file_content(f"{FIXTURE_PATH}/vehicles/zoe_40.1.json"), ) await account.get_api_vehicles()
async def test_get_charge_mode(vehicle: RenaultVehicle) -> None: """Test get_charge_mode.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_VEHICLE_URL1}/charge-mode?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_data/charge-mode.json"), ) assert await vehicle.get_charge_mode()
async def test_get_battery_status(vehicle: RenaultVehicle) -> None: """Test get_battery_status.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_VEHICLE_URL2}/battery-status?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_data/battery-status.1.json"), ) assert await vehicle.get_battery_status()
async def test_set_charge_start(vehicle: RenaultVehicle) -> None: """Test set_charge_start.""" with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_KAMEREON_VEHICLE_URL1}/actions/charging-start?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_action/charging-start.start.json"), ) assert await vehicle.set_charge_start()
async def test_get_notification_settings(vehicle: RenaultVehicle) -> None: """Test get_notification_settings.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_VEHICLE_URL1}/notification-settings?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_data/notification-settings.json"), ) assert await vehicle.get_notification_settings()
async def test_get_api_accounts(client: RenaultClient) -> None: """Test get_api_accounts.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_BASE_URL}/persons/{TEST_PERSON_ID}?{QUERY_STRING}", status=200, body=get_file_content(f"{FIXTURE_PATH}/person.json"), ) accounts = await client.get_api_accounts() assert len(accounts) == 2
async def test_set_charge_mode(vehicle: RenaultVehicle) -> None: """Test set_charge_mode.""" with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_KAMEREON_VEHICLE_URL1}/actions/charge-mode?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_action/charge-mode.schedule_mode.json" ), ) assert await vehicle.set_charge_mode(ChargeMode.SCHEDULE_MODE)
async def test_set_charge_schedules(vehicle: RenaultVehicle) -> None: """Test set_charge_schedules.""" schedules: List[ChargeSchedule] = [] with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_KAMEREON_VEHICLE_URL2}/actions/charge-schedule?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_action/charge-schedule.schedules.json" ), ) assert await vehicle.set_charge_schedules(schedules)
async def test_get_charges(vehicle: RenaultVehicle) -> None: """Test get_charges.""" query_string = f"{QUERY_STRING}&end=20201115&start=20201001" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_VEHICLE_URL1}/charges?{query_string}", status=200, body=get_file_content(f"{FIXTURE_PATH}/vehicle_data/charges.json"), ) assert await vehicle.get_charges( start=datetime(2020, 10, 1), end=datetime(2020, 11, 15), )
async def test_person_id(websession: aiohttp.ClientSession) -> None: """Test get_account_info response.""" with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_GIGYA_URL}/accounts.getAccountInfo", status=200, body=get_file_content(f"{FIXTURE_PATH}/get_account_info.json"), headers={"content-type": "text/javascript"}, ) response = await gigya.get_account_info(websession, TEST_ROOT_URL, TEST_API_KEY, TEST_LOGIN_TOKEN) assert response.get_person_id() == TEST_PERSON_ID
async def test_get_account_vehicles(websession: aiohttp.ClientSession) -> None: """Test get_account_vehicles.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_ACCOUNT_URL}/vehicles?{QUERY_STRING}", status=200, body=get_file_content(f"{FIXTURE_PATH}/vehicles/zoe_40.1.json"), ) await kamereon.get_account_vehicles( websession=websession, root_url=TEST_KAMEREON_URL, api_key=TEST_KAMEREON_APIKEY, gigya_jwt=TEST_JWT, country=TEST_COUNTRY, account_id=TEST_ACCOUNT_ID, )
async def test_get_person(websession: aiohttp.ClientSession) -> None: """Test get_person.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_BASE_URL}/persons/{TEST_PERSON_ID}?{QUERY_STRING}", status=200, body=get_file_content(f"{FIXTURE_PATH}/person.json"), ) person = await kamereon.get_person( websession=websession, root_url=TEST_KAMEREON_URL, api_key=TEST_KAMEREON_APIKEY, gigya_jwt=TEST_JWT, country=TEST_COUNTRY, person_id=TEST_PERSON_ID, ) assert len(person.accounts) == 2
async def test_get_jwt_token(websession: aiohttp.ClientSession) -> None: """Test get_jwt response.""" with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_GIGYA_URL}/accounts.getJWT", status=200, body=get_file_content(f"{FIXTURE_PATH}/get_jwt.json"), headers={"content-type": "text/javascript"}, ) response = await gigya.get_jwt( websession, TEST_ROOT_URL, TEST_API_KEY, TEST_LOGIN_TOKEN, ) assert response.get_jwt()
async def test_login(websession: aiohttp.ClientSession) -> None: """Test login response.""" with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_GIGYA_URL}/accounts.login", status=200, body=get_file_content(f"{FIXTURE_PATH}/login.json"), headers={"content-type": "text/javascript"}, ) response = await gigya.login( websession, TEST_ROOT_URL, TEST_API_KEY, TEST_USERNAME, TEST_PASSWORD, ) assert response.get_session_cookie() == TEST_LOGIN_TOKEN
async def test_get_vehicle_data(websession: aiohttp.ClientSession) -> None: """Test get_vehicle_data.""" with aioresponses() as mocked_responses: mocked_responses.get( f"{TEST_KAMEREON_VEHICLE_URL2}/battery-status?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_data/battery-status.1.json"), ) assert await kamereon.get_vehicle_data( websession=websession, root_url=TEST_KAMEREON_URL, api_key=TEST_KAMEREON_APIKEY, gigya_jwt=TEST_JWT, country=TEST_COUNTRY, account_id=TEST_ACCOUNT_ID, vin=TEST_VIN, endpoint="battery-status", )
async def test_set_vehicle_action(websession: aiohttp.ClientSession) -> None: """Test set_vehicle_action.""" with aioresponses() as mocked_responses: mocked_responses.post( f"{TEST_KAMEREON_VEHICLE_URL1}/actions/hvac-start?{QUERY_STRING}", status=200, body=get_file_content( f"{FIXTURE_PATH}/vehicle_action/hvac-start.cancel.json"), ) assert await kamereon.set_vehicle_action( websession=websession, root_url=TEST_KAMEREON_URL, api_key=TEST_KAMEREON_APIKEY, gigya_jwt=TEST_JWT, country=TEST_COUNTRY, account_id=TEST_ACCOUNT_ID, vin=TEST_VIN, endpoint="hvac-start", attributes={"action": "cancel"}, )