Exemplo n.º 1
0
async def test_validate_attr_URI_WEB_allowed_domains_uri_web_invalid():
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_URI_WEB',
            attr_type=ATTR.URI_WEB(allowed_domains=['foo.com', 'bar.net']),
            attr_val='https://sub.example.com',
            mode='create',
        )
Exemplo n.º 2
0
async def test_validate_attr_URI_WEB_allowed_domains_uri_web():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=ATTR.URI_WEB(allowed_domains=['foo.com', 'bar.net']),
        attr_val='https://sub.foo.com/index?something=value',
        mode='create',
    )
    assert attr_val == 'https://sub.foo.com/index?something=value'
Exemplo n.º 3
0
async def test_validate_attr_URI_WEB_None_allow_none():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=ATTR.URI_WEB(),
        attr_val=None,
        mode='update',
    )
    assert attr_val == None
Exemplo n.º 4
0
async def test_validate_attr_URI_WEB_None():
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_URI_WEB',
            attr_type=ATTR.URI_WEB(),
            attr_val=None,
            mode='create',
        )
Exemplo n.º 5
0
async def test_validate_attr_URI_WEB_uri_web_secure():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=ATTR.URI_WEB(),
        attr_val='https://sub.example.com',
        mode='create',
    )
    assert attr_val == 'https://sub.example.com'
Exemplo n.º 6
0
async def test_validate_attr_LIST_muti_list_invalid():
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_LIST',
            attr_type=ATTR.LIST(
                list=[ATTR.EMAIL(), ATTR.URI_WEB()]),
            attr_val=['*****@*****.**', 'http://sub.example.com', '1'],
            mode='create',
        )
Exemplo n.º 7
0
async def test_validate_attr_URI_WEB_disallowed_domains_strict_uri_web():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=ATTR.URI_WEB(disallowed_domains=['foo.com', 'bar.net'],
                               strict=True),
        attr_val='http://sub.bar.net',
        mode='create',
    )
    assert attr_val == 'http://sub.bar.net'
Exemplo n.º 8
0
async def test_validate_attr_URI_WEB_allowed_domains_strict_uri_web():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=ATTR.URI_WEB(allowed_domains=['foo.com', 'bar.net'],
                               strict=True),
        attr_val='http://bar.net/some-params/and+page',
        mode='create',
    )
    assert attr_val == 'http://bar.net/some-params/and+page'
Exemplo n.º 9
0
async def test_validate_attr_URI_WEB_default_int_allow_none():
    attr_type = ATTR.URI_WEB()
    attr_type._default = 'test_validate_attr_URI_WEB'
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=attr_type,
        attr_val=1,
        mode='update',
    )
    assert attr_val == None
Exemplo n.º 10
0
async def test_validate_attr_URI_WEB_default_None():
    attr_type = ATTR.URI_WEB()
    attr_type._default = 'test_validate_attr_URI_WEB'
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=attr_type,
        attr_val=None,
        mode='create',
    )
    assert attr_val == 'test_validate_attr_URI_WEB'
Exemplo n.º 11
0
async def test_validate_attr_URI_WEB_disallowed_domains_strict_uri_web_invalid(
):
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_URI_WEB',
            attr_type=ATTR.URI_WEB(disallowed_domains=['foo.com', 'bar.net'],
                                   strict=True),
            attr_val='https://bar.net',
            mode='create',
        )
Exemplo n.º 12
0
async def test_validate_attr_URI_WEB_uri_web_params():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_URI_WEB',
        attr_type=ATTR.URI_WEB(),
        attr_val=
        'https://sub.example.com?param1=something-here&param2=something_else',
        mode='create',
    )
    assert (
        attr_val ==
        'https://sub.example.com?param1=something-here&param2=something_else')
Exemplo n.º 13
0
async def test_validate_attr_LIST_typed_dict():
    list_attr_val = [
        '*****@*****.**',
        'http://sub.example.com',
        'https://sub.domain.com',
    ]
    attr_val = await validate_attr(
        attr_name='test_validate_attr_LIST',
        attr_type=ATTR.LIST(list=[ATTR.EMAIL(), ATTR.URI_WEB()], min=1, max=3),
        attr_val=list_attr_val,
        mode='create',
    )
    assert attr_val == list_attr_val
Exemplo n.º 14
0
    version='1.0.0',
    gateways={
        'mailgun_messages': mailgun_messages_gateway,
        'mailgun_newsletters': mailgun_newsletters_gateway,
    },
    vars_types={
        'mailgun':
        ATTR.TYPED_DICT(
            dict={
                'key':
                ATTR.STR(),
                'newsletters':
                ATTR.KV_DICT(key=ATTR.STR(), val=ATTR.STR()),
                'senders':
                ATTR.KV_DICT(
                    key=ATTR.STR(),
                    val=ATTR.TYPED_DICT(
                        dict={
                            'uri':
                            ATTR.URI_WEB(allowed_domains=['api.mailgun.net'],
                                         strict=True),
                            'sender_name':
                            ATTR.STR(),
                            'sender_email':
                            ATTR.EMAIL(),
                        }),
                ),
            })
    },
)
Exemplo n.º 15
0
def test_generate_attr_URI_WEB_allowed_domains_strict():
    attr_val = utils.generate_attr(attr_type=ATTR.URI_WEB(
        allowed_domains=['foo.com', 'bar.net', 'baz.ae'], strict=True))
    assert attr_val.startswith('https://foo.com/') or attr_val.startswith(
        'https://bar.net/') or attr_val.startswith('https://baz.ae/')
Exemplo n.º 16
0
def test_generate_attr_URI_WEB_no_args():
    attr_val = utils.generate_attr(attr_type=ATTR.URI_WEB())
    assert re.match(r'^https?:\/\/(?:[\w\-\_]+\.)(?:\.?[\w]{2,})+([\?\/].*)?$',
                    attr_val) != None