public void ThenGenerateFileNameWithCombinedPattern() { var attachment = new Attachment("earth.jpg"); var userMessage = new MessageInfo("messageId"); var payloadFileName = PayloadFileNameFactory.CreateFileName("{MessageId}_{AttachmentId}", attachment, userMessage); Assert.Equal($"{userMessage.MessageId}_{attachment.Id}", payloadFileName); }
public void ThenGenerateFileNameWithMessageIdPattern() { string messageId = "someMessageId"; var m = new MessageInfo(messageId); var payloadFileName = PayloadFileNameFactory.CreateFileName("{messageId}", null, m); Assert.Equal(messageId, payloadFileName); }
public void DefaultPatternIsAttachmentIdPattern() { string payloadId = "earth.jpg"; var attachment = new Attachment(payloadId); var userMessage = new MessageInfo("messageId"); var payloadFileName = PayloadFileNameFactory.CreateFileName(null, attachment, userMessage); Assert.Equal(payloadId, payloadFileName); }
public void ThenGenerateFileNameWithAttachmentIdPattern() { string payloadId = "earth.jpg"; var attachment = new Attachment(payloadId); var payloadFileName = PayloadFileNameFactory.CreateFileName("{ATTACHMENTID}", attachment, null); Assert.Equal(payloadId, payloadFileName); }
public void ThenAppendAttachmentIdIfPatternContainsNoMacro() { var attachment = new Attachment("earth.jpg"); var userMessage = new MessageInfo("messageId"); var pattern = "abc_"; var payloadFileName = PayloadFileNameFactory.CreateFileName(pattern, attachment, userMessage); Assert.Equal($"abc_{attachment.Id}", payloadFileName); }
private string AssembleFileDownloadUrlFor(Attachment attachment, MessageInfo referringUserMessage) { try { string extension = MimeTypeRepository.Instance.GetExtensionFromMimeType(attachment.ContentType); string fileName = PayloadFileNameFactory.CreateFileName(NamePattern, attachment, referringUserMessage); string validFileName = FilenameUtils.EnsureValidFilename($"{fileName}{extension}"); return(Path.Combine(Location, validFileName)); } catch (Exception ex) { Logger.Error($"An fatal error occured while determining the file path: {ex}"); return(null); } }