From d0902218d419f9cfdf57133acacc3b50dea01276 Mon Sep 17 00:00:00 2001 From: Jedrzej Stuczynski Date: Wed, 18 Dec 2019 10:45:17 +0000 Subject: [PATCH] Fixed ProviderRequest marshaling and unmarshaling --- sfw-provider-requests/src/requests.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sfw-provider-requests/src/requests.rs b/sfw-provider-requests/src/requests.rs index b1385e3499..e66e37c8db 100644 --- a/sfw-provider-requests/src/requests.rs +++ b/sfw-provider-requests/src/requests.rs @@ -81,6 +81,7 @@ impl ProviderRequest for PullRequest { .to_vec() .into_iter() .chain(self.destination_address.iter().cloned()) + .chain(self.auth_token.iter().cloned()) .collect() } @@ -96,7 +97,7 @@ impl ProviderRequest for PullRequest { } let mut destination_address = [0u8; 32]; - destination_address.copy_from_slice(&bytes[2..]); + destination_address.copy_from_slice(&bytes[2..34]); let mut auth_token = [0u8; 32]; auth_token.copy_from_slice(&bytes[34..]); @@ -164,12 +165,13 @@ mod creating_pull_request { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, ]; - let auth_token = AuthToken { value: [1u8; 32] }; + let auth_token = [1u8; 32]; let pull_request = PullRequest::new(address, auth_token); let bytes = pull_request.to_bytes(); let recovered = PullRequest::from_bytes(&bytes).unwrap(); assert_eq!(address, recovered.destination_address); + assert_eq!(auth_token, recovered.auth_token); } #[test] @@ -178,13 +180,16 @@ mod creating_pull_request { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, ]; - let auth_token = AuthToken { value: [1u8; 32] }; + let auth_token = [1u8; 32]; let pull_request = PullRequest::new(address, auth_token); let bytes = pull_request.to_bytes(); let recovered = ProviderRequests::from_bytes(&bytes).unwrap(); match recovered { - ProviderRequests::PullMessages(req) => assert_eq!(address, req.destination_address), + ProviderRequests::PullMessages(req) => { + assert_eq!(address, req.destination_address); + assert_eq!(auth_token, req.auth_token); + } _ => panic!("expected to recover pull request!"), } }