Example #1
0
def test_file_update():
    account = Account.create_from_data(json.loads(helpers.account))
    file_data = json.loads(helpers.file_data)
    file_obj = File.create_from_data(file_data, parent_resource=account)
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        new_data = file_data.copy()
        new_data['name'] = 'NewFileName'
        resp._content = json.dumps(new_data)
        account_resp = Response()
        account_resp._content = helpers.account
        mock_req.side_effect = (resp,account_resp)
        file_obj.name = 'NewFileName'
        file_obj.parent_id = 'root'
        file_obj.save()
        expected_calls = [
                          # This is updating the file
                          call(file_obj._api_session.patch,
                               'accounts/%s/files/%s' % (account.id,
                                                         file_data['id']),
                               params={},
                               data={'name': u'NewFileName',
                                     'parent_id': 'root'},
                               configuration=file_obj._configuration),
                          # This is refreshing the parent resource
                          call(account._api_session.get,
                               'accounts/%s' % account.id,
                               configuration=account._configuration),
                         ]
        mock_req.assert_has_calls(expected_calls)
Example #2
0
def test_folder_contents():
    account = Account.create_from_data(json.loads(helpers.account))
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp._content = helpers.root_folder_contents
        mock_req.return_value = resp
        folder = account.folders()
        contents = folder.contents()
        assert len(contents) > 0
        assert all([(isinstance(x, Folder) or isinstance(x, File)) for x in contents])
        mock_req.assert_called_with(folder._api_session.get,
                                    ('accounts/%s/folders/root/contents'
                                        % account.id),
                                    configuration=account._configuration)
Example #3
0
def test_file_delete():
    account = Account.create_from_data(json.loads(helpers.account))
    file_data = json.loads(helpers.file_data)
    file_obj = File.create_from_data(file_data, parent_resource=account)
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp.status_code = 204
        mock_req.return_value = resp
        file_obj.delete()
        mock_req.assert_called_with(file_obj._api_session.delete,
                                    ('accounts/%s/files/%s'
                                        % (account.id, file_data['id'])),
                                    configuration=file_obj._configuration,
                                    params={})
Example #4
0
def test_folder_delete():
    account = Account.create_from_data(json.loads(helpers.account))
    folder_data = json.loads(helpers.folder_data)
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp.status_code = 204
        mock_req.resturn_value = resp
        folder = Folder.create_from_data(json.loads(helpers.folder_data),
                                         parent_resource=account)
        folder.delete()
        mock_req.assert_called_with(Folder._api_session.delete,
                                    ('accounts/%s/folders/%s'
                                     % (account.id, folder_data['id'])),
                                    configuration=account._configuration,
                                    params={})
Example #5
0
def test_file_contents():
    account = Account.create_from_data(json.loads(helpers.account))
    file_data = json.loads(helpers.file_data)
    file_obj = File.create_from_data(file_data, parent_resource=account)
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp._content = helpers.file_contents
        mock_req.return_value = resp
        file_contents = file_obj.contents()
        assert isinstance(file_contents, Response)
        mock_req.assert_called_with(file_obj._api_session.get,
                                    ('accounts/%s/files/%s/contents'
                                        % (account.id, file_data['id'])),
                                    configuration=file_obj._configuration,
                                    stream=True)
Example #6
0
def test_folder_metadata():
    account = Account.create_from_data(json.loads(helpers.account))
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp._content = helpers.folder_data
        mock_req.return_value = resp
        folder_data = json.loads(helpers.folder_data)
        folder = Folder.retrieve(id=folder_data['id'],
                                 parent_resource=account)
        assert isinstance(folder, Folder)
        for attr in ['id', 'name', 'type', 'size', 'account']:
            assert folder_data[attr] == getattr(folder, attr)
        mock_req.assert_called_with(Folder._api_session.get,
                                    ('accounts/%s/folders/%s'
                                        % (account.id, folder_data['id'])),
                                    configuration=None,
                                    params={})
Example #7
0
def test_folder_creation():
    account = Account.create_from_data(json.loads(helpers.account))
    folder_data = json.loads(helpers.folder_data)
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp.status_code = 201
        resp._content = helpers.folder_data
        mock_req.return_value = resp
        folder = Folder.create(parent_resource=account,
                               data={'name': "TestFolder",
                                     'parent_id': "root"})
        assert isinstance(folder, Folder)
        for attr in ['id', 'name', 'type', 'size', 'account']:
            assert folder_data[attr] == getattr(folder, attr)
        mock_req.assert_called_with(Folder._api_session.post,
                                    'accounts/%s/folders' % account.id,
                                    configuration=None, params={},
                                    data={'name': 'TestFolder',
                                          'parent_id': 'root'})
Example #8
0
def test_file_upload():
    account = Account.create_from_data(json.loads(helpers.account))
    file_data = json.loads(helpers.file_data)
    with patch('sdk.resources.request') as mock_req:
        resp = Response()
        resp._content = helpers.file_data
        mock_req.return_value = resp
        file_obj = File.create(parent_resource=account,
                               file_name=file_data['name'],
                               parent_id='root',
                               file_data=helpers.file_contents)
        assert isinstance(file_obj, File)
        for attr in ['id', 'name', 'type', 'size', 'account']:
            assert file_data[attr] == getattr(file_obj, attr)
        mock_req.assert_called_with(File._api_session.post,
                                    'accounts/%s/files' % account.id,
                                    data={'metadata':json.dumps({
                                                'name': file_data['name'],
                                                'parent_id': 'root'})},
                                    files={'file': helpers.file_contents},
                                    params={},
                                    configuration=None)