public void SetParameterValue_GetParameterValue_ValueThatWasSetReturned() { var teamCityWriter = A.Fake<ITeamCityWriter>(); var teamCityBuildPropertiesFileRetriever = A.Fake<ITeamCityBuildPropertiesFileRetriever>(); A.CallTo(() => teamCityBuildPropertiesFileRetriever.GetTeamCityBuildPropertiesFilePath()).Returns(null); var teamCityWriterFactory = A.Fake<ITeamCityWriterFactory>(); A.CallTo(() => teamCityWriterFactory.CreateTeamCityWriter()).Returns(teamCityWriter); var buildParameters = new BuildParameters(teamCityBuildPropertiesFileRetriever, teamCityWriterFactory, A.Fake<IPropertiesFileParser>()); // Act buildParameters.SetBuildParameter("param1", "newValue"); var parameterValue = buildParameters.GetBuildParameter("param1"); // Assert parameterValue.Should().Be("newValue"); }
public void GetParameterValue_TeamcityBuildConfName_ValueReturned() { var teamCityBuildPropertiesFileRetriever = A.Fake<ITeamCityBuildPropertiesFileRetriever>(); A.CallTo(() => teamCityBuildPropertiesFileRetriever.GetTeamCityBuildPropertiesFilePath()).Returns(@"C:\properties.file.txt"); var dictionary = new Dictionary<string, string> {{"teamcity.buildConfName", "FluentTc"}}; var propertiesFileParser = A.Fake<IPropertiesFileParser>(); A.CallTo(() => propertiesFileParser.ParsePropertiesFile(@"C:\properties.file.txt")) .Returns(dictionary); var buildParameters = new BuildParameters(teamCityBuildPropertiesFileRetriever, A.Fake<ITeamCityWriterFactory>(), propertiesFileParser); // Act string buildConfName = buildParameters.TeamcityBuildConfName; // Assert buildConfName.Should().Be("FluentTc"); }
public void GetParameterValue_MissingParameter_MissingBuildParameterExceptionThrown() { var teamCityBuildPropertiesFileRetriever = A.Fake<ITeamCityBuildPropertiesFileRetriever>(); A.CallTo(() => teamCityBuildPropertiesFileRetriever.GetTeamCityBuildPropertiesFilePath()).Returns(@"C:\properties.file.txt"); var propertiesFileParser = A.Fake<IPropertiesFileParser>(); A.CallTo(() => propertiesFileParser.ParsePropertiesFile(@"C:\properties.file.txt")) .Returns(new Dictionary<string, string>()); var buildParameters = new BuildParameters(teamCityBuildPropertiesFileRetriever, A.Fake<ITeamCityWriterFactory>(), propertiesFileParser); // Act string result; Action action = () => result = buildParameters.GetBuildParameter<string>("missing.param"); // Assert action.ShouldThrow<MissingBuildParameterException>() .WithMessage("Build parameter missing.param is missing. It needs to be added from TeamCity"); }
public void SetParameterValue_TeamCityMode_ExceptionThrown() { var teamCityBuildPropertiesFileRetriever = A.Fake<ITeamCityBuildPropertiesFileRetriever>(); A.CallTo(() => teamCityBuildPropertiesFileRetriever.GetTeamCityBuildPropertiesFilePath()).Returns("propertiesFile.txt"); var propertiesFileParser = A.Fake<IPropertiesFileParser>(); A.CallTo(() => propertiesFileParser.ParsePropertiesFile("propertiesFile.txt")) .Returns(new Dictionary<string, string>()); var buildParameters = new BuildParameters(teamCityBuildPropertiesFileRetriever, A.Fake<ITeamCityWriterFactory>(), propertiesFileParser); Action action = () => buildParameters.SetBuildParameter("param1", "newValue"); // Assert action.ShouldThrow<MissingBuildParameterException>(); }
public void TryGetParameterValue_ValueDoesNotExists_False() { var teamCityBuildPropertiesFileRetriever = A.Fake<ITeamCityBuildPropertiesFileRetriever>(); A.CallTo(() => teamCityBuildPropertiesFileRetriever.GetTeamCityBuildPropertiesFilePath()).Returns(@"C:\properties.file.txt"); var propertiesFileParser = A.Fake<IPropertiesFileParser>(); A.CallTo(() => propertiesFileParser.ParsePropertiesFile(@"C:\properties.file.txt")) .Returns(new Dictionary<string, string>()); var buildParameters = new BuildParameters(teamCityBuildPropertiesFileRetriever, A.Fake<ITeamCityWriterFactory>(), propertiesFileParser); // Act string buildConfName; var valueExists = buildParameters.TryGetBuildParameter("teamcity.buildConfName", out buildConfName); // Assert valueExists.Should().BeFalse(); }
public void SetParameterValue_NotTeamCityMode_ValueSet() { // Arrange var teamCityWriter = A.Fake<ITeamCityWriter>(); var teamCityBuildPropertiesFileRetriever = A.Fake<ITeamCityBuildPropertiesFileRetriever>(); A.CallTo(() => teamCityBuildPropertiesFileRetriever.GetTeamCityBuildPropertiesFilePath()).Returns(null); var teamCityWriterFactory = A.Fake<ITeamCityWriterFactory>(); A.CallTo(() => teamCityWriterFactory.CreateTeamCityWriter()).Returns(teamCityWriter); var buildParameters = new BuildParameters(teamCityBuildPropertiesFileRetriever, teamCityWriterFactory, A.Fake<IPropertiesFileParser>()); // Act buildParameters.SetBuildParameter("param1", "newValue"); var parameterValue = buildParameters.GetBuildParameter<string>("param1"); // Assert parameterValue.Should().Be("newValue"); A.CallTo(() => teamCityWriter.WriteBuildParameter("param1", "newValue")).MustHaveHappened(); }