Example #1
0
        public static async Task RunOnProviderSourceDatasetCleanup([QueueTrigger(ServiceBusConstants.TopicNames.ProviderSourceDatasetCleanup, Connection = "AzureConnectionString")] string item, ILogger logger)
        {
            Message message = Helpers.ConvertToMessage <Models.Results.SpecificationProviders>(item);

            using (IServiceScope scope = Functions.Results.Startup.RegisterComponents(new ServiceCollection()).CreateScope())
            {
                try
                {
                    OnProviderResultsSpecificationCleanup function = scope.ServiceProvider.GetService <OnProviderResultsSpecificationCleanup>();

                    await function.Run(message);
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, $"Error while executing Results {nameof(RunOnProviderSourceDatasetCleanup)}");
                }
            }

            using (IServiceScope scope = Functions.TestEngine.Startup.RegisterComponents(new ServiceCollection()).CreateScope())
            {
                try
                {
                    OnTestSpecificationProviderResultsCleanup function = scope.ServiceProvider.GetService <OnTestSpecificationProviderResultsCleanup>();

                    await function.Run(message);
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, $"Error while executing TestEngine {nameof(RunOnProviderSourceDatasetCleanup)}");
                }
            }

            logger.LogInformation($"C# Queue trigger function processed: {item}");
        }
        public async Task OnProviderResultsSpecificationCleanup_SmokeTestSucceeds()
        {
            OnProviderResultsSpecificationCleanup onProviderResultsSpecificationCleanup = new OnProviderResultsSpecificationCleanup(_logger,
                                                                                                                                    _resultsService,
                                                                                                                                    Services.BuildServiceProvider().GetRequiredService <IMessengerService>(),
                                                                                                                                    _userProfileProvider,
                                                                                                                                    IsDevelopment);

            SmokeResponse response = await RunSmokeTest(ServiceBusConstants.TopicSubscribers.CleanupCalculationResultsForSpecificationProviders,
                                                        async(Message smokeResponse) => await onProviderResultsSpecificationCleanup.Run(smokeResponse),
                                                        ServiceBusConstants.TopicNames.ProviderSourceDatasetCleanup);

            response
            .Should()
            .NotBeNull();
        }