Exemplo n.º 1
0
def mockMiddlewareConfig():
    return MetricsApiConfig(
        "README_API_KEY",
        lambda req: {
            "id": "123",
            "label": "testuser",
            "email": "*****@*****.**"
        },
        buffer_length=1,
    )
def mockMiddlewareConfig():
    return MetricsApiConfig(
        "koSyKkViOR5gD6yjBxlsprHfjAIlWOh6",
        lambda req: {
            "id": "123",
            "label": "testuser",
            "email": "*****@*****.**"
        },
        buffer_length=1,
    )
Exemplo n.º 3
0
 def mockMiddlewareConfig(self, **kwargs):
     return MetricsApiConfig(
         "README_API_KEY",
         kwargs.get(
             "grouping_function",
             lambda req: {
                 "api_key": "123",
                 "label": "testuser",
                 "email": "*****@*****.**",
             },
         ),
         buffer_length=1,
         denylist=kwargs.get("denylist", []),
         allowlist=kwargs.get("allowlist", []),
         blacklist=kwargs.get("blacklist", []),
         whitelist=kwargs.get("whitelist", []),
     )
Exemplo n.º 4
0
from datetime import datetime, timedelta
import time
from unittest.mock import Mock, MagicMock
from werkzeug.datastructures import EnvironHeaders

from flask import Flask, request
import pytest
from readme_metrics import MetricsApiConfig
from readme_metrics.flask_readme import ReadMeMetrics
from readme_metrics.ResponseInfoWrapper import ResponseInfoWrapper

mock_config = MetricsApiConfig(
    "README_API_KEY",
    lambda req: {
        "id": "123",
        "label": "testuser",
        "email": "*****@*****.**"
    },
    buffer_length=1000,
)


class TestFlaskExtension:
    def setUp(self):
        pass

    def testInit(self):
        # the extension should register itself with the Flask application
        # provided to the constructor
        app = Mock()
        extension = ReadMeMetrics(config=mock_config, app=app)
Exemplo n.º 5
0
from flask import Flask
from readme_metrics import MetricsApiConfig, MetricsMiddleware

app = Flask(__name__)

# Docs: https://docs.readme.com/developers/docs/authentication#api-key-quick-start
README_API_KEY = "YOUR_API_KEY"

app.wsgi_app = MetricsMiddleware(
    app.wsgi_app,
    MetricsApiConfig(
        README_API_KEY,
        lambda req: {
            'id': 'owlbert',
            'label': 'Owlbert',
            'email': '*****@*****.**'
        },
        buffer_length=
        1,  # makes it so logs show up after each request, rather than after each batch of 10
    ))


@app.route('/', methods=['GET', 'POST'])
def hello_world():
    return 'Hello, World!'
Exemplo n.º 6
0
"""
WSGI config for django_metrics_test project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

from readme_metrics import MetricsApiConfig, MetricsMiddleware

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_metrics_test.settings')

application = get_wsgi_application()

application = MetricsMiddleware(
    application,
    MetricsApiConfig("YOUR_API_KEY",
                     lambda req: {
                         'id': '123',
                         'label': 'testuser',
                         'email': '*****@*****.**'
                     },
                     buffer_length=1))