/// <summary> /// Запускается после создания файла /// </summary> private void OnCreated(object source, FileSystemEventArgs e) { Logger.Info("Обнаружен новый документ: " + e.FullPath); FileSystemWatcher _watcher = null; try { Logger.Info("Процесс отправки и удаления: " + e.FullPath); _watcher = (FileSystemWatcher)source; var _task = SmtpSender.SendEmailAsync(e.FullPath); Task.WaitAll(_task); Logger.Info("Удалении файла: " + e.FullPath); File.Delete(e.FullPath); Logger.Info("Файл удален: " + e.FullPath); } catch (FileNotFoundException ex) { Logger.Error("Ошибка при удалении файла." + ex.Message); Logger.Trace(ex.StackTrace); } finally { if (_watcher != null) { _watcher.Created -= new FileSystemEventHandler(OnCreated); _watcher.Created += new FileSystemEventHandler(OnCreated); } } }
public void SmtpSendMethodParamException3() { Mock <ILogger> mockNlog = new Mock <ILogger>(); ISmtpSender mailClient = new SmtpSender("*****@*****.**", "str", "str", "*****@*****.**", "str", "str", mockNlog.Object); var ex = Assert.ThrowsAsync <System.ArgumentNullException>(async() => await mailClient.SendEmailAsync(null)); Assert.That(ex.Message, Is.EqualTo("Значение не может быть неопределенным.\r\nИмя параметра: fileName")); }
public void SmtpSendMethodParamException2() { Mock <ILogger> mockNlog = new Mock <ILogger>(); ISmtpSender mailClient = new SmtpSender("*****@*****.**", "str", "str", "*****@*****.**", "str", "str", mockNlog.Object); var ex = Assert.ThrowsAsync <System.ArgumentException>(async() => await mailClient.SendEmailAsync("")); Assert.That(ex.Message, Is.EqualTo("Параметр 'fileName' не может быть пустой строкой.\r\nИмя параметра: fileName")); }
public void SmtpConstructorParamException() { Mock <ILogger> mockNlog = new Mock <ILogger>(); ISmtpSender mailClient = new SmtpSender("", "", "", "", "", "", mockNlog.Object); var ex = Assert.ThrowsAsync <System.ArgumentException>(async() => await mailClient.SendEmailAsync("C:\\MailFolder\\d")); Assert.That(ex.Message, Is.EqualTo("Параметр 'address' не может быть пустой строкой.\r\nИмя параметра: address")); }