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"]
Beispiel #7
0
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"]
Beispiel #8
0
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
Beispiel #10
0
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
Beispiel #13
0
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"]
Beispiel #14
0
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()