private async Task RunTestAsync(string testName, ISendGridClientFactory factory, object argument = null, string configApiKey = null, bool includeDefaultApiKey = true) { Type testType = typeof(SendGridEndToEndFunctions); var locator = new ExplicitTypeLocator(testType); ILoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddProvider(_loggerProvider); var arguments = new Dictionary <string, object>(); arguments.Add("triggerData", argument); var resolver = new TestNameResolver(); IHost host = new HostBuilder() .ConfigureWebJobs(builder => { builder.AddSendGrid(o => { if (configApiKey != null) { o.ApiKey = configApiKey; } o.ToAddress = new EmailAddress("*****@*****.**"); o.FromAddress = new EmailAddress("*****@*****.**"); }); }) .ConfigureServices(services => { services.AddSingleton <ISendGridClientFactory>(factory); services.AddSingleton <INameResolver>(resolver); services.AddSingleton <ITypeLocator>(locator); }) .ConfigureLogging(logging => { logging.ClearProviders(); logging.AddProvider(_loggerProvider); }) .ConfigureAppConfiguration(c => { c.Sources.Clear(); var collection = new Dictionary <string, string> { { "MyKey1", AttributeApiKey1 }, { "MyKey2", AttributeApiKey2 } }; if (includeDefaultApiKey) { collection.Add(SendGridExtensionConfigProvider.AzureWebJobsSendGridApiKeyName, DefaultApiKey); } c.AddInMemoryCollection(collection); }) .Build(); await host.GetJobHost().CallAsync(testType.GetMethod(testName), arguments); }
public UserTenantController(UserTenantContainer container, IJwtHelpers jwtHelper, ISendGridClientFactory sendGridClientFactory, IInviteHelpers inviteHelper, UserSettingsContainer settingsContainer) { this.container = container; this.jwtHelper = jwtHelper; this.sendGridClientFactory = sendGridClientFactory; this.inviteHelper = inviteHelper; this.settingsContainer = settingsContainer; }
private async Task RunTestAsync(string testName, ISendGridClientFactory factory, object argument = null, string configApiKey = null, bool includeDefaultApiKey = true) { Type testType = typeof(SendGridEndToEndFunctions); ExplicitTypeLocator locator = new ExplicitTypeLocator(testType); JobHostConfiguration config = new JobHostConfiguration { TypeLocator = locator, }; ILoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddProvider(_loggerProvider); config.LoggerFactory = loggerFactory; var arguments = new Dictionary <string, object>(); arguments.Add("triggerData", argument); var sendGridConfig = new SendGridConfiguration { ApiKey = configApiKey, ClientFactory = factory, ToAddress = new EmailAddress("*****@*****.**"), FromAddress = new EmailAddress("*****@*****.**") }; var resolver = new TestNameResolver(); resolver.Values.Add("MyKey1", AttributeApiKey1); resolver.Values.Add("MyKey2", AttributeApiKey2); if (includeDefaultApiKey) { resolver.Values.Add(SendGridConfiguration.AzureWebJobsSendGridApiKeyName, DefaultApiKey); } config.NameResolver = resolver; config.UseSendGrid(sendGridConfig); JobHost host = new JobHost(config); await host.StartAsync(); await host.CallAsync(testType.GetMethod(testName), arguments); await host.StopAsync(); }
/// <summary> /// Creates a new instance. /// </summary> public SendGridExtensionConfigProvider(IOptions <SendGridOptions> options, ISendGridClientFactory clientFactory, INameResolver nameResolver) { _options = options; _nameResolver = nameResolver; ClientFactory = clientFactory; }
/// <summary> /// Creates a new instance. /// </summary> public SendGridExtensionConfigProvider(IOptions <SendGridOptions> options, ISendGridClientFactory clientFactory) { _options = options; ClientFactory = clientFactory; }
public UserTenantController(UserTenantContainer container, IJwtHelpers jwtHelper, ISendGridClientFactory sendGridClientFactory) { this.container = container; this.jwtHelper = jwtHelper; this.sendGridClientFactory = sendGridClientFactory; }