Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F2751535
test_parser.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
test_parser.py
View Options
# -*- coding: utf-8 -*-
"""
eventlogging unit tests
~~~~~~~~~~~~~~~~~~~~~~~
This module contains tests for :class:`eventlogging.LogParser`.
"""
import
unittest
import
eventlogging.parse
class
LogParserTestCase
(
unittest
.
TestCase
):
"""Test case for LogParser."""
maxDiff
=
None
def
test_parse_client_side_events
(
self
):
"""Parser test: client-side events."""
parser
=
eventlogging
.
parse
.
LogParser
(
'%q %{recvFrom}s %{seqId}d %t %h %{userAgent}i'
)
raw
=
(
'?%7B%22wiki
%22%
3A%22testwiki
%22%
2C
%22s
chema
%22%
3A
%22G
eneric'
'
%22%
2C
%22r
evision
%22%
3A13%2C
%22e
vent
%22%
3A%7B%22articleId%2'
'2%3A1%2C%22articleTitle
%22%
3A%22H%C3%A9ctor
%20E
lizondo
%22%
7'
'D%2C%22webHost
%22%
3A%22test.wikipedia.org
%22%
7D; cp3022.esa'
'ms.wikimedia.org 132073 1358637398 86.149.229.149 '
'Mozilla/5.0'
)
parsed
=
{
'uuid'
:
'799341a01ba957c79b15dc4d2d950864'
,
'recvFrom'
:
'cp3022.esams.wikimedia.org'
,
'wiki'
:
'testwiki'
,
'webHost'
:
'test.wikipedia.org'
,
'seqId'
:
132073
,
'timestamp'
:
1358637398
,
'clientIp'
:
'86.149.229.149'
,
'schema'
:
'Generic'
,
'revision'
:
13
,
'userAgent'
:
'Mozilla/5.0'
,
'event'
:
{
'articleTitle'
:
'Héctor Elizondo'
,
'articleId'
:
1
}
}
self
.
assertEqual
(
parser
.
parse
(
raw
),
parsed
)
def
test_parser_server_side_events
(
self
):
"""Parser test: server-side events."""
parser
=
eventlogging
.
parse
.
LogParser
(
'%{seqId}d EventLogging %j'
)
raw
=
(
'99 EventLogging {"revision":123,"timestamp":1358627115,"sche'
'ma":"FakeSchema","wiki":"enwiki","event":{"action":"save
\\
u0'
'020page"},"recvFrom":"fenari"}'
)
parsed
=
{
'uuid'
:
'67cc2c1afa5752ba80bbbd7c5fc41f28'
,
'recvFrom'
:
'fenari'
,
'timestamp'
:
1358627115
,
'wiki'
:
'enwiki'
,
'seqId'
:
99
,
'schema'
:
'FakeSchema'
,
'revision'
:
123
,
'event'
:
{
'action'
:
'save page'
}
}
self
.
assertEqual
(
parser
.
parse
(
raw
),
parsed
)
def
test_parse_failure
(
self
):
"""Parse failure raises ValueError exception."""
parser
=
eventlogging
.
parse
.
LogParser
(
'%q %{recvFrom}s %t %h'
)
with
self
.
assertRaises
(
ValueError
):
parser
.
parse
(
'Fails to parse.'
)
def
test_repr
(
self
):
"""Calling 'repr' on LogParser returns canonical string
representation."""
parser
=
eventlogging
.
parse
.
LogParser
(
'%q %{seqId}d %t %h'
)
self
.
assertEqual
(
repr
(
parser
),
"<LogParser('%q %{seqId}d %t %h')>"
)
File Metadata
Details
Attached
Mime Type
text/x-script.python
Expires
Fri, Jul 3, 18:46 (1 d, 13 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
7c/73/cec9b7a85e05821957646c778eab
Default Alt Text
test_parser.py (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment