public override void Configure(IFunctionsHostBuilder builder) { var keyVaultName = Environment.GetEnvironmentVariable("KeyVaultName"); var configService = new ConfigService(keyVaultName); configService.LoadConfigurationAsync().Wait(); var tableStorageAccount = CloudStorageAccount.Parse(configService.TableStorageAccountConnectionString); var tableClient = tableStorageAccount.CreateCloudTableClient(); var mediaServiceInstanceHealthTable = tableClient.GetTableReference(configService.MediaServiceInstanceHealthTableName); mediaServiceInstanceHealthTable.CreateIfNotExists(); var mediaServiceInstanceHealthTableStorageService = new TableStorageService(mediaServiceInstanceHealthTable); var jobOutputStatusTable = tableClient.GetTableReference(configService.JobOutputStatusTableName); jobOutputStatusTable.CreateIfNotExists(); var jobOutputStatusTableStorageService = new TableStorageService(jobOutputStatusTable); var mediaServiceCallHistoryTable = tableClient.GetTableReference(configService.MediaServiceCallHistoryTableName); mediaServiceCallHistoryTable.CreateIfNotExists(); var mediaServiceCallHistoryTableStorageService = new TableStorageService(mediaServiceCallHistoryTable); var provisioningRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.ProvisioningRequestQueueName); provisioningRequestQueue.CreateIfNotExists(); var jobVerificationRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.JobVerificationRequestQueueName); jobVerificationRequestQueue.CreateIfNotExists(); var jobOutputStatusStorageService = new JobOutputStatusStorageService(jobOutputStatusTableStorageService); var mediaServiceCallHistoryStorageService = new MediaServiceCallHistoryStorageService(mediaServiceCallHistoryTableStorageService); var mediaServiceInstanceHealthStorageService = new MediaServiceInstanceHealthStorageService(mediaServiceInstanceHealthTableStorageService); var mediaServiceInstanceHealthService = new MediaServiceInstanceHealthService(mediaServiceInstanceHealthStorageService, jobOutputStatusStorageService, mediaServiceCallHistoryStorageService, configService); var provisioningRequestStorageService = new ProvisioningRequestStorageService(provisioningRequestQueue); var jobVerificationRequestStorageService = new JobVerificationRequestStorageService(jobVerificationRequestQueue); var jobVerificationService = new JobVerificationService( mediaServiceInstanceHealthService, jobOutputStatusStorageService, provisioningRequestStorageService, jobVerificationRequestStorageService, new MediaServiceInstanceFactory(mediaServiceCallHistoryStorageService, configService), configService); builder.Services.AddSingleton <IJobVerificationService>(jobVerificationService); }
public async Task SubmitTestRequests() { var jobOutputStatusStorageService = new JobOutputStatusStorageService(jobOutputStatusTableStorageService); var mediaServiceInstanceHealthStorageService = new MediaServiceInstanceHealthStorageService(mediaServiceInstanceHealthTableStorageService); var mediaServiceInstanceHealthService = new MediaServiceInstanceHealthService(mediaServiceInstanceHealthStorageService, jobOutputStatusStorageService, mediaServiceCallHistoryStorageService, configService); var mediaServiceInstanceFactory = new MediaServiceInstanceFactory(mediaServiceCallHistoryStorageService, configService); foreach (var config in configService.MediaServiceInstanceConfiguration) { var client = mediaServiceInstanceFactory.GetMediaServiceInstance(config.Value.AccountName, Mock.Of <ILogger>()); client.LongRunningOperationRetryTimeout = 2; await MediaServicesHelper.EnsureTransformExists( client, config.Value.ResourceGroup, config.Value.AccountName, transformName, new BuiltInStandardEncoderPreset(EncoderNamedPreset.AdaptiveStreaming)).ConfigureAwait(false); await mediaServiceInstanceHealthService.CreateOrUpdateAsync(new MediaServiceInstanceHealthModel { MediaServiceAccountName = config.Value.AccountName, HealthState = InstanceHealthState.Healthy, LastUpdated = DateTime.UtcNow, IsEnabled = true }, Mock.Of <ILogger>()).ConfigureAwait(false); await MediaServicesHelper.EnsureContentKeyPolicyExists( client, config.Value.ResourceGroup, config.Value.AccountName, configService.ContentKeyPolicyName, configService.GetClearKeyStreamingKey(), configService.TokenIssuer, configService.TokenAudience).ConfigureAwait(false); } var target = new JobRequestStorageService(jobRequestQueue); var uniqueness = Guid.NewGuid().ToString().Substring(0, 13); for (var i = 0; i < 10; i++) { Assert.IsNotNull(await target.CreateAsync(GenerateJobRequestModel(i, uniqueness), Mock.Of <ILogger>()).ConfigureAwait(false)); } }