def test_success_defaults(self):
     jwt_secret = 'unittests'
     os.environ['CTERA_FILER_JWT_SECRET'] = jwt_secret
     config = Config.instance()
     self.assertEqual(config.hostname, '127.0.0.1')
     self.assertEqual(config.jwt_secret, jwt_secret)
     self.assertEqual(config.trust_ssl, 'Consent')
Пример #2
0
 def test_decode_token(self):
     os.environ['CTERA_FILER_JWT_SECRET'] = 'unittests'
     session_id = str(uuid.uuid4())
     token = jwt.encode({'payload': session_id},
                        Config.instance().jwt_secret,
                        algorithm=tokenizer.JWT_ALGORITHM)
     decoded_token = tokenizer.decode_token(token)
     self.assertEqual(session_id, decoded_token['payload'])
Пример #3
0
 def test_create_token(self):
     os.environ['CTERA_FILER_JWT_SECRET'] = 'unittests'
     session_id = str(uuid.uuid4())
     token = tokenizer.create_token(session_id)
     decoded_token = jwt.decode(token,
                                Config.instance().jwt_secret,
                                algorithms=[tokenizer.JWT_ALGORITHM])
     self.assertEqual(session_id, decoded_token['sub'])
 def test_success_from_env(self):
     jwt_secret = 'unittests'
     hostname = '192.168.1.1'
     trust = 'Trust'
     os.environ['CTERA_FILER_JWT_SECRET'] = jwt_secret
     os.environ['CTERA_FILER_ADDRESS'] = hostname
     os.environ['CTERA_FILER_TRUST_SSL'] = trust
     config = Config.instance()
     self.assertEqual(config.hostname, hostname)
     self.assertEqual(config.jwt_secret, jwt_secret)
     self.assertEqual(config.trust_ssl, trust)
Пример #5
0
def create_token(session_id):
    timestamp = _current_timestamp()
    payload = {
        "iss": JWT_ISSUER,
        "iat": int(timestamp),
        "exp": int(timestamp + JWT_LIFETIME_SECONDS),
        "sub": str(session_id),
    }
    return jwt.encode(payload,
                      Config.instance().jwt_secret,
                      algorithm=JWT_ALGORITHM)
Пример #6
0
 def __init__(self, session_id=None):
     self._gateway = Gateway(Config.instance().hostname, https=True)
     if session_id:
         self._gateway.set_session_id(session_id)
Пример #7
0
import logging

import connexion
from connexion.resolver import RestyResolver
from cterasdk import config
import urllib3

from ctera_gateway_openapi.common.config import Config

logging.basicConfig(level=logging.DEBUG)

config.http['ssl'] = Config.instance().trust_ssl
if config.http['ssl'] == 'Trust':
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

app = connexion.FlaskApp(__name__)
app.add_api('api.yml', resolver=RestyResolver('ctera_gateway_openapi.api'))
application = app.app  # expose global WSGI application object
 def setUp(self) -> None:
     super().setUp()
     Config.clear()
 def test_failure_second_init(self):
     jwt_secret = 'unittests'
     os.environ['CTERA_FILER_JWT_SECRET'] = jwt_secret
     Config.instance()
     with self.assertRaises(Exception):
         Config()
Пример #10
0
def decode_token(token):
    return jwt.decode(token,
                      Config.instance().jwt_secret,
                      algorithms=[JWT_ALGORITHM])