From 4ad3232325169d603b4e61a7debcd0cb6aa26d16 Mon Sep 17 00:00:00 2001 From: Jonathan Zernik Date: Thu, 14 Jan 2021 21:32:55 -0800 Subject: [PATCH] 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. --- itests/tests/test_squeak_node.py | 57 +++++++++++---------- proto/squeak_server.proto | 24 ++++----- squeaknode/network/peer_client.py | 20 ++++---- squeaknode/server/squeak_server_servicer.py | 22 ++++---- squeaknode/sync/peer_sync_controller.py | 6 +-- 5 files changed, 65 insertions(+), 64 deletions(-) diff --git a/itests/tests/test_squeak_node.py b/itests/tests/test_squeak_node.py index 6ab8baa4..dd686759 100644 --- a/itests/tests/test_squeak_node.py +++ b/itests/tests/test_squeak_node.py @@ -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), ) ) diff --git a/proto/squeak_server.proto b/proto/squeak_server.proto index 34c6f923..481ca0de 100644 --- a/proto/squeak_server.proto +++ b/proto/squeak_server.proto @@ -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; } diff --git a/squeaknode/network/peer_client.py b/squeaknode/network/peer_client.py index f3092790..a54da78a 100644 --- a/squeaknode/network/peer_client.py +++ b/squeaknode/network/peer_client.py @@ -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): diff --git a/squeaknode/server/squeak_server_servicer.py b/squeaknode/server/squeak_server_servicer.py index ca2dcab9..5eb4d6bc 100644 --- a/squeaknode/server/squeak_server_servicer.py +++ b/squeaknode/server/squeak_server_servicer.py @@ -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, diff --git a/squeaknode/sync/peer_sync_controller.py b/squeaknode/sync/peer_sync_controller.py index 62599d0f..1e7b0f60 100644 --- a/squeaknode/sync/peer_sync_controller.py +++ b/squeaknode/sync/peer_sync_controller.py @@ -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 ))