diff --git a/E2ETests/SenderTest.cs b/E2ETests/SenderTest.cs index 63030ed3cdb888f51f2e07bcf7e734d388a63342..ba46749c133b0dec298db0865cad060ca14035dc 100644 --- a/E2ETests/SenderTest.cs +++ b/E2ETests/SenderTest.cs @@ -102,9 +102,7 @@ public class SenderTest { // Assert - var submission = _fluentSender.GetType().GetProperties() - .FirstOrDefault(p => p.Name == "Submission") - .GetValue(_fluentSender) as Submission; + var submission = GetSubmissionInfo(_fluentSender); submission.Attachments.Should().HaveCount(attachments.Count); submission.Id.Should().NotBeNullOrWhiteSpace(); @@ -112,11 +110,19 @@ public class SenderTest { } + private Submission GetSubmissionInfo(IFluentSender sender) { + var submission = sender.GetType().GetProperties() + .FirstOrDefault(p => p.Name == "Submission") + .GetValue(_fluentSender) as Submission; + + return submission; + } + [TestCase("0b8e6fbd-62e2-4b6f-b333-5308d82e0a00")] [TestCase("d2be2027-9368-4c0c-a265-2fdbf7ecd4d9")] public void GetSubmissionStatus(string caseId) { var status = (_fluentSender as FluentSender).GetStatusForSubmission(caseId).Result; - status.ForEach(s=>Console.WriteLine(s.Subject)); + status.ForEach(s => Console.WriteLine(s.Subject)); status.Count.Should().BeGreaterThan(0); } @@ -149,5 +155,7 @@ public class SenderTest { // Assert + var submission = GetSubmissionInfo(_fluentSender); + submission.Should().NotBeNull(); } } diff --git a/FitConnect/FluentSender.cs b/FitConnect/FluentSender.cs index 55d831af06de73878cc811f04da5b25628285b54..fb459a48ee19a465ecb4e3c801dd52d7feeb103b 100644 --- a/FitConnect/FluentSender.cs +++ b/FitConnect/FluentSender.cs @@ -172,6 +172,11 @@ public class FluentSender : Sender, IFluentSender, IFluentSenderWithDestination, var metadata = CreateMetadata(Submission); Logger?.LogDebug(metadata); Logger?.LogInformation("Sending submission"); + var encryptedMeta = Encryption.Encrypt(metadata); + Submission.EncryptedMetadata = encryptedMeta; + + var result = SubmissionService + .SubmitSubmission(Submission.Id!, (SubmitSubmissionDto)Submission).Result; return this; } diff --git a/Services/Interfaces/ISubmissionService.cs b/Services/Interfaces/ISubmissionService.cs index 7bca4fd41e6189d9e03e445f28ac6ad4d09f6ec8..1df6a336e2993059040d1ccdfc559d6d78104bd7 100644 --- a/Services/Interfaces/ISubmissionService.cs +++ b/Services/Interfaces/ISubmissionService.cs @@ -33,7 +33,7 @@ public interface ISubmissionService : IAuthenticatedService { /// <param name="submitSubmission">RequestBody</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> - SubmissionReducedDto SubmitSubmission(string submissionId, + Task<SubmissionReducedDto?> SubmitSubmission(string submissionId, SubmitSubmissionDto submitSubmission); /// <summary> diff --git a/Services/SubmissionService.cs b/Services/SubmissionService.cs index 3a039616e85f41c9ea8913c97edfc20392043ffe..110653732cd828d67476144eaf374b10771cc1f2 100644 --- a/Services/SubmissionService.cs +++ b/Services/SubmissionService.cs @@ -58,9 +58,14 @@ public class SubmissionService : RestCallService, ISubmissionService { /// <param name="submitSubmission">RequestBody</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> - public SubmissionReducedDto SubmitSubmission(string submissionId, + public async Task<SubmissionReducedDto?> SubmitSubmission(string submissionId, SubmitSubmissionDto submitSubmission) { - throw new NotImplementedException(); + + var result = await RestCall<SubmissionReducedDto>("/submissions/{submissionId}", + HttpMethod.Put, + JsonSerializer.Serialize(submitSubmission), "application/json"); + + return result; }