FluentTc.Engine.PropertiesFileParser.ParsePropertiesFile C# (CSharp) Method

ParsePropertiesFile() public method

public ParsePropertiesFile ( string teamCityBuildPropertiesFile ) : string>.Dictionary
teamCityBuildPropertiesFile string
return 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;
        }

Usage Example

        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");
        }
All Usage Examples Of FluentTc.Engine.PropertiesFileParser::ParsePropertiesFile