From ac8340792243cbb3e3ee0abf0e45dcf2fbaa530f Mon Sep 17 00:00:00 2001 From: Oliver Rahner Date: Tue, 8 Feb 2022 10:53:51 +0100 Subject: [PATCH 1/4] fix some issues with message delete service --- agrirouter/messaging/parameters/service.py | 20 ++++++++++---------- agrirouter/messaging/services/messaging.py | 14 ++++++++------ 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/agrirouter/messaging/parameters/service.py b/agrirouter/messaging/parameters/service.py index 758df834..bf371c7f 100644 --- a/agrirouter/messaging/parameters/service.py +++ b/agrirouter/messaging/parameters/service.py @@ -214,7 +214,7 @@ class FeedDeleteParameters(MessageParameters): def __init__(self, *, message_ids: list = None, - receivers: list = None, + senders: list = None, validity_period: ValidityPeriod = None, application_message_seq_no: int, application_message_id: str, @@ -222,7 +222,7 @@ def __init__(self, onboarding_response: BaseOnboardingResonse, ): self.message_ids = message_ids if message_ids else [] - self.receivers = receivers if receivers else [] + self.senders = senders if senders else [] self.validity_period = validity_period super(FeedDeleteParameters, self).__init__( application_message_seq_no=application_message_seq_no, @@ -243,17 +243,17 @@ def add_message_ids(self, message_id): def extend_message_ids(self, message_ids): self.message_ids.extend(message_ids) - def get_receivers(self): - return deepcopy(self.receivers) + def get_senders(self): + return deepcopy(self.senders) - def set_receivers(self, receivers: list): - self.receivers = receivers + def set_senders(self, senders: list): + self.senders = senders - def add_receivers(self, receiver): - self.receivers.append(receiver) + def add_senders(self, receiver): + self.senders.append(receiver) - def extend_receivers(self, receivers): - self.receivers.extend(receivers) + def extend_senders(self, senders): + self.senders.extend(senders) def get_validity_period(self): return self.validity_period diff --git a/agrirouter/messaging/services/messaging.py b/agrirouter/messaging/services/messaging.py index 81f60d6f..7b9e819c 100644 --- a/agrirouter/messaging/services/messaging.py +++ b/agrirouter/messaging/services/messaging.py @@ -1,7 +1,7 @@ from agrirouter.generated.messaging.request.payload.account.endpoints_pb2 import ListEndpointsQuery from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification from agrirouter.generated.messaging.request.payload.endpoint.subscription_pb2 import Subscription -from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import MessageConfirm, MessageQuery +from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import MessageConfirm, MessageDelete, MessageQuery from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope from agrirouter.messaging.encode import encode_message from agrirouter.messaging.enums import TechnicalMessageType @@ -107,16 +107,18 @@ def encode(parameters: FeedDeleteParameters) -> EncodedMessage: application_message_seq_no=parameters.get_application_message_seq_no(), team_set_context_id=parameters.get_team_set_context_id(), mode=RequestEnvelope.Mode.Value("DIRECT"), - technical_message_type=TechnicalMessageType.FEED_CONFIRM.value + technical_message_type=TechnicalMessageType.FEED_DELETE.value ) - message_confirm = MessageConfirm( - message_ids=parameters.get_message_ids() + message_delete = MessageDelete( + message_ids=parameters.get_message_ids(), + senders=parameters.get_senders(), + validity_period=parameters.get_validity_period() ) message_payload_parameters = MessagePayloadParameters( - type_url=TypeUrl.get_type_url(MessageConfirm), - value=message_confirm.SerializeToString() + type_url=TypeUrl.get_type_url(MessageDelete), + value=message_delete.SerializeToString() ) message_content = encode_message(message_header_parameters, message_payload_parameters) From 27d3c33600bf074bbfd5840f7c22c4fcb9fd4366 Mon Sep 17 00:00:00 2001 From: Oliver Rahner Date: Tue, 8 Feb 2022 14:01:55 +0100 Subject: [PATCH 2/4] fix linting --- agrirouter/auth/response.py | 1 - agrirouter/messaging/services/messaging.py | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agrirouter/auth/response.py b/agrirouter/auth/response.py index a8f6c13e..9db89c7e 100644 --- a/agrirouter/auth/response.py +++ b/agrirouter/auth/response.py @@ -57,7 +57,6 @@ def verify(self, public_key) -> None: finally: self._was_verified = True - @staticmethod def decode_token(token: Union[str, bytes]) -> AuthorizationToken: if type(token) == str: diff --git a/agrirouter/messaging/services/messaging.py b/agrirouter/messaging/services/messaging.py index 7b9e819c..5a41c573 100644 --- a/agrirouter/messaging/services/messaging.py +++ b/agrirouter/messaging/services/messaging.py @@ -1,7 +1,8 @@ from agrirouter.generated.messaging.request.payload.account.endpoints_pb2 import ListEndpointsQuery from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification from agrirouter.generated.messaging.request.payload.endpoint.subscription_pb2 import Subscription -from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import MessageConfirm, MessageDelete, MessageQuery +from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import MessageConfirm, MessageDelete, \ + MessageQuery from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope from agrirouter.messaging.encode import encode_message from agrirouter.messaging.enums import TechnicalMessageType From ef391c2031d7ab76ed79bd2da4ee2152e01587d4 Mon Sep 17 00:00:00 2001 From: Oliver Rahner Date: Tue, 8 Feb 2022 14:21:44 +0100 Subject: [PATCH 3/4] fix test for signature verification --- tests/auth_test/test_response.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auth_test/test_response.py b/tests/auth_test/test_response.py index 886ca293..4fd3e467 100644 --- a/tests/auth_test/test_response.py +++ b/tests/auth_test/test_response.py @@ -5,7 +5,7 @@ import pytest from agrirouter.auth.response import AuthResponse -from tests.constants import valid_response_signature, valid_response_token, public_key +from tests.constants import valid_response_signature, valid_response_token, public_key, AR_PUBLIC_KEY def test_decode_token(): @@ -31,7 +31,7 @@ def test_verify(authorization): with pytest.raises(PermissionError): auth_response.is_valid - auth_response.verify(public_key) + auth_response.verify(AR_PUBLIC_KEY) assert auth_response.is_valid From ed86e070b4d8316c2422cc53d616be0247e4b9e1 Mon Sep 17 00:00:00 2001 From: Oliver Rahner Date: Tue, 8 Feb 2022 14:22:53 +0100 Subject: [PATCH 4/4] fix linting --- tests/auth_test/test_response.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auth_test/test_response.py b/tests/auth_test/test_response.py index 4fd3e467..7ad631b0 100644 --- a/tests/auth_test/test_response.py +++ b/tests/auth_test/test_response.py @@ -5,7 +5,7 @@ import pytest from agrirouter.auth.response import AuthResponse -from tests.constants import valid_response_signature, valid_response_token, public_key, AR_PUBLIC_KEY +from tests.constants import valid_response_signature, valid_response_token, AR_PUBLIC_KEY def test_decode_token():