public GraphWebhookSubscriptionHandler(GraphServiceClientManager clientManager, IGraphSubscriptionStore subscriptionStore, ILoggerFactory loggerFactory, Uri notificationUri, WebhookTriggerBindingProvider bindingProvider) { _clientManager = clientManager; _subscriptionStore = subscriptionStore; _log = loggerFactory?.CreateLogger(MicrosoftGraphExtensionConfigProvider.CreateBindingCategory("GraphWebhookSubscription")); _notificationUri = notificationUri; _bindingProvider = bindingProvider; }
public GraphWebhookSubscriptionAsyncCollector(GraphServiceClientManager clientManager, GraphOptions options, ILoggerFactory logFactory, IGraphSubscriptionStore subscriptionStore, Uri notificationUrl, GraphWebhookSubscriptionAttribute attribute) { _clientManager = clientManager; _log = logFactory?.CreateLogger(MicrosoftGraphExtensionConfigProvider.CreateBindingCategory("GraphWebhook")); _subscriptionStore = subscriptionStore; _notificationUrl = notificationUrl; _attribute = attribute; _options = options; _values = new List <string>(); _attribute.Validate(); }
public MicrosoftGraphExtensionConfigProvider(IOptions <GraphOptions> options, ILoggerFactory loggerFactory, IGraphServiceClientProvider graphClientProvider, INameResolver appSettings, IAsyncConverter <TokenBaseAttribute, string> tokenConverter, IGraphSubscriptionStore subscriptionStore) { _options = options.Value; _options.SetAppSettings(appSettings); _graphServiceClientManager = new GraphServiceClientManager(_options, tokenConverter, graphClientProvider); _subscriptionStore = subscriptionStore; _loggerFactory = loggerFactory; }
public static async Task <OutputContainer> ExecuteFunction <T>(string methodName, Mock <IGraphServiceClient> client, IGraphSubscriptionStore subscriptionStore = null, INameResolver appSettings = null, object argument = null) { var outputContainer = new OutputContainer(); var arguments = new Dictionary <string, object>() { { "outputContainer", outputContainer }, { "triggerData", argument } }; IHost host = new HostBuilder() .ConfigureServices(services => { appSettings = appSettings ?? new DefaultNameResolver(); subscriptionStore = subscriptionStore ?? new MemorySubscriptionStore(); services.AddSingleton <ITypeLocator>(new FakeTypeLocator <T>()); services.AddSingleton <IAsyncConverter <TokenBaseAttribute, string> >(new MockTokenConverter()); services.AddSingleton <IGraphServiceClientProvider>(new MockGraphServiceClientProvider(client.Object)); services.AddSingleton <IGraphSubscriptionStore>(subscriptionStore); services.AddSingleton <INameResolver>(appSettings); }) .ConfigureWebJobs(builder => { builder.AddMicrosoftGraphForTests(); builder.UseHostId(Guid.NewGuid().ToString("n")); }) .Build(); JobHost webJobsHost = host.Services.GetService <IJobHost>() as JobHost; await webJobsHost.CallAsync(methodName, arguments); return(outputContainer); }
public GenericGraphWebhookSubscriptionConverter(GraphServiceClientManager clientManager, GraphOptions options, IGraphSubscriptionStore subscriptionStore) : base(clientManager, options, subscriptionStore) { }
public GraphWebhookSubscriptionConverter(GraphServiceClientManager clientManager, GraphOptions options, IGraphSubscriptionStore subscriptionStore) { _options = options; _clientManager = clientManager; _subscriptionStore = subscriptionStore; }
public GraphWebhookConfig(Uri notificationUrl, IGraphSubscriptionStore subscriptionStore, WebhookTriggerBindingProvider provider) { SubscriptionStore = subscriptionStore; NotificationUrl = notificationUrl; _webhookTriggerProvider = provider; }