private static async Task <(string, JobPreparationTask, CloudTask, PoolInformation)> ProcessTesTaskAndGetBatchJobArgumentsAsync(TesTask tesTask, IConfiguration configuration, Mock <IAzureProxy> azureProxy)
        {
            var batchScheduler = new BatchScheduler(new Mock <ILogger>().Object, configuration, azureProxy.Object);

            await batchScheduler.ProcessTesTaskAsync(tesTask);

            var createBatchJobAsyncInvocation = azureProxy.Invocations.FirstOrDefault(i => i.Method.Name == nameof(IAzureProxy.CreateBatchJobAsync));

            var jobId = createBatchJobAsyncInvocation?.Arguments[0] as string;
            var jobPreparationTask = createBatchJobAsyncInvocation?.Arguments[1] as JobPreparationTask;
            var cloudTask          = createBatchJobAsyncInvocation?.Arguments[2] as CloudTask;
            var poolInformation    = createBatchJobAsyncInvocation?.Arguments[3] as PoolInformation;

            return(jobId, jobPreparationTask, cloudTask, poolInformation);
        }
Ejemplo n.º 2
0
        private static async Task <(string JobId, CloudTask CloudTask, PoolInformation PoolInformation)> ProcessTesTaskAndGetBatchJobArgumentsAsync(TesTask tesTask, IConfiguration configuration, Mock <IAzureProxy> azureProxy)
        {
            var batchScheduler = new BatchScheduler(new Mock <ILogger>().Object, configuration,
                                                    new CachingWithRetriesAzureProxy(azureProxy.Object, new CachingService(new MemoryCacheProvider(new MemoryCache(new MemoryCacheOptions())))));

            await batchScheduler.ProcessTesTaskAsync(tesTask);

            var createBatchJobAsyncInvocation = azureProxy.Invocations.FirstOrDefault(i => i.Method.Name == nameof(IAzureProxy.CreateBatchJobAsync));

            var jobId           = createBatchJobAsyncInvocation?.Arguments[0] as string;
            var cloudTask       = createBatchJobAsyncInvocation?.Arguments[1] as CloudTask;
            var poolInformation = createBatchJobAsyncInvocation?.Arguments[2] as PoolInformation;

            return(jobId, cloudTask, poolInformation);
        }