def test_vehicle_status_prompt(mocked_responses: aioresponses, cli_runner: CliRunner) -> None: """It exits with a status code of zero.""" fixtures.inject_gigya_all(mocked_responses) fixtures.inject_get_person(mocked_responses) # Injected for account selection fixtures.inject_get_vehicles(mocked_responses, "zoe_40.1.json") vehicle2_urlpath = f"accounts/account-id-2/vehicles?{fixtures.DEFAULT_QUERY_STRING}" fixtures.inject_data( mocked_responses, vehicle2_urlpath, "vehicles/zoe_40.1.json", ) # Injected again for vehicle selection fixtures.inject_get_vehicles(mocked_responses, "zoe_40.1.json") fixtures.inject_get_vehicle_details(mocked_responses, "zoe_40.1.json") fixtures.inject_get_vehicle_contracts(mocked_responses, "fr_FR.2.json") fixtures.inject_vehicle_status(mocked_responses) result = cli_runner.invoke( __main__.main, "status", input= f"{TEST_LOCALE}\nN\n{TEST_USERNAME}\n{TEST_PASSWORD}\n1\ny\n1\ny\n", ) assert result.exit_code == 0, result.exception expected_output = ( f"Please select a locale [{getdefaultlocale()[0]}]: {TEST_LOCALE}\n" "Do you want to save the locale to the credential store? [y/N]: N\n" "\n" f"User: {TEST_USERNAME}\n" "Password: \n" "\n" " ID Type Vehicles\n" "-- ------------ --------- ----------\n" " 1 account-id-1 MYRENAULT 1\n" " 2 account-id-2 SFDC 1\n" "\n" "Please select account [1]: 1\n" "Do you want to save the account ID to the credential store? [y/N]: y\n" "\n" " Vin Registration Brand Model\n" "-- ----------------- -------------- ------- -------\n" " 1 VF1AAAAA555777999 REG-NUMBER RENAULT ZOE\n" "\n" "Please select vehicle [1]: 1\n" "Do you want to save the VIN to the credential store? [y/N]: y\n" "\n" f"{EXPECTED_STATUS['zoe_40.1.json']}") assert expected_output == result.output
async def test_get_account_vehicles(websession: aiohttp.ClientSession, mocked_responses: aioresponses) -> None: """Test get_account_vehicles.""" fixtures.inject_get_vehicles(mocked_responses, "zoe_40.1") await kamereon.get_account_vehicles( websession=websession, root_url=TEST_KAMEREON_URL, api_key=TEST_KAMEREON_APIKEY, gigya_jwt=fixtures.get_jwt(), country=TEST_COUNTRY, account_id=TEST_ACCOUNT_ID, )
def test_list_vehicles_no_prompt(mocked_responses: aioresponses, cli_runner: CliRunner) -> None: """It exits with a status code of zero.""" credential_store = FileCredentialStore(os.path.expanduser(CREDENTIAL_PATH)) credential_store[CONF_LOCALE] = Credential(TEST_LOCALE) credential_store[GIGYA_LOGIN_TOKEN] = Credential(TEST_LOGIN_TOKEN) credential_store[GIGYA_PERSON_ID] = Credential(TEST_PERSON_ID) credential_store[GIGYA_JWT] = JWTCredential(fixtures.get_jwt()) fixtures.inject_get_vehicles(mocked_responses, "zoe_40.1.json") result = cli_runner.invoke(__main__.main, f"--account {TEST_ACCOUNT_ID} vehicles") assert result.exit_code == 0, result.exception expected_output = ("Registration Brand Model VIN\n" "-------------- ------- ------- -----------------\n" "REG-NUMBER RENAULT ZOE VF1AAAAA555777999\n") assert expected_output == result.output
async def test_get_api_vehicles(account: RenaultAccount, mocked_responses: aioresponses) -> None: """Test get_api_vehicles.""" fixtures.inject_get_vehicles(mocked_responses, "zoe_40.1.json") await account.get_api_vehicles()