예제 #1
0
파일: client.py 프로젝트: jobylon/pycronofy
    def __init__(self,
                 client_id=None,
                 client_secret=None,
                 access_token=None,
                 refresh_token=None,
                 token_expiration=None,
                 data_center=None):
        """
        Example Usage:

        pycronofy.Client(access_token='')
        pycronofy.Client(client_id='', client_secret='')

        :param string client_id: OAuth Client ID. (Optional, default None)
        :param string client_secret: OAuth Client Secret. (Optional, default None)
        :param string access_token: Access Token for User's Account. (Optional, default None)
        :param string refresh_token: Existing Refresh Token for User's Account. (Optional, default None)
        :param string token_expiration: Datetime token expires. (Optional, default None)
        :param string data_center: The name of the data_center to use. (Optional, default None)
        """
        self.auth = Auth(client_id, client_secret, access_token, refresh_token,
                         token_expiration)
        self.request_handler = RequestHandler(self.auth, data_center)

        if data_center is None or data_center is 'us':
            self.app_base_url = settings.APP_BASE_URL
        else:
            self.app_base_url = settings.APP_REGION_FORMAT % data_center
예제 #2
0
def test_validate():
    """Test if validate properly validates methods."""
    auth = Auth(access_token='access')
    validate('create_notification_channel', auth, 'http://example.com',
             calendar_ids=('id',),
             )
    with pytest.raises(PyCronofyValidationError) as exception_info:
        validate('create_notification_channel', auth)
    assert 'callback_url' in exception_info.value.fields
    with pytest.raises(PyCronofyValidationError) as exception_info:
        validate('create_notification_channel', Auth(), 'http://example.com',
                 calendar_ids=('id',)
                 )
    assert 'access_token' in exception_info.value.fields
    with pytest.raises(PyCronofyValidationError) as exception_info:
        validate('ask_for_cats', Auth(), 'http://example.com')
    assert exception_info.value.message == 'Method "ask_for_cats" not found.'
예제 #3
0
def auth():
    """Setup Auth instance with test values."""
    return Auth(**common_data.AUTH_ARGS)