コード例 #1
0
 def test_add__already_applied(self, *, manager):
     bp1 = Blueprint("test1")
     manager.applied = True
     with pytest.raises(RuntimeError):
         manager.add("/v1", bp1)
コード例 #2
0
from itertools import count

import pytest
import faust
from faust.web import Blueprint, View

DEFAULT_TIMEOUT = 361.363
VIEW_B_TIMEOUT = 64.3

blueprint = Blueprint('test')
cache = blueprint.cache(timeout=DEFAULT_TIMEOUT)


class ResponseModel(faust.Record):
    key: str
    value: int


@blueprint.route('/A/', name='a')
class ACachedView(View):
    def __post_init__(self) -> None:
        self.counter = count()

    @cache.view()
    async def get(self, request):
        return await self._next_response(request)

    async def _next_response(self, request):
        cache_key = cache.key_for_request(request, None, request.method)
        return self.json(
            ResponseModel(
コード例 #3
0
 def test_add(self, *, manager):
     bp1 = Blueprint("test1")
     manager.add("/v1/", bp1)
     assert manager._enabled
     assert manager._enabled[0] == ("/v1/", bp1)
コード例 #4
0
 def test_add(self, *, manager):
     bp1 = Blueprint('test1')
     manager.add('/v1/', bp1)
     assert manager._enabled
     assert manager._enabled[0] == ('/v1/', bp1)
コード例 #5
0
from itertools import count

import aredis
import pytest
from mode.utils.mocks import Mock

import faust
from faust.exceptions import ImproperlyConfigured
from faust.web import Blueprint, View
from faust.web.cache import backends
from faust.web.cache.backends import redis

DEFAULT_TIMEOUT = 361.363
VIEW_B_TIMEOUT = 64.3

blueprint = Blueprint("test")
cache = blueprint.cache(timeout=None)


class ResponseModel(faust.Record):
    key: str
    value: int


@blueprint.route("/A/", name="a")
class ACachedView(View):
    def __post_init__(self) -> None:
        self.counter = count()

    @cache.view(timeout=DEFAULT_TIMEOUT)
    async def get(self, request):
コード例 #6
0
ファイル: hooks.py プロジェクト: nathanmkaya/faust_demo
from typing import Any
from faust.web import View, Blueprint, Request, Response
from faust_app.mifos import agent, MifosEvent

hook = Blueprint('hook')


@hook.route('/mifos/')
class Hooks(View):
    count: int = 0

    async def get(self, request: Request, **kwargs: Any) -> Response:
        return self.json({'count': self.count})

    async def post(self, request: Request, **kwargs: Any) -> Response:
        payload = await request.json()
        headers = request.headers
        entity = headers['X-FINERACT-ENTITY']
        action = headers['X-FINERACT-ACTION']

        event = MifosEvent(id=payload['resourceId'],
                           entity=entity,
                           action=action,
                           payload=payload)
        await agent.send(value=event)
        return self.json({'status': 'success'})
コード例 #7
0
from typing import Any
from faust.web import View, Blueprint, Request, Response
from faust_app.mpesa import agent, Transaction

mpesa_blueprint = Blueprint('mpesa')


@mpesa_blueprint.route('/callback/')
class M_Pesa(View):
    async def post(self, request: Request, **kwargs: Any) -> Response:
        payload = await request.json()

        transaction = Transaction(id=payload['id'])
        await agent.send(key=transaction.id, value=transaction)
        return self.json({'status': 'success'})
コード例 #8
0
ファイル: test_cache.py プロジェクト: marcosschroh/faust
from itertools import count

import aredis
import pytest
import faust
from faust.exceptions import ImproperlyConfigured
from faust.web import Blueprint, View
from faust.web.cache import backends
from faust.web.cache.backends import redis
from mode.utils.mocks import Mock

DEFAULT_TIMEOUT = 361.363
VIEW_B_TIMEOUT = 64.3

blueprint = Blueprint('test')
cache = blueprint.cache(timeout=None)


class ResponseModel(faust.Record):
    key: str
    value: int


@blueprint.route('/A/', name='a')
class ACachedView(View):
    def __post_init__(self) -> None:
        self.counter = count()

    @cache.view(timeout=DEFAULT_TIMEOUT)
    async def get(self, request):
        return await self._next_response(request)