Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/keri/app/cli/commands/escrow/clear.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,7 @@ def clear(tymth, tock=0.0, **opts):
with existing.existingHby(name=name, base=base, bran=bran) as hby:
hby.db.clearEscrows()
reger = viring.Reger(name=hby.name, db=hby.db, temp=False)
reger.clearEscrows()
try:
reger.clearEscrows()
finally:
reger.close()
1 change: 1 addition & 0 deletions src/keri/app/cli/commands/escrow/list.py
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ def escrows(tymth, tock=0.0, **opts):
escrows["credential-out-of-order"] = sum(1 for key, _ in reger.txnsb.escrowdb.getItemIter(keys=("credential-ooo", "")))

print(json.dumps(escrows, indent=2))
reger.close()

except ConfigurationError as e:
print(f"identifier prefix for {name} does not exist, incept must be run first", )
Expand Down
1 change: 1 addition & 0 deletions src/keri/app/cli/commands/witness/start.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ def runWitness(name="witness", base="", alias="witness", bran="", tcp=5631, http
reopen=True)

aeid = ks.gbls.get('aeid')
ks.close()

cf = None
if configFile is not None:
Expand Down
10 changes: 5 additions & 5 deletions src/keri/app/indirecting.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def setupWitness(hby, alias="witness", mbx=None, aids=None, tcpPort=5631, httpPo
app.add_route("/", httpEnd)
receiptEnd = ReceiptEnd(hab=hab, inbound=cues, aids=aids)
app.add_route("/receipts", receiptEnd)
queryEnd = QueryEnd(hab=hab)
queryEnd = QueryEnd(hab=hab, reger=reger)
app.add_route("/query", queryEnd)
metricsEnd = EscrowEnd(hby=hby, reger=reger)
app.add_route("/metrics", metricsEnd)
Expand All @@ -102,7 +102,7 @@ def setupWitness(hby, alias="witness", mbx=None, aids=None, tcpPort=5631, httpPo
httpServerDoer = http.ServerDoer(server=server)

# setup doers
regDoer = basing.BaserDoer(baser=verfer.reger)
regDoer = basing.BaserDoer(baser=reger)

if tcpPort is not None:
server = serving.Server(host="", port=tcpPort)
Expand Down Expand Up @@ -1195,9 +1195,9 @@ class QueryEnd:

"""

def __init__(self, hab):
def __init__(self, hab, reger):
self.hab = hab
self.reger = viring.Reger(name=hab.name, db=hab.db, temp=False)
self.reger = reger

def on_get(self, req, rep):
""" Handles GET requests to query KEL or TEL events of a pre from a witness.
Expand Down Expand Up @@ -1287,5 +1287,5 @@ def on_get(self, req, rep):

else:
rep.set_header('Content-Type', "application/json")
rep.text = "unkown query type."
rep.text = "unknown query type."
rep.status = falcon.HTTP_400
10 changes: 8 additions & 2 deletions tests/app/test_agenting.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from keri.core.coring import Seqner
from keri.help import nowIso8601
from keri.app import habbing, indirecting, agenting, directing
from keri.db import dbing
from keri.db import basing, dbing
from keri.vdr import eventing, viring


Expand Down Expand Up @@ -131,6 +131,12 @@ def __init__(self, wanHby, wilHby, wesHby, palHby, seeder):
wilDoers = indirecting.setupWitness(alias="wil", hby=wilHby, tcpPort=5633, httpPort=5643)
wesDoers = indirecting.setupWitness(alias="wes", hby=wesHby, tcpPort=5634, httpPort=5644)

self.regers = dict(
wan=next(doer.baser for doer in wanDoers if isinstance(doer, basing.BaserDoer)),
wil=next(doer.baser for doer in wilDoers if isinstance(doer, basing.BaserDoer)),
wes=next(doer.baser for doer in wesDoers if isinstance(doer, basing.BaserDoer)),
)

wanHab = wanHby.habByName(name="wan")
wilHab = wilHby.habByName(name="wil")
wesHab = wesHby.habByName(name="wes")
Expand Down Expand Up @@ -170,7 +176,7 @@ def testDo(self, tymth, tock=0.0, **kwa):
assert cue["msg"] == msg

for name in ["wes", "wil", "wan"]:
reger = viring.Reger(name=name)
reger = self.regers[name]
while True:
raw = reger.getTvt(dbing.dgKey(serder.preb, serder.saidb))
if raw:
Expand Down
9 changes: 7 additions & 2 deletions tests/app/test_indirecting.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,13 +164,18 @@ def test_wit_query_ends(seeder):
with habbing.openHby(name="wes", salt=core.Salter(raw=b'wess-the-witness').qb64) as wesHby, \
habbing.openHby(name="pal", salt=core.Salter(raw=b'0123456789abcdef').qb64) as palHby:
wesDoers = indirecting.setupWitness(alias="wes", hby=wesHby, tcpPort=5634, httpPort=5644)

# Pull the reger out of the Doers so the reger is reused and does not trigger an LMDB error on reuse
wesReger = next(doer.baser for doer in wesDoers
if isinstance(getattr(doer, "baser", None), viring.Reger))

witDoer = agenting.Receiptor(hby=palHby)

wesHab = wesHby.habByName(name="wes")
seeder.seedWitEnds(palHby.db, witHabs=[wesHab], protocols=[kering.Schemes.http])

app = falcon.App()
query_endpoint = indirecting.QueryEnd(wesHab)
query_endpoint = indirecting.QueryEnd(wesHab, reger=wesReger)
app.add_route("/query", query_endpoint)

wesClient = testing.TestClient(app)
Expand Down Expand Up @@ -263,7 +268,7 @@ def recur(self, tyme=0.0, deeds=None, **kwa):
res = wesClient.simulate_get("/query", params={"typ": "invalid"})
assert res.status_code == 400
assert res.headers['Content-Type'] == "application/json"
assert "unkown query type" in res.text
assert "unknown query type" in res.text

return True

Expand Down
Loading