public async Task Handle_ConfigurationFileOverrideNotPresent_ReturnsOriginalConfiguration() { //Arrange var fakePullDogPullRequest = new PullDogPullRequest() { ConfigurationOverride = null }; var fakeConfiguration = new ConfigurationFile(new List <string>()); var fakePullDogFileCollectorFactory = Substitute.For <IPullDogFileCollectorFactory>(); var fakePullDogFileCollector = await fakePullDogFileCollectorFactory.CreateAsync(fakePullDogPullRequest); fakePullDogFileCollector .GetConfigurationFileAsync() .Returns(fakeConfiguration); var handler = new GetConfigurationForPullRequestQueryHandler( fakePullDogFileCollectorFactory); //Act var configuration = await handler.Handle( new GetConfigurationForPullRequestQuery( fakePullDogPullRequest), default); //Assert Assert.AreSame(fakeConfiguration, configuration); }
public async Task Handle_ConfigurationOverridePresentWithBuildArguments_OverridesExistingBuildArguments() { //Arrange var fakePullDogPullRequest = new PullDogPullRequest() { ConfigurationOverride = new ConfigurationFileOverride() { BuildArguments = new Dictionary <string, string>() { { "some-new-key", "some-new-value" } } } }; var fakeConfiguration = new ConfigurationFile(new List <string>()) { BuildArguments = new Dictionary <string, string>() { { "some-old-key", "some-old-value" } } }; var fakePullDogFileCollectorFactory = Substitute.For <IPullDogFileCollectorFactory>(); var fakePullDogFileCollector = await fakePullDogFileCollectorFactory.CreateAsync(fakePullDogPullRequest); fakePullDogFileCollector .GetConfigurationFileAsync() .Returns(fakeConfiguration); var handler = new GetConfigurationForPullRequestQueryHandler( fakePullDogFileCollectorFactory); //Act var configuration = await handler.Handle( new GetConfigurationForPullRequestQuery( fakePullDogPullRequest), default); //Assert var buildArgument = configuration.BuildArguments !.Single(); Assert.AreEqual("some-new-key", buildArgument.Key); Assert.AreEqual("some-new-value", buildArgument.Value); }
public async Task Handle_ConfigurationFileNotPresent_ReturnsDefaultConfiguration() { //Arrange var fakePullDogFileCollectorFactory = Substitute.For <IPullDogFileCollectorFactory>(); var handler = new GetConfigurationForPullRequestQueryHandler( fakePullDogFileCollectorFactory); //Act var configuration = await handler.Handle( new GetConfigurationForPullRequestQuery( new PullDogPullRequest()), default); //Assert Assert.IsNotNull(configuration?.DockerComposeYmlFilePaths); Assert.AreEqual("docker-compose.yml", configuration.DockerComposeYmlFilePaths[0]); }
public async Task Handle_ConfigurationOverridePresentWithExpiry_OverridesExistingExpiry() { //Arrange var fakePullDogPullRequest = new PullDogPullRequest() { ConfigurationOverride = new ConfigurationFileOverride() { Expiry = TimeSpan.FromMinutes(2) } }; var fakeConfiguration = new ConfigurationFile(new List <string>()) { Expiry = TimeSpan.FromMinutes(1) }; var fakePullDogFileCollectorFactory = Substitute.For <IPullDogFileCollectorFactory>(); var fakePullDogFileCollector = await fakePullDogFileCollectorFactory.CreateAsync(fakePullDogPullRequest); fakePullDogFileCollector .GetConfigurationFileAsync() .Returns(fakeConfiguration); var handler = new GetConfigurationForPullRequestQueryHandler( fakePullDogFileCollectorFactory); //Act var configuration = await handler.Handle( new GetConfigurationForPullRequestQuery( fakePullDogPullRequest), default); //Assert Assert.AreEqual(TimeSpan.FromMinutes(2), configuration.Expiry); }
public async Task Handle_ConfigurationOverridePresentWithConversationMode_OverridesExistingConversationMode() { //Arrange var fakePullDogPullRequest = new PullDogPullRequest() { ConfigurationOverride = new ConfigurationFileOverride() { ConversationMode = ConversationMode.MultipleComments } }; var fakeConfiguration = new ConfigurationFile(new List <string>()) { ConversationMode = ConversationMode.SingleComment }; var fakePullDogFileCollectorFactory = Substitute.For <IPullDogFileCollectorFactory>(); var fakePullDogFileCollector = await fakePullDogFileCollectorFactory.CreateAsync(fakePullDogPullRequest); fakePullDogFileCollector .GetConfigurationFileAsync() .Returns(fakeConfiguration); var handler = new GetConfigurationForPullRequestQueryHandler( fakePullDogFileCollectorFactory); //Act var configuration = await handler.Handle( new GetConfigurationForPullRequestQuery( fakePullDogPullRequest), default); //Assert Assert.AreEqual(ConversationMode.MultipleComments, configuration.ConversationMode); }