public ParsePropertiesFile ( string teamCityBuildPropertiesFile ) : string>.Dictionary |
||
teamCityBuildPropertiesFile | string | |
Résultat | string>.Dictionary |
public Dictionary<string, string> ParsePropertiesFile(string teamCityBuildPropertiesFile)
{
Dictionary<string, string> parameters = new Dictionary<string, string>();
var allLines = m_FileSystem.File.ReadAllLines(teamCityBuildPropertiesFile);
foreach (var line in allLines)
{
var match = ParsingRegex.Match(line);
if (!match.Success) continue;
parameters.Add(match.Groups["Name"].Value, DecodeValue(match.Groups["Value"].Value));
}
return parameters;
}
public void ParsePropertiesFile_RealFile_Parsed() { var resource = new EmbeddedResourceReader().GetResource("PropertiesFile.txt"); // Arrange var mockFileSystem = new MockFileSystem(); var propertiesFile = @"C:\BuildAgent\temp\buildTmp\teamcity.build322130465402584030.properties"; mockFileSystem.AddFile(propertiesFile, resource); var propertiesFileParser = new PropertiesFileParser(mockFileSystem); // Act var dictionary = propertiesFileParser.ParsePropertiesFile(propertiesFile); // Assert dictionary["agent.home.dir"].Should().Be(@"C:\BuildAgent"); dictionary["agent.name"].Should().Be(@"BUILDS8"); dictionary["agent.ownPort"].Should().Be(@"9090"); dictionary["agent.work.dir"].Should().Be(@"C:\BuildAgent\work"); dictionary["build.number"].Should().Be(@"4"); dictionary["FxCopRoot"].Should() .Be(@"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop"); dictionary["teamcity.agent.dotnet.agent_url"].Should().Be(@"http://*****:*****@"TeamCityBuildId=781682"); }