Подделка Azure Функции Привязка вывода AsyncCollector - PullRequest
0 голосов
/ 16 апреля 2020

Azure Функции имеют атрибуты привязки веб-заданий, такие как EventHub, SendGrid et c. Эти атрибуты помогают сделать соответствующие службы IAsyncCollector доступными внутри функций. Внутри функций я могу использовать коллектор SendGrid, например, для отправки сообщений электронной почты. Пример фрагмента кода приведен ниже -

[FunctionName("SendReportEmail")]
public async Task SendEmailAsync(
  [ActivityTrigger] IDurableActivityContext context,
  ILogger logger,
  [SendGrid(ApiKey = "SendGridKey")] IAsyncCollector <SendGridMessage> messageCollector) {
  var data = context.GetInput <EmailModel> ();
  var message = _service.GetEmailMessage(data, logger);

  await messageCollector.AddAsync(message);
}

Теперь я хотел бы подделать messageCollector, чтобы при попытке отправить сообщение электронной почты он добавил список или словарь вместо электронной почты.

Я знаю, что могу создать новый атрибут, чтобы обернуть существующее поведение клиента sendgrid и сделать доступным новый сборщик. Но есть ли другой способ контролировать поведение коллектора?

NB. Я хочу сделать это с целью тестирования компонентов. Так что, если есть способ сделать это на уровне приложения, было бы здорово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...