note description: "Tests for {WEB_LOG_PARSER}." author: "Patrick Ruckstuhl" date: "$Date$" revision: "$Revision$" class WEB_LOG_PARSER_TESTS inherit TS_TEST_CASE redefine set_up, tear_down end create make_default feature -- Setup/Teadown set_up do end tear_down local l_state_file: PLAIN_TEXT_FILE do create l_state_file.make ("test/test_single_simple.log.state") l_state_file.delete end feature -- Tests test_parse_without_vhost local l_parser: WEB_LOG_PARSER l_item: TUPLE [vhost: STRING; ip: STRING; local_hostname: STRING; user: STRING; date: DT_FIXED_OFFSET_ZONED_DATE_TIME; request: STRING; status: NATURAL; bytes: NATURAL; referer: STRING; user_agent: STRING] do create l_parser.make ("test/test_single_simple.log", false) l_parser.start assert ("parser not after", not l_parser.after) l_parser.forth l_item := l_parser.item assert ("parser done", l_parser.after) assert_equal ("ip", "77.88.29.246", l_item.ip) assert_equal ("local_hostname", "-", l_item.local_hostname) assert_equal ("user", "-", l_item.user) assert_equal ("request", "GET /projects/test-beat-44/user/register HTTP/1.1", l_item.request) assert_equal ("referer", "-", l_item.referer) assert_equal ("user agent", "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)", l_item.user_agent) end end