Esempio n. 1
0
    def test_token_updater(self):
        """token_updater property should be set to the function passed to its setter"""

        snow = Snow()
        snow.init_app(self.app)

        snow.token_updater = token_updater

        self.assertEqual(snow.token_updater, token_updater)
Esempio n. 2
0
    def test_oauth_connect(self):
        """client set in connection context should be an instance of pysnow.OAuthClient"""

        snow = Snow()
        snow.init_app(self.app)

        snow.token_updater = token_updater

        with self.app.app_context():
            client = snow.connection
            self.assertEqual(type(client), pysnow.OAuthClient)
Esempio n. 3
0
    def test_session_object(self):
        """passing a session to init_app() should be of the same type as the object passed"""

        s = Session()

        snow = Snow()
        snow.init_app(self.app, session=s)

        with self.app.app_context():
            client = snow.connection
            self.assertEqual(type(client.session), Session)
Esempio n. 4
0
    def test_client_type(self):
        """setting SNOW_OAUTH_CLIENT_ID and SNOW_OAUTH_CLIENT_SECRET should set type Snow._client_type_oauth to True"""

        snow = Snow()
        snow.init_app(self.app)

        # oauth should be True
        self.assertEqual(snow._client_type_oauth, True)

        # basic should be False
        self.assertEqual(snow._client_type_basic, False)
Esempio n. 5
0
    def test_params_builder(self):
        """passing a ParamsBuilder object to init_app() should set `Client` parameters"""

        pb = pysnow.ParamsBuilder()
        pb.add_custom({'test': 'test'})

        snow = Snow()
        snow.init_app(self.app, parameters=pb)

        snow.token_updater = token_updater

        with self.app.app_context():
            client = snow.connection
            p = client.parameters.as_dict()
            self.assertEqual('test' in p, True)
Esempio n. 6
0
    def test_set_token(self):
        """After passing a token to Snow.set_token(), the pysnow.OAuthClient.token should equal the passed token"""

        snow = Snow(self.app)

        with self.app.app_context():
            snow.connection.set_token(mock_token)
            self.assertEqual(snow.connection.token, mock_token)
Esempio n. 7
0
    def test_missing_config(self):
        """flask_snow.Snow should raise ConfigError if a required OAuth setting is missing"""

        snow = Snow()
        test1 = test2 = self.app

        test1.config.pop('SNOW_OAUTH_CLIENT_ID')
        self.assertRaises(ConfigError, snow.init_app, test1)

        test2.config.pop('SNOW_OAUTH_CLIENT_SECRET')
        self.assertRaises(ConfigError, snow.init_app, test2)
Esempio n. 8
0
from logging.config import dictConfig

from flask import Flask, session, abort, jsonify, request
from pysnow.exceptions import TokenCreateError

from requests.exceptions import HTTPError
from flask_snow import Snow

app = Flask(__name__)
app.config.from_object('settings')

# Configure logging, specifically for the pysnow library
dictConfig(app.config['LOGGING'])

snow = Snow()
snow.init_app(app)


def token_updater(updated_token):
    app.logger.info('refreshing token!')
    session['token'] = updated_token


snow.token_updater = token_updater


def snow_resource(f):
    @wraps(f)
    def inner(*args, **kwargs):
        if not session.get('token'):
Esempio n. 9
0
    def test_invalid_params(self):
        """passing a non-ParamsBuilder object to init_app() should raise `InvalidUsage`"""

        snow = Snow()
        self.assertRaises(InvalidUsage, snow.init_app, self.app, parameters={'test': 'test'})
Esempio n. 10
0
    def test_init_app(self):
        snow = Snow()
        if hasattr(self.app, 'extensions'):
            del self.app.extensions

        snow.init_app(self.app)
Esempio n. 11
0
 def test_constructor(self):
     Snow(self.app)