示例#1
0
 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;
 }
示例#2
0
        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;
 }