def __init__(self, encoding: Encoding = BytesEncoding()): """ Initialize Jeffy SDK. Parameters ---------- encoding: jeffy.encoding.Encoding """ self.app = framework.get_app() self.encoding = encoding
def test_get_app(): """It can get Jeffy object.""" assert isinstance(framework.get_app(), framework.Jeffy)
import io from jeffy.framework import get_app app = get_app() @app.handlers.common() def common_example(event, context): """Common handler example.""" return event @app.handlers.s3() def s3_example(event, context): """Common handler example.""" return event def test_common(): """Common handler test.""" assert common_example({'foo': 'bar'}, {}) == {'foo': 'bar'} def test_s3(mocker): """S3 handler test.""" m = mocker.Mock() m.get_object = mocker.Mock(return_value={ 'Metadata': { 'foo': 'bar' },
import os import uuid from jeffy.framework import get_app from jeffy.logging.handlers.firehose import KinesisFirehoseHandler from jeffy.settings import Logging from jeffy.sdk.kinesis import Kinesis from jeffy.sdk.s3 import S3 from jeffy.sdk.sns import Sns from jeffy.sdk.sqs import Sqs import boto3 import requests app = get_app(logging=Logging(handlers=[ logging.StreamHandler(), KinesisFirehoseHandler(stream_name=os.environ['FIREHOSE_NAME']) ])) @app.handlers.common() def start_test(event, context): requests.post(os.environ['API_URL'], data=json.dumps({'foo': 'bar'}), headers={'content-type': 'application/json'}) Sns().publish(topic_arn=os.environ['TOPIC_ARN'], subject='foo', message='bar') Kinesis().put_record(stream_name=os.environ['STREAM_NAME'], data={'foo': 'bar'}, partition_key='partition_key') Sqs().send_message(queue_url=os.environ['QUEUE_URL'],
def handlers(): """Get Handlers class.""" app = framework.get_app(logging=Logging(correlation_attr_name='foo'), rest_api=RestApi(correlation_id_header='x-bar-id')) return app.handlers
def __init__(self) -> None: self.app = framework.get_app()