mirror of
https://github.com/aljazceru/python-teos.git
synced 2025-12-18 22:54:23 +01:00
Refactors the codebase to match the new naming from 793d563b8c053136dd5f936b0ef0cd88af215b06 and 3046eae38ee3f34857c96e6b9d43e645f7d2de2d
This commit is contained in:
@@ -2,7 +2,7 @@ import random
|
||||
from uuid import uuid4
|
||||
|
||||
from pisa import c_logger
|
||||
from pisa.responder import Job
|
||||
from pisa.responder import TransactionTracker
|
||||
from pisa.cleaner import Cleaner
|
||||
from pisa.appointment import Appointment
|
||||
from pisa.db_manager import WATCHER_PREFIX
|
||||
@@ -48,11 +48,11 @@ def set_up_appointments(db_manager, total_appointments):
|
||||
return appointments, locator_uuid_map
|
||||
|
||||
|
||||
def set_up_jobs(db_manager, total_jobs):
|
||||
jobs = dict()
|
||||
tx_job_map = dict()
|
||||
def set_up_trackers(db_manager, total_trackers):
|
||||
trackers = dict()
|
||||
tx_tracker_map = dict()
|
||||
|
||||
for i in range(total_jobs):
|
||||
for i in range(total_trackers):
|
||||
uuid = uuid4().hex
|
||||
|
||||
# We use the same txid for penalty and dispute here, it shouldn't matter
|
||||
@@ -61,24 +61,24 @@ def set_up_jobs(db_manager, total_jobs):
|
||||
locator = dispute_txid[:LOCATOR_LEN_HEX]
|
||||
|
||||
# Assign both penalty_txid and dispute_txid the same id (it shouldn't matter)
|
||||
job = Job(locator, dispute_txid, penalty_txid, None, None)
|
||||
jobs[uuid] = job
|
||||
tx_job_map[penalty_txid] = [uuid]
|
||||
tracker = TransactionTracker(locator, dispute_txid, penalty_txid, None, None)
|
||||
trackers[uuid] = tracker
|
||||
tx_tracker_map[penalty_txid] = [uuid]
|
||||
|
||||
db_manager.store_responder_job(uuid, job.to_json())
|
||||
db_manager.store_update_locator_map(job.locator, uuid)
|
||||
db_manager.store_responder_tracker(uuid, tracker.to_json())
|
||||
db_manager.store_update_locator_map(tracker.locator, uuid)
|
||||
|
||||
# Each penalty_txid can have more than one uuid assigned to it.
|
||||
if i % 2:
|
||||
uuid = uuid4().hex
|
||||
|
||||
jobs[uuid] = job
|
||||
tx_job_map[penalty_txid].append(uuid)
|
||||
trackers[uuid] = tracker
|
||||
tx_tracker_map[penalty_txid].append(uuid)
|
||||
|
||||
db_manager.store_responder_job(uuid, job.to_json())
|
||||
db_manager.store_update_locator_map(job.locator, uuid)
|
||||
db_manager.store_responder_tracker(uuid, tracker.to_json())
|
||||
db_manager.store_update_locator_map(tracker.locator, uuid)
|
||||
|
||||
return jobs, tx_job_map
|
||||
return trackers, tx_tracker_map
|
||||
|
||||
|
||||
def test_delete_expired_appointment(db_manager):
|
||||
@@ -107,38 +107,38 @@ def test_delete_completed_appointments(db_manager):
|
||||
assert db_appointments[uuid]["triggered"] is True
|
||||
|
||||
|
||||
def test_delete_completed_jobs_db_match(db_manager):
|
||||
def test_delete_completed_trackers_db_match(db_manager):
|
||||
height = 0
|
||||
|
||||
for _ in range(ITERATIONS):
|
||||
jobs, tx_job_map = set_up_jobs(db_manager, MAX_ITEMS)
|
||||
selected_jobs = random.sample(list(jobs.keys()), k=ITEMS)
|
||||
trackers, tx_tracker_map = set_up_trackers(db_manager, MAX_ITEMS)
|
||||
selected_trackers = random.sample(list(trackers.keys()), k=ITEMS)
|
||||
|
||||
completed_jobs = [(job, 6) for job in selected_jobs]
|
||||
completed_trackers = [(tracker, 6) for tracker in selected_trackers]
|
||||
|
||||
Cleaner.delete_completed_jobs(completed_jobs, height, jobs, tx_job_map, db_manager)
|
||||
Cleaner.delete_completed_trackers(completed_trackers, height, trackers, tx_tracker_map, db_manager)
|
||||
|
||||
assert not set(completed_jobs).issubset(jobs.keys())
|
||||
assert not set(completed_trackers).issubset(trackers.keys())
|
||||
|
||||
|
||||
def test_delete_completed_jobs_no_db_match(db_manager):
|
||||
def test_delete_completed_trackers_no_db_match(db_manager):
|
||||
height = 0
|
||||
|
||||
for _ in range(ITERATIONS):
|
||||
jobs, tx_job_map = set_up_jobs(db_manager, MAX_ITEMS)
|
||||
selected_jobs = random.sample(list(jobs.keys()), k=ITEMS)
|
||||
trackers, tx_tracker_map = set_up_trackers(db_manager, MAX_ITEMS)
|
||||
selected_trackers = random.sample(list(trackers.keys()), k=ITEMS)
|
||||
|
||||
# Let's change some uuid's by creating new jobs that are not included in the db and share a penalty_txid with
|
||||
# another job that is stored in the db.
|
||||
for uuid in selected_jobs[: ITEMS // 2]:
|
||||
penalty_txid = jobs[uuid].penalty_txid
|
||||
# Let's change some uuid's by creating new trackers that are not included in the db and share a penalty_txid
|
||||
# with another tracker that is stored in the db.
|
||||
for uuid in selected_trackers[: ITEMS // 2]:
|
||||
penalty_txid = trackers[uuid].penalty_txid
|
||||
dispute_txid = get_random_value_hex(32)
|
||||
locator = dispute_txid[:LOCATOR_LEN_HEX]
|
||||
new_uuid = uuid4().hex
|
||||
|
||||
jobs[new_uuid] = Job(locator, dispute_txid, penalty_txid, None, None)
|
||||
tx_job_map[penalty_txid].append(new_uuid)
|
||||
selected_jobs.append(new_uuid)
|
||||
trackers[new_uuid] = TransactionTracker(locator, dispute_txid, penalty_txid, None, None)
|
||||
tx_tracker_map[penalty_txid].append(new_uuid)
|
||||
selected_trackers.append(new_uuid)
|
||||
|
||||
# Let's add some random data
|
||||
for i in range(ITEMS // 2):
|
||||
@@ -147,12 +147,12 @@ def test_delete_completed_jobs_no_db_match(db_manager):
|
||||
dispute_txid = get_random_value_hex(32)
|
||||
locator = dispute_txid[:LOCATOR_LEN_HEX]
|
||||
|
||||
jobs[uuid] = Job(locator, dispute_txid, penalty_txid, None, None)
|
||||
tx_job_map[penalty_txid] = [uuid]
|
||||
selected_jobs.append(uuid)
|
||||
trackers[uuid] = TransactionTracker(locator, dispute_txid, penalty_txid, None, None)
|
||||
tx_tracker_map[penalty_txid] = [uuid]
|
||||
selected_trackers.append(uuid)
|
||||
|
||||
completed_jobs = [(job, 6) for job in selected_jobs]
|
||||
completed_trackers = [(tracker, 6) for tracker in selected_trackers]
|
||||
|
||||
# We should be able to delete the correct ones and not fail in the others
|
||||
Cleaner.delete_completed_jobs(completed_jobs, height, jobs, tx_job_map, db_manager)
|
||||
assert not set(completed_jobs).issubset(jobs.keys())
|
||||
Cleaner.delete_completed_trackers(completed_trackers, height, trackers, tx_tracker_map, db_manager)
|
||||
assert not set(completed_trackers).issubset(trackers.keys())
|
||||
|
||||
Reference in New Issue
Block a user