Esempio n. 1
0
 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)
Esempio n. 2
0
    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)
Esempio n. 3
0
 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)
Esempio n. 4
0
    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)
Esempio n. 5
0
 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)
Esempio n. 6
0
 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)
Esempio n. 7
0
 def setUp(self):
     self.personal_account = get_sample_personal_account()
     self.account_store = get_sample_account_storage(self.personal_account.client, None)
Esempio n. 8
0
def get_sample_drive_root():
    account = account_factory.get_sample_personal_account()
    return drives.DriveRoot(account)