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);
        }
Exemplo n.º 2
0
        public static async Task Initialize(TestContext _)
        {
            // Set the correct keyvault name
            configService = new E2ETestConfigService("<enter keyvault name>");
            await configService.LoadConfigurationAsync().ConfigureAwait(false);

            var storageAccount = CloudStorageAccount.Parse(configService.TableStorageAccountConnectionString);
            // Create a table client for interacting with the table service
            var tableClient = storageAccount.CreateCloudTableClient();

            var mediaServiceCallHistoryTable = tableClient.GetTableReference(configService.MediaServiceCallHistoryTableName);

            mediaServiceCallHistoryTable.CreateIfNotExists();
            var mediaServiceCallHistoryTableStorageService = new TableStorageService(mediaServiceCallHistoryTable);

            mediaServiceCallHistoryStorageService = new MediaServiceCallHistoryStorageService(mediaServiceCallHistoryTableStorageService);
        }
        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 mediaServiceCallHistoryTable = tableClient.GetTableReference(configService.MediaServiceCallHistoryTableName);

            mediaServiceCallHistoryTable.CreateIfNotExists();
            var mediaServiceCallHistoryTableStorageService = new TableStorageService(mediaServiceCallHistoryTable);

            var provisioningCompletedEventQueue = new QueueClient(configService.StorageAccountConnectionString, configService.ProvisioningCompletedEventQueueName);

            provisioningCompletedEventQueue.CreateIfNotExists();

            var provisioningCompletedEventStorageService = new ProvisioningCompletedEventStorageService(provisioningCompletedEventQueue);
            var mediaServiceCallHistoryStorageService    = new MediaServiceCallHistoryStorageService(mediaServiceCallHistoryTableStorageService);

            var assetDataProvisioningService                 = new AssetDataProvisioningService(new MediaServiceInstanceFactory(mediaServiceCallHistoryStorageService, configService), configService);
            var clearStreamingProvisioningService            = new ClearStreamingProvisioningService(new MediaServiceInstanceFactory(mediaServiceCallHistoryStorageService, configService), configService);
            var outputEncryptionStreamingProvisioningService = new OutputEncryptionStreamingProvisioningService(new MediaServiceInstanceFactory(mediaServiceCallHistoryStorageService, configService), configService);

            // Instantiate the list of provisioning services to run for each provisioning request
            // These services run in the same order as in this list
            // Provisioning logic can be customized by removing any of the services from the list below. Also new services can be created and added to this list.
            var provisioningOrchestrator = new ProvisioningOrchestrator(
                new List <IProvisioningService>
            {
                assetDataProvisioningService,
                clearStreamingProvisioningService,
                outputEncryptionStreamingProvisioningService
            },
                provisioningCompletedEventStorageService);

            builder.Services.AddSingleton <IProvisioningOrchestrator>(provisioningOrchestrator);
        }
Exemplo n.º 4
0
        public static async Task Initialize(TestContext _)
        {
            // Set the correct keyvault name
            configService = new E2ETestConfigService("<enter keyvault name>");
            await configService.LoadConfigurationAsync().ConfigureAwait(false);

            var storageAccount = CloudStorageAccount.Parse(configService.TableStorageAccountConnectionString);

            // Create a table client for interacting with the table service
            var tableClient = storageAccount.CreateCloudTableClient();

            // Create a table client for interacting with the table service
            var mediaServiceInstanceHealthTable = tableClient.GetTableReference(configService.MediaServiceInstanceHealthTableName);
            await mediaServiceInstanceHealthTable.CreateIfNotExistsAsync().ConfigureAwait(false);

            mediaServiceInstanceHealthTableStorageService = new TableStorageService(mediaServiceInstanceHealthTable);
            await mediaServiceInstanceHealthTableStorageService.DeleteAllAsync <MediaServiceInstanceHealthModelTableEntity>().ConfigureAwait(false);

            var jobOutputStatusTable = tableClient.GetTableReference(configService.JobOutputStatusTableName);
            await jobOutputStatusTable.CreateIfNotExistsAsync().ConfigureAwait(false);

            jobOutputStatusTableStorageService = new TableStorageService(jobOutputStatusTable);
            await jobOutputStatusTableStorageService.DeleteAllAsync <JobOutputStatusModelTableEntity>().ConfigureAwait(false);

            var mediaServiceCallHistoryTable = tableClient.GetTableReference(configService.MediaServiceCallHistoryTableName);

            mediaServiceCallHistoryTable.CreateIfNotExists();
            var mediaServiceCallHistoryTableStorageService = new TableStorageService(mediaServiceCallHistoryTable);

            mediaServiceCallHistoryStorageService = new MediaServiceCallHistoryStorageService(mediaServiceCallHistoryTableStorageService);
            await mediaServiceCallHistoryTableStorageService.DeleteAllAsync <MediaServiceCallHistoryModelTableEntity>().ConfigureAwait(false);

            jobRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.JobRequestQueueName);
            await jobRequestQueue.CreateIfNotExistsAsync().ConfigureAwait(false);

            jobVerificationRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.JobVerificationRequestQueueName);
            await jobVerificationRequestQueue.CreateIfNotExistsAsync().ConfigureAwait(false);
        }