def setUp(self): self.personal_account = get_sample_personal_account() self.account_store = get_sample_account_storage(self.personal_account.client, None) self.account_store.add_account(self.personal_account) self.drives_store = drives_db.DriveStorage(':memory:', self.account_store) self.drive_root = self.drives_store.get_drive_root( self.personal_account.profile.user_id, self.personal_account.TYPE)
def test_auto_renew_tokens(self, mocker): account = account_factory.get_sample_personal_account() url = 'https://test_url' normal_data = [(get_data('error_token_expired.json'), requests.codes.forbidden), ({}, requests.codes.ok)] new_tokens = get_data('personal_access_token_alt.json') def normal_callback(request, context): data, status_code = normal_data.pop(0) context.status_code = status_code return data def renew_callback(request, context): body = parse_qs(request.body) # parse_qs returns dict[str, [int | str]] for k, v in body.items(): self.assertEqual(1, len(v)) body[k] = v.pop() self.assert_compare(self.assertEqual, account.client, body, ['client_id', 'client_secret', 'redirect_uri']) self.assertEqual(account.refresh_token, body['refresh_token']) self.assertEqual('refresh_token', body['grant_type']) context.status_code = requests.codes.ok return new_tokens compares = ['access_token', 'refresh_token', 'token_type'] self.assert_compare(self.assertNotEqual, account, new_tokens, compares) mocker.post(url, json=normal_callback) mocker.post(account.client.OAUTH_TOKEN_URI, json=renew_callback) restapi.ManagedRESTClient(session=requests.Session(), net_mon=None, account=account).post(url) self.assert_compare(self.assertEqual, account, new_tokens, compares)
def test_add_cached_drive_errors(self): account = account_factory.get_sample_personal_account() drive_root = drives.DriveRoot(account) self.assertNotEqual('123', account.profile.user_id) self.assertRaises(ValueError, drive_root.add_cached_drive, account_id='123', account_type=account.TYPE, drive=None) self.assertRaises(ValueError, drive_root.add_cached_drive, account_id=account.profile.user_id, account_type='what', drive=None)
def test_raise_token_expired_error(self, mock_request): def callback(request, context): context.status_code = requests.codes.bad return get_data('error_token_expired.json') account = account_factory.get_sample_personal_account() rest_client = restapi.ManagedRESTClient(session=requests.Session(), net_mon=None, account=account) mock_request.get('https://test_url', json=callback) self.assertRaises(errors.OneDriveTokenExpiredError, rest_client.get, url='https://test_url', auto_renew=False)
def setUp(self): self.personal_account = get_sample_personal_account() self.account_store = get_sample_account_storage( self.personal_account.client, None) self.account_store.add_account(self.personal_account) self.drives_store = drives_db.DriveStorage(':memory:', self.account_store) self.drive_root = self.drives_store.get_drive_root( self.personal_account.profile.user_id, self.personal_account.TYPE)
def setUp(self): self.personal_account = get_sample_personal_account() self.account_store = get_sample_account_storage(self.personal_account.client, None)
def get_sample_drive_root(): account = account_factory.get_sample_personal_account() return drives.DriveRoot(account)