Exemplo n.º 1
0
 def test_schema_correct(self):
     assert SettingsTwoFourWithOverrides.schema == {
         'bar': fields.Integer(),
         'baz': fields.ByteString(),
         'qux': fields.Decimal(),
         'new': fields.ByteString(),
         'old': fields.UnicodeString(),
     }
Exemplo n.º 2
0
 def test_schema_correct(self):
     assert SettingsOneTwoThreeWithOverridesExtended.schema == {
         'foo': fields.UnicodeString(),
         'bar': fields.Boolean(),
         'baz': fields.ByteString(),
         'qux': fields.Decimal(),
         'new': fields.ByteString(),
         'old': fields.UnicodeString(),
     }
Exemplo n.º 3
0
class SettingsToTest(settings.Settings):
    schema: settings.SettingsSchema = {
        'one': fields.Dictionary({
            'a': fields.ClassConfigurationSchema(base_class=ClassUsingAttrs27HintsToTest, description='Nifty schema.'),
            'b': fields.PythonPath(value_schema=fields.UnicodeString(), description='Must be a path, yo.'),
            'c': fields.TypeReference(base_classes=ClassHoldingSigsToTest, description='Refer to that thing!'),
        }),
        'two': fields.SchemalessDictionary(key_type=fields.UnicodeString(), value_type=fields.Boolean()),
        'three': fields.List(fields.Integer()),
        'four': fields.Nullable(fields.Set(fields.ByteString())),
        'five': fields.Any(fields.Integer(), fields.Float()),
        'six': fields.ObjectInstance(valid_type=ClassUsingAttrs27HintsToTest, description='Y u no instance?'),
        'seven': fields.Polymorph(
            'thing',
            {
                'thing1': fields.Dictionary({'z': fields.Boolean()}, allow_extra_keys=True),
                'thing2': fields.Dictionary({'y': fields.Boolean()}, allow_extra_keys=True, optional_keys=('y', )),
            },
        ),
    }

    defaults: settings.SettingsData = {
        'one': {
            'b': 'foo.bar:Class',
        },
        'three': [1, 5, 7],
    }
Exemplo n.º 4
0
class GetTinyImageAction(Action):
    response_schema = fields.Dictionary({'tiny_image': fields.ByteString()})

    def run(self, request):
        with open(os.path.dirname(__file__) + '/tiny-image.gif',
                  'rb') as file_input:
            return {'tiny_image': file_input.read()}
Exemplo n.º 5
0
 def test_schema_correct(self):
     assert SettingsOneTwoThreeWithOverrides.schema == {
         'foo': fields.UnicodeString(),
         'bar': fields.Boolean(),
         'baz': fields.ByteString(),
         'qux': fields.Float(),
     }
Exemplo n.º 6
0
 def test_schema_correct(self):
     assert SettingsTwoFour.schema == {
         'bar':
         fields.Integer(),
         'baz':
         fields.Dictionary(
             {
                 'inner_foo':
                 fields.UnicodeString(),
                 'inner_bar':
                 fields.Boolean(),
                 'inner_baz':
                 fields.List(fields.Integer()),
                 'inner_qux':
                 fields.Dictionary(
                     {
                         'most_inner_foo': fields.Boolean(),
                         'most_inner_bar': fields.UnicodeString(),
                     }, ),
             }, ),
         'qux':
         fields.Decimal(),
         'new':
         fields.ByteString(),
         'old':
         fields.UnicodeString(),
     }
Exemplo n.º 7
0
 def test_schema_correct(self):
     assert SettingsFour.schema == {
         'baz': fields.List(fields.Float()),
         'qux': fields.Decimal(),
         'new': fields.ByteString(),
         'old': fields.UnicodeString(),
     }
Exemplo n.º 8
0
class TypesEchoAction(Action):
    request_schema = fields.Dictionary(
        {
            'an_int': fields.Integer(),
            'a_float': fields.Float(),
            'a_bool': fields.Boolean(),
            'a_bytes': fields.ByteString(),
            'a_string': fields.UnicodeString(),
            'a_datetime': fields.DateTime(),
            'a_date': fields.Date(),
            'a_time': fields.Time(),
            'a_list': fields.List(fields.Anything(), max_length=0),
            'a_dict': fields.Nullable(fields.Dictionary({})),
        },
        optional_keys=(
            'an_int', 'a_float', 'a_bool', 'a_bytes', 'a_string', 'a_datetime', 'a_date', 'a_time', 'a_list', 'a_dict',
        ),
    )

    response_schema = fields.Dictionary(
        {'r_{}'.format(k): v for k, v in six.iteritems(request_schema.contents)},
        optional_keys=('r_{}'.format(k) for k in request_schema.optional_keys),
    )

    def run(self, request):
        return {'r_{}'.format(k): v for k, v in six.iteritems(request.body)}
Exemplo n.º 9
0
class SettingsTwoFourWithOverrides(SettingsTwo, SettingsFour):
    schema = {
        'baz': fields.ByteString(),
    }  # type: SettingsSchema

    defaults = {
        'baz': b'This is the default',
    }  # type: SettingsData
Exemplo n.º 10
0
class SettingsOneTwoThreeWithOverrides(SettingsOne, SettingsTwo,
                                       SettingsThree):
    schema = {
        'baz': fields.ByteString(),
    }  # type: SettingsSchema

    defaults = {
        'baz': b'This is the default',
    }  # type: SettingsData
Exemplo n.º 11
0
class SettingsFour(SettingsThree):
    schema = {
        'qux': fields.Decimal(),
        'new': fields.ByteString(),
        'old': fields.UnicodeString(),
    }  # type: SettingsSchema

    defaults = {
        'qux': decimal.Decimal('1.234'),
        'old': 'Default old',
    }  # type: SettingsData
Exemplo n.º 12
0
class SettingsOneTwoThreeWithOverridesExtended(SettingsOneTwoThreeWithOverrides
                                               ):
    schema = {
        'qux': fields.Decimal(),
        'new': fields.ByteString(),
        'old': fields.UnicodeString(),
    }  # type: SettingsSchema

    defaults = {
        'qux': decimal.Decimal('1.234'),
        'old': 'Default old',
    }  # type: SettingsData
Exemplo n.º 13
0
 def test_schema_correct(self):
     assert SettingsTwoOneWithOverrides.schema == {
         'foo': fields.UnicodeString(),
         'bar': fields.Integer(),
         'baz': fields.ByteString(),
     }
Exemplo n.º 14
0
from pymetrics.instruments import (
    Counter,
    Gauge,
    Histogram,
    Metric,
    Tag,
    Timer,
    TimerResolution,
)
from pymetrics.publishers.statsd import StatsdPublisher

__all__ = ('DogStatsdPublisher', )

_datadog_tags_value_type = fields.Nullable(
    fields.Any(fields.UnicodeString(), fields.ByteString(), fields.Integer(),
               fields.Float(), fields.Boolean()), )


@fields.ClassConfigurationSchema.provider(
    fields.Dictionary(
        {
            'host':
            fields.UnicodeString(
                description=
                'The host name or IP address on which the Dogstatsd server is listening',
            ),
            'port':
            fields.Integer(
                description=
                'The port number on which the Dogstatsd server is listening'),