mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-16 13:01:04 +02:00
Rename get post squeak rpc methods (#659)
* Rename download squeak rpc method * Fix name of upload squeak rpc method * Rename download squeak rpc method * Rename download offer peer rpc method * Fix comments in peer rpc server proto * Rename methods in peer client.
This commit is contained in:
parent
1d4baaa5fa
commit
4ad3232325
5 changed files with 65 additions and 64 deletions
|
|
@ -71,16 +71,17 @@ def test_post_squeak(server_stub, admin_stub, lightning_client, following_signin
|
|||
squeak_hash = get_hash(squeak)
|
||||
|
||||
squeak_msg = build_squeak_msg(squeak)
|
||||
server_stub.PostSqueak(
|
||||
squeak_server_pb2.PostSqueakRequest(squeak=squeak_msg)
|
||||
server_stub.UploadSqueak(
|
||||
squeak_server_pb2.UploadSqueakRequest(squeak=squeak_msg)
|
||||
)
|
||||
|
||||
# Wait a few seconds for the squeak to be verified on the server.
|
||||
time.sleep(1)
|
||||
|
||||
# Get the same squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=bytes.fromhex(squeak_hash))
|
||||
get_response = server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -99,8 +100,8 @@ def test_post_squeak_not_following(
|
|||
|
||||
squeak_msg = build_squeak_msg(squeak)
|
||||
with pytest.raises(Exception):
|
||||
server_stub.PostSqueak(
|
||||
squeak_server_pb2.PostSqueakRequest(squeak=squeak_msg))
|
||||
server_stub.UploadSqueak(
|
||||
squeak_server_pb2.UploadSqueakRequest(squeak=squeak_msg))
|
||||
|
||||
|
||||
def test_lookup_squeaks(server_stub, admin_stub, signing_profile_id, saved_squeak_hash):
|
||||
|
|
@ -190,16 +191,16 @@ def test_sell_squeak(server_stub, admin_stub, lightning_client, saved_squeak_has
|
|||
initial_server_balance = get_balance_response.total_balance
|
||||
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
get_response = server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
||||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
buy_response = server_stub.DownloadOffer(
|
||||
squeak_server_pb2.DownloadOfferRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
|
|
@ -257,8 +258,8 @@ def test_make_squeak(server_stub, admin_stub, signing_profile_id):
|
|||
assert len(make_squeak_hash) == 32 * 2
|
||||
|
||||
# Get the new squeak from the server
|
||||
get_squeak_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
get_squeak_response = server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(make_squeak_hash))
|
||||
)
|
||||
get_squeak_response_squeak = squeak_from_msg(get_squeak_response.squeak)
|
||||
|
|
@ -354,8 +355,8 @@ def test_post_squeak_rate_limit(server_stub, admin_stub, lightning_client, nonfo
|
|||
block_height,
|
||||
)
|
||||
squeak_msg = build_squeak_msg(squeak)
|
||||
server_stub.PostSqueak(
|
||||
squeak_server_pb2.PostSqueakRequest(squeak=squeak_msg)
|
||||
server_stub.UploadSqueak(
|
||||
squeak_server_pb2.UploadSqueakRequest(squeak=squeak_msg)
|
||||
)
|
||||
except Exception as e:
|
||||
post_squeak_exception = e
|
||||
|
|
@ -531,8 +532,8 @@ def test_delete_squeak(server_stub, admin_stub, saved_squeak_hash):
|
|||
|
||||
# Try to get the squeak and fail
|
||||
with pytest.raises(Exception) as excinfo:
|
||||
server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
assert "Squeak not found." in str(excinfo.value)
|
||||
|
|
@ -637,16 +638,16 @@ def test_delete_peer(server_stub, admin_stub, peer_id):
|
|||
|
||||
def test_list_channels(server_stub, admin_stub, lightning_client, saved_squeak_hash):
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
get_response = server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
||||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
buy_response = server_stub.DownloadOffer(
|
||||
squeak_server_pb2.DownloadOfferRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
|
|
@ -699,16 +700,16 @@ def test_send_coins(server_stub, admin_stub, lightning_client):
|
|||
|
||||
def test_list_peers(server_stub, admin_stub, lightning_client, saved_squeak_hash):
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
get_response = server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
||||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
buy_response = server_stub.DownloadOffer(
|
||||
squeak_server_pb2.DownloadOfferRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
|
|
@ -751,16 +752,16 @@ def test_list_peers(server_stub, admin_stub, lightning_client, saved_squeak_hash
|
|||
|
||||
def test_open_channel(server_stub, admin_stub, lightning_client, saved_squeak_hash):
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
get_response = server_stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
||||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
buy_response = server_stub.DownloadOffer(
|
||||
squeak_server_pb2.DownloadOfferRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ package squeaknode;
|
|||
// Interface exported by the server.
|
||||
service SqueakServer {
|
||||
|
||||
/** sqk: `postsqueak`
|
||||
/** sqk: `uploadsqueak`
|
||||
*/
|
||||
rpc PostSqueak (PostSqueakRequest) returns (PostSqueakReply) {}
|
||||
rpc UploadSqueak (UploadSqueakRequest) returns (UploadSqueakReply) {}
|
||||
|
||||
/** sqk: `getsqueak`
|
||||
/** sqk: `downloadsqueak`
|
||||
*/
|
||||
rpc GetSqueak (GetSqueakRequest) returns (GetSqueakReply) {}
|
||||
rpc DownloadSqueak (DownloadSqueakRequest) returns (DownloadSqueakReply) {}
|
||||
|
||||
/** sqk: `lookupsqueakstodownload`
|
||||
*/
|
||||
|
|
@ -26,18 +26,18 @@ service SqueakServer {
|
|||
*/
|
||||
rpc LookupSqueaksToUpload (LookupSqueaksToUploadRequest) returns (LookupSqueaksToUploadReply) {}
|
||||
|
||||
/** sqk: `getoffer`
|
||||
/** sqk: `downloadoffer`
|
||||
*/
|
||||
rpc GetOffer (GetOfferRequest) returns (GetOfferReply) {}
|
||||
rpc DownloadOffer (DownloadOfferRequest) returns (DownloadOfferReply) {}
|
||||
|
||||
}
|
||||
|
||||
message PostSqueakRequest {
|
||||
message UploadSqueakRequest {
|
||||
/// Content of the squeak to be made.
|
||||
Squeak squeak = 1;
|
||||
}
|
||||
|
||||
message GetSqueakRequest {
|
||||
message DownloadSqueakRequest {
|
||||
/// Hash of the squeak to get.
|
||||
bytes hash = 1;
|
||||
}
|
||||
|
|
@ -56,15 +56,15 @@ message LookupSqueaksToUploadRequest {
|
|||
repeated string addresses = 1;
|
||||
}
|
||||
|
||||
message GetOfferRequest {
|
||||
message DownloadOfferRequest {
|
||||
/// Hash of the squeak to buy.
|
||||
bytes hash = 1;
|
||||
}
|
||||
|
||||
message PostSqueakReply {
|
||||
message UploadSqueakReply {
|
||||
}
|
||||
|
||||
message GetSqueakReply {
|
||||
message DownloadSqueakReply {
|
||||
/// The squeak.
|
||||
Squeak squeak = 1;
|
||||
}
|
||||
|
|
@ -85,7 +85,7 @@ message LookupSqueaksToUploadReply {
|
|||
int32 max_block = 4;
|
||||
}
|
||||
|
||||
message GetOfferReply {
|
||||
message DownloadOfferReply {
|
||||
/// The offer
|
||||
Offer offer = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,17 +45,17 @@ class PeerClient:
|
|||
)
|
||||
return lookup_response
|
||||
|
||||
def post_squeak(self, squeak: CSqueak):
|
||||
def upload_squeak(self, squeak: CSqueak):
|
||||
squeak_msg = self._build_squeak_msg(squeak)
|
||||
self.stub.PostSqueak(
|
||||
squeak_server_pb2.PostSqueakRequest(
|
||||
self.stub.UploadSqueak(
|
||||
squeak_server_pb2.UploadSqueakRequest(
|
||||
squeak=squeak_msg,
|
||||
)
|
||||
)
|
||||
|
||||
def get_squeak(self, squeak_hash: bytes):
|
||||
get_response = self.stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
def download_squeak(self, squeak_hash: bytes):
|
||||
get_response = self.stub.DownloadSqueak(
|
||||
squeak_server_pb2.DownloadSqueakRequest(
|
||||
hash=squeak_hash,
|
||||
)
|
||||
)
|
||||
|
|
@ -63,13 +63,13 @@ class PeerClient:
|
|||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
return get_response_squeak
|
||||
|
||||
def get_offer(self, squeak_hash: bytes):
|
||||
get_offer_response = self.stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
def download_offer(self, squeak_hash: bytes):
|
||||
download_offer_response = self.stub.DownloadOffer(
|
||||
squeak_server_pb2.DownloadOfferRequest(
|
||||
hash=squeak_hash,
|
||||
)
|
||||
)
|
||||
offer_msg = get_offer_response.offer
|
||||
offer_msg = download_offer_response.offer
|
||||
return offer_msg
|
||||
|
||||
def _build_squeak_msg(self, squeak: CSqueak):
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
self.port = port
|
||||
self.handler = handler
|
||||
|
||||
def PostSqueak(self, request, context):
|
||||
def UploadSqueak(self, request, context):
|
||||
squeak_msg = request.squeak
|
||||
|
||||
squeak_hash = squeak_msg.hash
|
||||
|
|
@ -28,23 +28,23 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
# Check is squeak deserialized correctly
|
||||
if squeak is None:
|
||||
context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
|
||||
return squeak_server_pb2.PostSqueakReply()
|
||||
return squeak_server_pb2.UploadSqueakReply()
|
||||
|
||||
# Check if squeak hash is correct
|
||||
if get_hash(squeak) != squeak_hash:
|
||||
context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
|
||||
return squeak_server_pb2.PostSqueakReply()
|
||||
return squeak_server_pb2.UploadSqueakReply()
|
||||
|
||||
# Check if squeak is unlocked
|
||||
if not squeak.HasDecryptionKey():
|
||||
context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
|
||||
return squeak_server_pb2.PostSqueakReply()
|
||||
return squeak_server_pb2.UploadSqueakReply()
|
||||
|
||||
# Insert the squeak in database.
|
||||
self.handler.handle_posted_squeak(squeak)
|
||||
return squeak_server_pb2.PostSqueakReply()
|
||||
return squeak_server_pb2.UploadSqueakReply()
|
||||
|
||||
def GetSqueak(self, request: squeak_server_pb2.GetSqueakRequest, context):
|
||||
def DownloadSqueak(self, request: squeak_server_pb2.DownloadSqueakRequest, context):
|
||||
squeak_hash = request.hash
|
||||
# TODO: check if hash is valid
|
||||
|
||||
|
|
@ -52,11 +52,11 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
if squeak is None:
|
||||
context.set_code(grpc.StatusCode.NOT_FOUND)
|
||||
context.set_details("Squeak not found.")
|
||||
return squeak_server_pb2.GetSqueakReply(
|
||||
return squeak_server_pb2.DownloadSqueakReply(
|
||||
squeak=None,
|
||||
)
|
||||
|
||||
return squeak_server_pb2.GetSqueakReply(
|
||||
return squeak_server_pb2.DownloadSqueakReply(
|
||||
squeak=squeak_server_pb2.Squeak(
|
||||
hash=get_hash(squeak),
|
||||
serialized_squeak=squeak.serialize(),
|
||||
|
|
@ -69,7 +69,7 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
def LookupSqueaksToUpload(self, request, context):
|
||||
return self.handler.handle_lookup_squeaks_to_upload(request)
|
||||
|
||||
def GetOffer(self, request, context):
|
||||
def DownloadOffer(self, request, context):
|
||||
squeak_hash = request.hash
|
||||
# TODO: check if hash is valid
|
||||
client_addr = context.peer()
|
||||
|
|
@ -80,13 +80,13 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
if buy_response is None:
|
||||
context.set_code(grpc.StatusCode.NOT_FOUND)
|
||||
context.set_details("Offer not found.")
|
||||
return squeak_server_pb2.GetOfferReply(
|
||||
return squeak_server_pb2.DownloadOfferReply(
|
||||
offer=None,
|
||||
)
|
||||
|
||||
logger.info("Sending buy offer: {}".format(buy_response))
|
||||
|
||||
return squeak_server_pb2.GetOfferReply(
|
||||
return squeak_server_pb2.DownloadOfferReply(
|
||||
offer=squeak_server_pb2.Offer(
|
||||
squeak_hash=buy_response.squeak_hash,
|
||||
nonce=buy_response.nonce,
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ class PeerSyncController:
|
|||
return offer_with_peer
|
||||
|
||||
def _download_squeak(self, squeak_hash: bytes):
|
||||
squeak = self.peer_client.get_squeak(squeak_hash)
|
||||
squeak = self.peer_client.download_squeak(squeak_hash)
|
||||
self.squeak_controller.save_downloaded_squeak(squeak)
|
||||
logger.info("Downloaded squeak {} from peer {}".format(
|
||||
squeak_hash.hex(), self.peer
|
||||
|
|
@ -133,7 +133,7 @@ class PeerSyncController:
|
|||
|
||||
def _download_offer(self, squeak_hash: bytes):
|
||||
squeak = self.squeak_controller.get_squeak(squeak_hash)
|
||||
offer_msg = self.peer_client.get_offer(squeak_hash)
|
||||
offer_msg = self.peer_client.download_offer(squeak_hash)
|
||||
buy_offer = parse_buy_offer(offer_msg)
|
||||
decoded_offer = self.squeak_controller.get_offer(
|
||||
squeak, buy_offer, self.peer)
|
||||
|
|
@ -144,7 +144,7 @@ class PeerSyncController:
|
|||
|
||||
def _upload_squeak(self, squeak_hash: bytes):
|
||||
squeak = self.squeak_controller.get_squeak(squeak_hash)
|
||||
self.peer_client.post_squeak(squeak)
|
||||
self.peer_client.upload_squeak(squeak)
|
||||
logger.info("Uploaded squeak {} to peer {}".format(
|
||||
squeak_hash.hex(), self.peer
|
||||
))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue