Пример #1
0
async def test_validate_attr_GEO_None():
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_GEO',
            attr_type=ATTR.GEO(),
            attr_val=None,
            mode='create',
        )
Пример #2
0
async def test_validate_attr_GEO_None_allow_none():
    attr_val = await validate_attr(
        attr_name='test_validate_attr_GEO',
        attr_type=ATTR.GEO(),
        attr_val=None,
        mode='update',
    )
    assert attr_val == None
Пример #3
0
async def test_validate_attr_GEO_dict_invalid():
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_GEO',
            attr_type=ATTR.GEO(),
            attr_val={'key': 'value'},
            mode='create',
        )
Пример #4
0
async def test_validate_attr_GEO_geo():
    geo_attr_val = {'type': 'Point', 'coordinates': [21.422507, 39.826181]}
    attr_val = await validate_attr(
        attr_name='test_validate_attr_GEO',
        attr_type=ATTR.GEO(),
        attr_val=geo_attr_val,
        mode='create',
    )
    assert attr_val == geo_attr_val
Пример #5
0
async def test_validate_attr_GEO_default_int():
    attr_type = ATTR.GEO()
    attr_type._default = 'test_validate_attr_GEO'
    attr_val = await validate_attr(
        attr_name='test_validate_attr_GEO',
        attr_type=attr_type,
        attr_val=1,
        mode='create',
    )
    assert attr_val == 'test_validate_attr_GEO'
Пример #6
0
async def test_validate_attr_GEO_geo_as_str():
    with pytest.raises(InvalidAttrException):
        await validate_attr(
            attr_name='test_validate_attr_GEO',
            attr_type=ATTR.GEO(),
            attr_val={
                'type': 'Point',
                'coordinates': ['21.422507', '39.826181']
            },
            mode='create',
        )
Пример #7
0
async def test_validate_doc_allow_update_list_typed_dict_locale_dot_notated(
	preserve_state,
):
	with preserve_state(config, 'Config'):
		config.Config.locales = ['en_GB', 'jp_JP']
		config.Config.locale = 'en_GB'
		attrs = {
			'val': ATTR.LIST(
				list=[ATTR.TYPED_DICT(dict={'address': ATTR.LOCALE(), 'coords': ATTR.GEO()})]
			)
		}
		doc = {'val.0.address.jp_JP': 'new_address'}
		await utils.validate_doc(doc=doc, attrs=attrs, mode='update')
		assert doc == {'val.0.address.jp_JP': 'new_address'}
Пример #8
0
def test_generate_attr_GEO():
    attr_val = utils.generate_attr(attr_type=ATTR.GEO())
    assert type(attr_val) == dict
    assert set(k for k in attr_val.keys()) == {'type', 'coordinates'}