/// <summary> /// Start web host. /// </summary> /// <returns>IHost task.</returns> private async Task <IHost> StartHostAsync() { var localSettings = new Dictionary <string, string> { ["AzureWebJobsStorage"] = "UseDevelopmentStorage=true", }; var host = new HostBuilder() .ConfigureWebJobs(builder => { var serviceOperationProvider = new ServiceOperationsProvider(); var operationProvider = new ActiveMQTriggerServiceOperationProvider(); builder.AddExtension(new ActiveMQServiceProvider(serviceOperationProvider, operationProvider)); builder.Services.TryAddSingleton <ActiveMQTriggerServiceOperationProvider>(); }) .ConfigureLogging(b => { b.AddProvider(this.loggerProvider); }) .ConfigureAppConfiguration(c => { c.AddInMemoryCollection(new[] { new KeyValuePair <string, string>("AzureWebJobsStorage", "UseDevelopmentStorage=true"), new KeyValuePair <string, string>("FUNCTIONS_WORKER_RUNTIME", "dotnet"), }); }) .Build(); await host.StartAsync(); return(host); }
public void OperationTriggerCapabilityTest() { var operations = new ActiveMQTriggerServiceOperationProvider(); var apiCapability = operations.GetService().Properties.Capabilities as ApiCapability[]; Assert.Single(apiCapability); Assert.Equal(ApiCapability.Triggers, apiCapability[0]); this.outputLogger.WriteLine("Connector supports only trigger"); }
public void OperationConnectionParametersTest() { var operations = new ActiveMQTriggerServiceOperationProvider(); var connectionParameters = operations.GetService().Properties.ConnectionParameters as ConnectionParameters; var connectionStringParameters = "{\"brokerUri\": {\"type\": \"securestring\",\"parameterSource\": \"AppConfiguration\", \"uiDefinition\": { \"displayName\": \"BrokerUri\", \"tooltip\": \"eg. amqp://127.0.0.1:5672\", \"constraints\": { \"required\": \"true\" }, \"description\": \"eg. amqp://127.0.0.1:5672\" } }, \"clientId\": { \"type\": \"string\", \"parameterSource\": \"AppConfiguration\", \"uiDefinition\": { \"displayName\": \"ClientId\", \"constraints\": { \"required\": \"true\" } } }, \"userName\": { \"type\": \"securestring\", \"parameterSource\": \"AppConfiguration\", \"uiDefinition\": { \"displayName\": \"User Name\", \"constraints\": { \"required\": \"true\" } } }, \"password\": { \"type\": \"securestring\", \"parameterSource\": \"AppConfiguration\", \"uiDefinition\": { \"displayName\": \"Password\", \"constraints\": { \"required\": \"true\" } } }}"; var connectionParametersJsonSrting = connectionParameters.ToJson().Replace(" ", ""); var expectedConnectionParametersJsonSrting = connectionStringParameters.Replace(" ", ""); Assert.Equal(connectionParametersJsonSrting, expectedConnectionParametersJsonSrting); this.outputLogger.WriteLine("Connection parameters are matched"); }
/// <summary> /// Initializes a new instance of the <see cref="ActiveMQServiceProvider"/> class. /// </summary> /// <param name="serviceOperationsProvider">The service provider.</param> /// <param name="operationsProvider">The operations provider.</param> public ActiveMQServiceProvider( ServiceOperationsProvider serviceOperationsProvider, ActiveMQTriggerServiceOperationProvider operationsProvider) { serviceOperationsProvider.RegisterService(serviceName: ActiveMQTriggerServiceOperationProvider.ServiceName, serviceOperationsProviderId: ActiveMQTriggerServiceOperationProvider.ServiceId, serviceOperationsProviderInstance: operationsProvider); }