def test1_connect_with_app_principal(self):
     credentials = ClientCredential(
         settings.get('client_credentials').get('client_id'),
         settings.get('client_credentials').get('client_secret'))
     ctx = ClientContext(settings['url']).with_credentials(credentials)
     self.assertIsInstance(ctx.authentication_context._provider,
                           ACSTokenProvider)
class SPTestCase(TestCase):
    """SharePoint specific test case base class"""

    client = None  # type: ClientContext
    client_id = settings.get('client_credentials').get('client_id')
    client_secret = settings.get('client_credentials').get('client_secret')
    client_credentials = ClientCredential(client_id, client_secret)
    site_url = settings.get('url')
    test_user_names = settings.get('test_accounts')

    @classmethod
    def setUpClass(cls):
        cls.client = ClientContext(settings['url']).with_credentials(cls.client_credentials)

    @staticmethod
    def ensure_list(web, list_properties):
        """

        :type web: office365.sharepoint.webs.web.Web
        :type list_properties: office365.sharepoint.lists.list_creation_information.ListCreationInformation
        """
        lists = web.lists.filter("Title eq '{0}'".format(list_properties.Title)).get().execute_query()
        return lists[0] if len(lists) == 1 else web.lists.add(list_properties).execute_query()

    @staticmethod
    def read_file_as_text(path):
        with open(path, 'r') as content_file:
            file_content = content_file.read()
        return file_content

    @staticmethod
    def read_file_as_binary(path):
        with open(path, 'rb') as content_file:
            file_content = content_file.read()
        return file_content
Пример #3
0
 def test1_connect_with_app_principal(self):
     credentials = ClientCredential(settings.get('client_credentials').get('client_id'),
                                    settings.get('client_credentials').get('client_secret'))
     ctx = ClientContext.connect_with_credentials(settings['url'], credentials)
     self.assertIsInstance(ctx.authentication_context.provider, ACSTokenProvider)
     self.assertIsInstance(ctx.authentication_context.provider.token, TokenResponse)
     self.assertTrue(ctx.authentication_context.provider.token.is_valid)
Пример #4
0
 def __init__(self, *args, **kwargs) -> None:
     self.relative_url = kwargs.get('relative_url', None)
     self.site_path = kwargs.get('url', config.SHAREPOINT_TENANT)
     if config.SHAREPOINT_CONNECTION == 'app':
         client_id = kwargs.get('client_id', config.SHAREPOINT_CLIENT_ID)
         client_secret = kwargs.get('client_secret',
                                    config.SHAREPOINT_CLIENT_SECRET)
         credentials = ClientCredential(client_id, client_secret)
     elif config.SHAREPOINT_CONNECTION == 'user':
         username = kwargs.get('username', config.SHAREPOINT_USERNAME)
         password = kwargs.get('password', config.SHAREPOINT_PASSWORD)
         credentials = UserCredential(username, password)
     else:
         raise SharePointClientException('Invalid connection type')
     self.folder = kwargs.get('folder', 'Documents')
     self.context = ClientContext(
         self.site_path).with_credentials(credentials)
import os
import tempfile

from settings import settings

from office365.runtime.auth.client_credential import ClientCredential
from office365.sharepoint.client_context import ClientContext


def print_download_progress(offset):
    print("Downloaded '{0}' bytes...".format(offset))


site_url = settings.get('url') + "/sites/team"
credentials = ClientCredential(
    settings.get('client_credentials').get('client_id'),
    settings.get('client_credentials').get('client_secret'))
ctx = ClientContext(site_url).with_credentials(credentials)

file_url = '/sites/team/Shared Documents/big_buck_bunny.mp4'
source_file = ctx.web.get_file_by_server_relative_url(file_url)
local_file_name = os.path.join(tempfile.mkdtemp(), os.path.basename(file_url))
with open(local_file_name, "wb") as local_file:
    source_file.download_session(local_file,
                                 print_download_progress).execute_query()
print("[Ok] file has been downloaded: {0}".format(local_file_name))
from settings import settings

from office365.runtime.auth.client_credential import ClientCredential
from office365.sharepoint.client_context import ClientContext

credentials = ClientCredential(settings['client_credentials']['client_id'],
                               settings['client_credentials']['client_secret'])
ctx = ClientContext(settings['url']).with_credentials(credentials)

target_web = ctx.web.get().execute_query()
print(target_web.url)
Пример #7
0
 def setUpClass(cls):
     super(TestSharePointListDataService, cls).setUpClass()
     credential = ClientCredential(settings['client_credentials']['client_id'],
                                   settings['client_credentials']['client_secret'])
     cls.client = ListDataService.connect_with_credentials(settings['url'], credential)
Пример #8
0
 def credentials(self):
     return ClientCredential(self.client_id, self.client_secret)
from settings import settings

from office365.runtime.auth.client_credential import ClientCredential
from office365.sharepoint.client_context import ClientContext


def set_proxy(request):
    proxies = {settings['url']: 'https://127.0.0.1:8888'}
    request.proxies = proxies


ctx = ClientContext(settings['url']).with_credentials(ClientCredential(settings['client_credentials']['client_id'],
                                                                       settings['client_credentials']['client_secret']))

ctx.pending_request().beforeExecute += set_proxy

target_web = ctx.web
ctx.load(target_web)
ctx.execute_query()
from office365.runtime.auth.client_credential import ClientCredential
from office365.sharepoint.client_context import ClientContext
from tests import load_settings

settings = load_settings()


def set_proxy(request):
    proxies = {settings.get('default', 'site_url'): 'https://127.0.0.1:8888'}
    request.proxies = proxies


ctx = ClientContext(settings.get('default', 'site_url'))\
    .with_credentials(ClientCredential(settings.get('client_credentials', 'client_id'),
                                       settings.get('client_credentials', 'client_secret')))

ctx.pending_request().beforeExecute += set_proxy

target_web = ctx.web
ctx.load(target_web)
ctx.execute_query()