diff --git a/FitConnect/FitConnectClient.cs b/FitConnect/FitConnectClient.cs index 05580fd7e9db84694832247bfcc727148cc8c3b5..57c02848f5cf5a7a6d6095bda52a42b0a54d98e3 100644 --- a/FitConnect/FitConnectClient.cs +++ b/FitConnect/FitConnectClient.cs @@ -190,24 +190,16 @@ public abstract class FitConnectClient { /// <returns></returns> protected virtual async Task<SubmissionStatus> GetStatusForSubmissionAsync( SentSubmission submission, bool withAuthenticationTags) { - try { - var eventLog = await GetEventLogAsync(submission.CaseId, submission.DestinationId, - !withAuthenticationTags); + var eventLog = await GetEventLogAsync(submission.CaseId, submission.DestinationId, + !withAuthenticationTags); - var status = eventLog - .Where(e => e.SubmissionId == submission.SubmissionId) - .Select(e => CreateSubmissionStatusFromSet(submission, e, withAuthenticationTags)) - .OrderBy(e => (int)e.SubmissionState) - .Last(); + var status = eventLog + .Where(e => e.SubmissionId == submission.SubmissionId) + .Select(e => CreateSubmissionStatusFromSet(submission, e, withAuthenticationTags)) + .OrderBy(e => (int)e.SubmissionState) + .Last(); - return status; - } - catch (Exception e) { - Logger?.LogError(e, "Error while retrieving status for submission"); - throw new FitConnectException("Error while retrieving status for submission", - FitConnectException.ErrorTypeEnum.SubmissionStatusRetrievalError, - e); - } + return status; } private static SubmissionStatus CreateSubmissionStatusFromSet(SentSubmission submission, diff --git a/FitConnect/Sender.cs b/FitConnect/Sender.cs index 50beeaba481e6ae31863e35ce06a85a57d61f613..28a87094a9f5eb175dd4ad830769b1c6e882f435 100644 --- a/FitConnect/Sender.cs +++ b/FitConnect/Sender.cs @@ -53,8 +53,15 @@ public class Sender : FitConnectClient, ISender { return publicKey; } - public async Task<SubmissionStatus> GetStatusForSubmissionAsync(SentSubmission submission) - => await base.GetStatusForSubmissionAsync(submission, true); + public async Task<SubmissionStatus> GetStatusForSubmissionAsync(SentSubmission submission) { + try { + return await base.GetStatusForSubmissionAsync(submission, true); + } + catch (Exception e) { + Logger?.LogError("Error while getting status for submission"); + throw new FitConnectSenderException("Error while getting status for submission", e); + } + } public async Task<SentSubmission> SendAsync(SendableSubmission submission) { diff --git a/FitConnect/Subscriber.cs b/FitConnect/Subscriber.cs index 3f89f10403c0e5bb72d4d6ff8cd396c01dbb5fe2..ab12e815fdd20c66294ea199688d0806e701f2cc 100644 --- a/FitConnect/Subscriber.cs +++ b/FitConnect/Subscriber.cs @@ -283,9 +283,16 @@ public class Subscriber : FitConnectClient, IReceivedSubmission, } public async Task<SubmissionStatus> GetStatusForSubmission(Guid destinationId, Guid caseId, - Guid submissionId) - => await base.GetStatusForSubmissionAsync( - new SentSubmission(submissionId, caseId, destinationId, null), false); + Guid submissionId) { + try { + return await base.GetStatusForSubmissionAsync( + new SentSubmission(submissionId, caseId, destinationId, null), false); + } + catch (Exception e) { + Logger?.LogError("Error getting status for submission"); + throw new FitConnectSubscriberException("Error getting status for submission", e); + } + } public Submission? Submission { get; private set; } diff --git a/Tests/E2ETest/StraightForwardTest.cs b/Tests/E2ETest/StraightForwardTest.cs index 122a78e1e6e8806af30ac90b7aef406d95b638a9..1bef9de643aa383a7ab1ed7c5c6e6b3ebb7fb624 100644 --- a/Tests/E2ETest/StraightForwardTest.cs +++ b/Tests/E2ETest/StraightForwardTest.cs @@ -231,7 +231,7 @@ public class StraightForwardTest : EndToEndTestBase { var exception = Assert.Throws<AggregateException>(() => Sender.GetStatusForSubmissionAsync(manipulated).Wait()); - exception.InnerExceptions.Any(e => e is FitConnectException).Should().BeTrue(); + exception.InnerExceptions.Any(e => e is FitConnectSenderException).Should().BeTrue(); } diff --git a/Tests/E2ETest/StraightPreEncryptedForwardTest.cs b/Tests/E2ETest/StraightPreEncryptedForwardTest.cs index 39917261530abc42635de3519e06be982145fd3a..e1654a3a1ca5fb6fc11748c02c2e179197807763 100644 --- a/Tests/E2ETest/StraightPreEncryptedForwardTest.cs +++ b/Tests/E2ETest/StraightPreEncryptedForwardTest.cs @@ -168,7 +168,7 @@ public class StraightPreEncryptedForwardTest : EndToEndTestBase { var exception = Assert.Throws<AggregateException>(() => Sender.GetStatusForSubmissionAsync(manipulated).Wait()); - (exception!.InnerExceptions.FirstOrDefault(e => e is FitConnectException)! + (exception!.InnerExceptions.FirstOrDefault(e => e is FitConnectSenderException)! .InnerException is AuthenticationTagException).Should().BeTrue(); } }