def test_get_filters_with_optional_params_all_not_passed(): query = {"filter": "filtro_opcional"} index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert 'params' in _filter assert 'query' in _filter assert _filter['query'] == ""
def test_get_filters_with_optional_params_list(): query = {"filter": "filtro_opcional_2", "ids": "1;2"} index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert 'params' in _filter assert 'query' in _filter assert _filter['query'] == "id in (:ids0,:ids1)"
def test_get_projection(): index = Index() index.parse(build_map()) proj = index.get_projection("BankApp") assert 'Conta' in proj assert 'attributes' in proj['Conta'] for p in proj['Conta']['attributes']: assert p[0] == p[1]
def test_parse(): """ should index map into many index structure """ index = Index() index.parse(build_map()) assert 'BankApp' in index.model_cache assert 'Conta' in index.model_cache['BankApp'] assert 'fields' in index.model_cache['BankApp']['Conta'] assert 'attributes' in index.projection_cache['BankApp']['Conta']
def build(self): if not MapBuilder.cache_enable or not MapBuilder.loaded: maps = Loader().build() index = Index() index.parse(maps) transform = Transform(index) translator = Translator(index) MapBuilder.built = Mapper(index, transform, translator) MapBuilder.loaded = True MapBuilder.loaded_at = datetime.datetime.now() return MapBuilder.built
def test_get_filters_with_in_filters_double(): query = {"filter": "lista_ids", "ids": "1.5;2.0;3.1"} index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert 'params' in _filter assert 'query' in _filter assert "ids" not in _filter["params"] assert "ids0" in _filter["params"] assert "ids1" in _filter["params"] assert "ids2" in _filter["params"]
def test_to_domain_without_metadata(): index = Index() index.parse(build_map()) mapped = { "saldo":10, "titular": "teste" } domain = Translator(index).to_domain('BankApp',mapped) assert "saldo" in domain assert "titular" in domain assert domain["saldo"] == mapped["saldo"] assert domain["titular"] == mapped["titular"]
def test_to_domain_with_wrong_type(): index = Index() index.parse(build_map()) mapped = { "saldo":10, "titular": "teste", "_metadata":{ "type":"conta" } } with pytest.raises(AttributeError): Translator(index).to_domain('BankApp',mapped)
def test_get_filters(): query = { "filter": "transferencia", "origem": "teste_origem", "destino": "teste_destino" } index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert 'params' in _filter assert 'query' in _filter
def test_to_map_without_metadata(): index = Index() index.parse(build_map()) domain = { "id": "13123", "meta_instance_id":"1313123", "cl_saldo":10, "cl_titular": "teste" } mapped = Translator(index).to_map('BankApp',domain) assert "cl_saldo" in mapped assert "cl_titular" in mapped
def test_get_filters_with_in_filters_integer_as_string(): query = {"filter": "lista_ids1", "ids": "1;2;3"} index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert 'params' in _filter assert 'query' in _filter assert "ids" not in _filter["params"] assert "ids0" in _filter["params"] assert "ids1" in _filter["params"] assert "ids2" in _filter["params"] assert type(_filter["params"]["ids0"]) is str assert type(_filter["params"]["ids1"]) is str assert type(_filter["params"]["ids2"]) is str
def test_apply_function_fields(): model = { "saldo": 10, "titular": "teste", "meta_instance_id": "123", "_metadata": { "type": "Conta" } } index = Index() index.parse(build_map()) processed = Transform(index).apply_function_fields(model, 'BankApp', 'Conta', {}) assert "premio" in processed assert processed["premio"] == 11
def test_to_domain(): index = Index() index.parse(build_map()) mapped = { "saldo":10, "titular": "teste", "_metadata":{ "type":"Conta" } } domain = Translator(index).to_domain('BankApp',mapped) assert "cl_saldo" in domain assert "cl_titular" in domain assert domain["cl_saldo"] == mapped["saldo"] assert domain["cl_titular"] == mapped["titular"]
def test_to_map(): index = Index() index.parse(build_map()) domain = { "id": "13123", "meta_instance_id":"1313123", "cl_saldo":10, "cl_titular": "teste", "_metadata": { "type":"conta" } } mapped = Translator(index).to_map('BankApp',domain) assert "saldo" in mapped assert "titular" in mapped assert domain["cl_saldo"] == mapped["saldo"] assert domain["cl_titular"] == mapped["titular"]
def test_get_filters_wrong(): index = Index() index.parse(build_map()) assert index.get_filters("W", "W") == dict()
def test_get_model_name(): index = Index() index.parse(build_map()) assert index.get_model_name('BankApp', 'Conta') == "conta"
def build_from_map(self, map_): index = Index() index.parse([map_]) transform = Transform(index) translator = Translator(index) return Mapper(index, transform, translator)
def test_get_functions(): index = Index() index.parse(build_map()) assert "premio" in index.get_functions('BankApp', 'Conta')
def test_get_filters_with_empty_params(): query = dict() index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert _filter == dict()
def test_get_map_by_app_id(): index = Index() index.parse(build_map()) assert index.get_map('BankApp') != None
def test_columns_from_map_type(): index = Index() index.parse(build_map()) _map = index.columns_from_map_type("BankApp", "Conta") for col, reference in _map: assert col == reference
def test_get_map_type_by_domain_type_wrong(): index = Index() index.parse(build_map()) assert index.get_map_type_by_domain_type('BankApp', 'wrong') == ""
def test_get_map_type_by_domain_type(): index = Index() index.parse(build_map()) assert index.get_map_type_by_domain_type('BankApp', 'conta') == "Conta"
def test_get_functions_without_functions(): index = Index() index.parse(build_map()) assert index.get_functions('BankApp', 'Pessoa') == dict()
def test_get_filters_with_wrong_filter_name(): query = {"filter": "wrong", "ids": "1.5;2.0;3.1"} index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('BankApp', 'Conta', query) assert _filter == {}
def test_get_map_by_app_id_wrong(): index = Index() index.parse(build_map()) assert index.get_map('Wrong') == dict()
def test_get_filters_with_wrong_app(): query = dict() index = Index() index.parse(build_map()) _filter = Transform(index).get_filters('WApp', 'donta', query) assert _filter == dict()
def test_get_map_by_app_id_and_name(): index = Index() index.parse(build_map()) assert index.get_map('BankApp', 'Conta') != None
def test_get_map_by_app_id_and_name_wrong_name(): index = Index() index.parse(build_map()) assert index.get_map('BankApp', 'Wrong') == dict()
def test_get_model_name_wrong(): index = Index() index.parse(build_map()) assert index.get_model_name('AABankApp', 'Conta') == dict()