public async Task StartUploadSession_GivenValidArgs_DoesNotThrowException() { var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Console.WriteLine(config.FilePath); // Arrange string sessionId = "16715015-d920-4998-87fa-9344145c901c"; StartUploadSessionCommand command = new StartUploadSessionCommand(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), new CommandIssuer(Guid.NewGuid().ToString(), Guid.NewGuid().ToString()), sessionId, new OwnerIdData(Guid.NewGuid().ToString(), Guid.NewGuid().ToString()), new List <FileDescriptionData>() { new FileDescriptionData(Guid.NewGuid().ToString(), "testFile.pdf", "application/pdf", 1048576), new FileDescriptionData(Guid.NewGuid().ToString(), "testFile2.pdf", "application/msword", 1048576) }, true); var applicationService = this.Fixture.Kernel.Get <IFileStorageCommandApplicationService>(); var uploadSessionRepository = this.Fixture.Kernel.Get <IUploadSessionRepository>(); // Act await applicationService.StartUploadSessionAsync(command); // Assert UploadSession session = await uploadSessionRepository.GetByIdAsync(new Guid(sessionId)); Assert.NotNull(session); Assert.Equal(sessionId, session.Id.ToString()); }
public async Task <IActionResult> InitializeUploadAsync([FromBody] StartUploadSessionModel model, CancellationToken cancellationToken) { var command = new StartUploadSessionCommand(model.FileName, model.SizeInBytes, model.Extension.ToString()); var entity = await _mediator.Send(command, cancellationToken); return(Ok(entity)); }
public async Task StartUploadSessionAsync(StartUploadSessionCommand command) { // TODO: Check that id's specified in the command are valid and unique (including file id's) Guid sessionId = new Guid(command.SessionId); // Start session UploadSession session = UploadSession.Start(sessionId, new OwnerId(command.OwnerId.BusinessId, command.OwnerId.UserId), ExternalContractsConverter.ConvertToInternalType(command.SessionId, command.FileDescriptions), command.UploadAsPublic); // Set application context SetApplicationContext(command); // Save changes await this.UploadSessionRepository.Add(session); await this.UnitOfWork.CommitChangesAsync(); }
public async override Task StartUploadSessionAsync(StartUploadSessionCommand command) { this.Logger.LogInformation("[Start] {0} received.", command.GetType().Name); if (command != null) { this.Logger.LogInformation("[Start] Processing {0} with id = '{1}' and correlationId = '{2}'. Starting upload session with id = '{3}'.", command.GetType().Name, command.CommandId, command.CorrelationId, command.SessionId); } await base.StartUploadSessionAsync(command); if (command != null) { this.Logger.LogInformation("[Finish] Processing {0} with id = '{1}' and correlationId = '{2}'. Starting upload session with id = {3}'.", command.GetType().Name, command.CommandId, command.CorrelationId, command.SessionId); } this.Logger.LogInformation("[Finish] {0} received.", command.GetType().Name); }
public async Task ShouldGenerateSessionWith() { // Arrange var fixture = new TestFixture <StartUploadSessionCommandHandler>(); var command = new StartUploadSessionCommand("file", 10, "txt"); fixture.Freeze <IOptions <UploadSettings> >().Value.Returns(new UploadSettings { ChunkSizeInBytes = 3 }); var expected = new StartUploadSessionResponse { Extension = "txt", FileName = "file", SizeInBytes = 10, Parts = new[] { new UploadPart { Offset = 0, SizeInBytes = 3 }, new UploadPart { Offset = 3, SizeInBytes = 3 }, new UploadPart { Offset = 6, SizeInBytes = 3 }, new UploadPart { Offset = 9, SizeInBytes = 1 } } }; // Act var result = await fixture.Sut.Handle(command, CancellationToken.None); // Assert result.Should().BeEquivalentTo(expected, opt => opt.Excluding(x => x.SelectedMemberPath.EndsWith("Id"))); }
public async virtual Task StartUploadSessionAsync(StartUploadSessionCommand command) { await this.ApplicationService.StartUploadSessionAsync(command); }
public async override Task StartUploadSessionAsync(StartUploadSessionCommand command) { await base.StartUploadSessionAsync(command); }