def test_update_from_param(): app = create_test_app() new_map = update_aux_db_engine_discovery_map( app, force_update=True, aux_db_engine_name_prefix='test_aux_') sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) create_tables([TxModel, ParamModel], sm.get_engine(sn)) # TODO: fix when: # td = get_block_data_from_dict(d3[0])['transactions'][0]['params'] # [0] td = get_block_data_from_dict(d3[0])['transactions'][1]['params'] # [0] print("test_update_from_param 2 td: %s" % td) p0n = tuple(td.keys())[0] p0v = td[p0n] pd = {p0n: p0v} app = create_test_app() assert len(ParamModel.query.with_session(session).all()) == 0 p = Param(**pd) ParamModel.update_from_param(p, session=session) assert len(ParamModel.query.with_session(session).all()) == 1 pm = ParamModel.query.with_session(session).all()[0] assert pm.name == p0n assert pm.value == p0v try: ParamModel.update_from_param(p, session=session) except exc.IntegrityError: pass
def test_add_clear(): app = create_test_app() sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) td1 = get_block_data_from_dict(d3[0])['transactions'][0] td2 = get_block_data_from_dict(d3[1])['transactions'][0] assert TxModel.query.with_session(session).count() == 0 assert ParamModel.query.with_session(session).count() == 0 tx1_m = TxModel.update_from_dict(td1, session=session) tx2_m = TxModel.update_from_dict(td2, session=session) assert isinstance(tx1_m, TxModel) assert isinstance(tx2_m, TxModel) assert TxModel.query.with_session(session).count() == 2 assert ParamModel.query.with_session(session).count() == 4 TxModel.clear(session=session) assert TxModel.query.with_session(session).count() == 0 assert ParamModel.query.with_session(session).count() == 0
def test_update_from_header(): app = create_test_app() new_map = update_aux_db_engine_discovery_map(app, force_update=True, aux_db_engine_name_prefix='test_aux_') sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) hd = get_block_data_from_dict(d3[0])['header'] len_first = len(HeaderModel.query.with_session(session).all()) h = Header(b64decode_hashes=True, from_dict=hd) HeaderModel.update_from_header(h, session=session) assert len(HeaderModel.query.with_session(session).all()) == len_first + 1
def test_update_from_dict(): app = create_test_app() new_map = update_aux_db_engine_discovery_map(app, force_update=True, aux_db_engine_name_prefix='test_aux_') sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) create_tables([BlockModel, HeaderModel], sm.get_engine(sn)) hd = get_block_data_from_dict(d3[0])['header'] len_first = len(HeaderModel.query.with_session(session).all()) HeaderModel.update_from_dict(hd, session=session) assert len(HeaderModel.query.with_session(session).all()) == len_first + 1
def NOtest_update_from_list_of_dicts(): app = create_test_app() new_map = update_aux_db_engine_discovery_map(app, force_update=True, aux_db_engine_name_prefix='test_aux_') sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) td = get_block_data_from_dict(d3[1])['transactions'] len_first = len(TxModel.query.with_session(session).all()) TxModel.update_from_list_of_dicts(td, session=session) assert len(TxModel.query.with_session(session).all()) == len_first + len(td)
def NOtest_update_from_tx_set(): app = create_test_app() new_map = update_aux_db_engine_discovery_map(app, force_update=True, aux_db_engine_name_prefix='test_aux_') sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) td = get_block_data_from_dict(d3[0])['transactions'] len_first = len(TxModel.query.with_session(session).all()) tx = TxSet(b64decode_hashes=True, from_list=td) TxModel.update_from_tx_set(tx, session=session) assert len(TxModel.query.with_session(session).all()) == len_first + tx.count
def NOtest_add_delete(): app = create_test_app() sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) td = get_block_data_from_dict(d3[0])['transactions'][0] assert TxModel.query.with_session(session).count() == 0 assert ParamModel.query.with_session(session).count() == 0 tx_m = TxModel.update_from_dict(td, session=session) assert isinstance(tx_m, TxModel) assert TxModel.query.with_session(session).count() == 1 assert ParamModel.query.with_session(session).count() == 2 tx_m.delete(session=session) assert TxModel.query.with_session(session).count() == 0 assert ParamModel.query.with_session(session).count() == 0
def nontest_update_from_param_set(): app = create_test_app() new_map = update_aux_db_engine_discovery_map( app, force_update=True, aux_db_engine_name_prefix='test_aux_') sm = AuxSessionManager(app=app) sn = 1 session = sm.get(sn) create_tables([TxModel, ParamModel], sm.get_engine(sn)) pd = get_block_data_from_dict(d3[0])['transactions'][0]['params'] assert len(ParamModel.query.with_session(session).all()) == 0 ps = ParamSet(**pd) ParamModel.update_from_param_set(ps, session=session) assert len(ParamModel.query.with_session(session).all()) == len(pd) pm = ParamModel.query.with_session(session).all()[0] try: ParamModel.update_from_param_set(ps, session=session) except exc.IntegrityError: pass