示例#1
0
        public async Task CreatesNoopRunnerWhenNoPoliciesFound()
        {
            //arrange
            var             repositoryId    = "repo-id";
            var             extensionId     = "ext-id";
            var             publisherId     = "pub-id";
            var             organization    = "org";
            ServiceProvider serviceProvider = CreateServiceProvider(extensionId, publisherId);
            HttpClient      httpClient      = CreateHttpMockWith404Response(repositoryId, extensionId, publisherId, organization);

            var settings   = serviceProvider.GetService <IOptionsMonitor <ExtensionSettings> >();
            var azDoClient = new AzureDevOpsClient(httpClient, "token", settings);

            var subject = new MergePolicyRunnerFactory(
                serviceProvider,
                serviceProvider.GetService <ILogger <MergePolicyRunnerFactory> >()
                );

            var context = new MergePolicyRunnerFactoryContext(azDoClient, repositoryId, organization);

            //act
            var result = await subject.CreateAsync(context);

            //assert
            Assert.IsType <NoopMergePolicyRunner>(result);
        }
示例#2
0
        public async Task CreatesNewRunnerWhenConfigurationChanges()
        {
            //arrange
            var             repositoryId    = "repo-id";
            var             extensionId     = "ext-id";
            var             publisherId     = "pub-id";
            var             organization    = "org";
            ServiceProvider serviceProvider = CreateServiceProvider(extensionId, publisherId);
            HttpClient      httpClient      = CreateHttpMock(repositoryId, extensionId, publisherId, organization);

            var settings   = serviceProvider.GetService <IOptionsMonitor <ExtensionSettings> >();
            var azDoClient = new AzureDevOpsClient(httpClient, "token", settings);

            var subject = new MergePolicyRunnerFactory(
                serviceProvider,
                serviceProvider.GetService <ILogger <MergePolicyRunnerFactory> >()
                );

            var context = new MergePolicyRunnerFactoryContext(azDoClient, repositoryId, organization);

            //act
            var result1 = await subject.CreateAsync(context);

            subject.Clear(new MergePolicyRunnerFactoryContext(context.RepositoryId, context.Organization));
            var result2 = await subject.CreateAsync(context);

            //assert
            Assert.IsType <MergePolicyRunner>(result1);
            Assert.IsType <MergePolicyRunner>(result2);
            Assert.NotSame(result1, result2);
        }