Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: sitescripts/stats/test/logprocessor.py

Issue 29756624: Noissue - Adapt best practices for trailing commas (sitescripts) (Closed)
Patch Set: Re-run script on Python 2, added flake8-commas extension Created April 19, 2018, 2:35 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sitescripts/stats/test/common.py ('k') | sitescripts/submit_email/web/submit_email.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # This file is part of the Adblock Plus web scripts, 1 # This file is part of the Adblock Plus web scripts,
2 # Copyright (C) 2006-present eyeo GmbH 2 # Copyright (C) 2006-present eyeo GmbH
3 # 3 #
4 # Adblock Plus is free software: you can redistribute it and/or modify 4 # Adblock Plus is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License version 3 as 5 # it under the terms of the GNU General Public License version 3 as
6 # published by the Free Software Foundation. 6 # published by the Free Software Foundation.
7 # 7 #
8 # Adblock Plus is distributed in the hope that it will be useful, 8 # Adblock Plus is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 ( 246 (
247 datetime(2013, 07, 31, 12, 03, 00), 247 datetime(2013, 07, 31, 12, 03, 00),
248 'easylist.txt', 248 'easylist.txt',
249 '_=1375142394357', 249 '_=1375142394357',
250 'AdBlock/2.5.4', 250 'AdBlock/2.5.4',
251 'chromeadblock/2.5.4', 251 'chromeadblock/2.5.4',
252 'unknown/unknown', 252 'unknown/unknown',
253 'unknown/unknown', 253 'unknown/unknown',
254 'unknown', 254 'unknown',
255 'unknown', 255 'unknown',
256 '' 256 '',
257 ), 257 ),
258 ] 258 ]
259 for time, file, query, clientid, expected_addon, expected_application, e xpected_platform, expected_interval, expected_previous, expected_flags in tests: 259 for time, file, query, clientid, expected_addon, expected_application, e xpected_platform, expected_interval, expected_previous, expected_flags in tests:
260 info = {'time': time, 'file': file, 'query': query, 'clientid': clie ntid} 260 info = {'time': time, 'file': file, 'query': query, 'clientid': clie ntid}
261 logprocessor.parse_downloader_query(info) 261 logprocessor.parse_downloader_query(info)
262 self.assertEqual('%s/%s' % (info['addonName'], info['addonVersion']) , expected_addon, "Add-on for query '%s'" % query) 262 self.assertEqual('%s/%s' % (info['addonName'], info['addonVersion']) , expected_addon, "Add-on for query '%s'" % query)
263 self.assertEqual('%s/%s' % (info['application'], info['applicationVe rsion']), expected_application, "Application for query '%s'" % query) 263 self.assertEqual('%s/%s' % (info['application'], info['applicationVe rsion']), expected_application, "Application for query '%s'" % query)
264 self.assertEqual('%s/%s' % (info['platform'], info['platformVersion' ]), expected_platform, "Platform for query '%s'" % query) 264 self.assertEqual('%s/%s' % (info['platform'], info['platformVersion' ]), expected_platform, "Platform for query '%s'" % query)
265 self.assertEqual(info['downloadInterval'], expected_interval, "Downl oad interval for query '%s'" % query) 265 self.assertEqual(info['downloadInterval'], expected_interval, "Downl oad interval for query '%s'" % query)
266 self.assertEqual(info['previousDownload'], expected_previous, "Previ ous download for query '%s'" % query) 266 self.assertEqual(info['previousDownload'], expected_previous, "Previ ous download for query '%s'" % query)
(...skipping 10 matching lines...) Expand all
277 ('adblockpluschrome-experimental/updates.xml', 'adblockpluschrome-ex perimental'), 277 ('adblockpluschrome-experimental/updates.xml', 'adblockpluschrome-ex perimental'),
278 ('update.json', None), 278 ('update.json', None),
279 ] 279 ]
280 for file, expected_name in tests: 280 for file, expected_name in tests:
281 self.assertEqual(logprocessor.parse_addon_name(file), expected_name, "Getting add-on name for file '%s'" % file) 281 self.assertEqual(logprocessor.parse_addon_name(file), expected_name, "Getting add-on name for file '%s'" % file)
282 282
283 def test_geckoqueryparsing(self): 283 def test_geckoqueryparsing(self):
284 tests = [ 284 tests = [
285 ( 285 (
286 'reqVersion=2&id={d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}&version= 2.3.1.3707&maxAppVersion=25.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e- 13a3a9e97384}&appVersion=22.0&appOS=Darwin&appABI=x86_64-gcc3&locale=en-US&curre ntAppVersion=22.0&updateType=112', 286 'reqVersion=2&id={d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}&version= 2.3.1.3707&maxAppVersion=25.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e- 13a3a9e97384}&appVersion=22.0&appOS=Darwin&appABI=x86_64-gcc3&locale=en-US&curre ntAppVersion=22.0&updateType=112',
287 '2.3.1.3707', 'firefox', '22.0' 287 '2.3.1.3707', 'firefox', '22.0',
288 ), 288 ),
289 ( 289 (
290 'reqVersion=2&id=customization@adblockplus.org&version=1.0.4a.74 &maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a9e973 84}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAppVers ion=25.0a1&updateType=97', 290 'reqVersion=2&id=customization@adblockplus.org&version=1.0.4a.74 &maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a9e973 84}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAppVers ion=25.0a1&updateType=97',
291 '1.0.4a.74', 'firefox', '25.0' 291 '1.0.4a.74', 'firefox', '25.0',
292 ), 292 ),
293 ( 293 (
294 'reqVersion=2&id={d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}&version= 1.3a.20100925&maxAppVersion=2.1b1&status=userEnabled,incompatible&appID={92650c4 d-4b8e-4d2a-b7eb-24ecf4f6b63a}&appVersion=2.19&appOS=WINNT&appABI=x86-msvc&local e=en-US&currentAppVersion=2.19&updateType=112', 294 'reqVersion=2&id={d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}&version= 1.3a.20100925&maxAppVersion=2.1b1&status=userEnabled,incompatible&appID={92650c4 d-4b8e-4d2a-b7eb-24ecf4f6b63a}&appVersion=2.19&appOS=WINNT&appABI=x86-msvc&local e=en-US&currentAppVersion=2.19&updateType=112',
295 '1.3a.20100925', 'seamonkey', '2.19' 295 '1.3a.20100925', 'seamonkey', '2.19',
296 ), 296 ),
297 ] 297 ]
298 for query, expected_version, expected_application, expected_applicationv ersion in tests: 298 for query, expected_version, expected_application, expected_applicationv ersion in tests:
299 self.assertEqual(logprocessor.parse_gecko_query(query), (expected_ve rsion, expected_application, expected_applicationversion), "Parsing Gecko query '%s'" % query) 299 self.assertEqual(logprocessor.parse_gecko_query(query), (expected_ve rsion, expected_application, expected_applicationversion), "Parsing Gecko query '%s'" % query)
300 300
301 def test_chromequeryparsing(self): 301 def test_chromequeryparsing(self):
302 tests = [ 302 tests = [
303 ( 303 (
304 'os=win&arch=x86&nacl_arch=x86-64&prod=chromecrx&prodchannel=sta ble&prodversion=28.0.1500.72&x=id%3Dldcecbkkoecffmfljeihcmifjjdoepkn%26v%3D1.5.3 .977%26uc', 304 'os=win&arch=x86&nacl_arch=x86-64&prod=chromecrx&prodchannel=sta ble&prodversion=28.0.1500.72&x=id%3Dldcecbkkoecffmfljeihcmifjjdoepkn%26v%3D1.5.3 .977%26uc',
305 '1.5.3.977', 'chrome', '28.0' 305 '1.5.3.977', 'chrome', '28.0',
306 ), 306 ),
307 ( 307 (
308 'x=id%3Dldcecbkkoecffmfljeihcmifjjdoepkn%26v%3D1.5.3.977%26uc', 308 'x=id%3Dldcecbkkoecffmfljeihcmifjjdoepkn%26v%3D1.5.3.977%26uc',
309 '1.5.3.977', 'unknown', 'unknown' 309 '1.5.3.977', 'unknown', 'unknown',
310 ), 310 ),
311 ( 311 (
312 'api=15&build=256&locale=ru_ru&device=LGE%20LG-P990', 312 'api=15&build=256&locale=ru_ru&device=LGE%20LG-P990',
313 'unknown', 'unknown', 'unknown' 313 'unknown', 'unknown', 'unknown',
314 ), 314 ),
315 ] 315 ]
316 for query, expected_version, expected_application, expected_applicationv ersion in tests: 316 for query, expected_version, expected_application, expected_applicationv ersion in tests:
317 self.assertEqual(logprocessor.parse_chrome_query(query), (expected_v ersion, expected_application, expected_applicationversion), "Parsing Chrome quer y '%s'" % query) 317 self.assertEqual(logprocessor.parse_chrome_query(query), (expected_v ersion, expected_application, expected_applicationversion), "Parsing Chrome quer y '%s'" % query)
318 318
319 def test_updateflagparsing(self): 319 def test_updateflagparsing(self):
320 tests = [ 320 tests = [
321 ('update', 'update'), 321 ('update', 'update'),
322 ('', 'install'), 322 ('', 'install'),
323 ('foo', 'install'), 323 ('foo', 'install'),
(...skipping 26 matching lines...) Expand all
350 'ua': 'Chrome', 350 'ua': 'Chrome',
351 'uaversion': '28.0', 351 'uaversion': '28.0',
352 'fullua': 'Chrome 28.0', 352 'fullua': 'Chrome 28.0',
353 'clientid': '-', 353 'clientid': '-',
354 'addonName': 'adblockpluschrome', 354 'addonName': 'adblockpluschrome',
355 'addonVersion': '1.5.3.977', 355 'addonVersion': '1.5.3.977',
356 'fullAddon': 'adblockpluschrome 1.5.3.977', 356 'fullAddon': 'adblockpluschrome 1.5.3.977',
357 'application': 'chrome', 357 'application': 'chrome',
358 'applicationVersion': '28.0', 358 'applicationVersion': '28.0',
359 'fullApplication': 'chrome 28.0', 359 'fullApplication': 'chrome 28.0',
360 } 360 },
361 ), 361 ),
362 ( 362 (
363 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 404 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"', 363 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 404 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"',
364 None 364 None,
365 ), 365 ),
366 ( 366 (
367 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 301 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"', 367 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 301 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"',
368 { 368 {
369 'ip': '1.2.3.4', 369 'ip': '1.2.3.4',
370 'country': 'xy', 370 'country': 'xy',
371 'time': datetime(2013, 7, 31, 17, 33, 8), 371 'time': datetime(2013, 7, 31, 17, 33, 8),
372 'day': 31, 372 'day': 31,
373 'weekday': 2, 373 'weekday': 2,
374 'hour': 17, 374 'hour': 17,
375 'month': '201307', 375 'month': '201307',
376 'file': 'devbuilds/abpcustomization/update.rdf', 376 'file': 'devbuilds/abpcustomization/update.rdf',
377 'query': 'reqVersion=2&id=customization@adblockplus.org&vers ion=1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b 0e-13a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&c urrentAppVersion=25.0a1&updateType=97', 377 'query': 'reqVersion=2&id=customization@adblockplus.org&vers ion=1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b 0e-13a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&c urrentAppVersion=25.0a1&updateType=97',
378 'size': 867, 378 'size': 867,
379 'referrer': '-', 379 'referrer': '-',
380 'status': 301, 380 'status': 301,
381 'ua': 'Firefox', 381 'ua': 'Firefox',
382 'uaversion': '25.0', 382 'uaversion': '25.0',
383 'fullua': 'Firefox 25.0', 383 'fullua': 'Firefox 25.0',
384 'clientid': '-', 384 'clientid': '-',
385 'addonName': 'abpcustomization', 385 'addonName': 'abpcustomization',
386 'addonVersion': '1.0.4a.74', 386 'addonVersion': '1.0.4a.74',
387 'fullAddon': 'abpcustomization 1.0.4a.74', 387 'fullAddon': 'abpcustomization 1.0.4a.74',
388 'application': 'firefox', 388 'application': 'firefox',
389 'applicationVersion': '25.0', 389 'applicationVersion': '25.0',
390 'fullApplication': 'firefox 25.0', 390 'fullApplication': 'firefox 25.0',
391 } 391 },
392 ), 392 ),
393 ( 393 (
394 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 302 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"', 394 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 302 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"',
395 { 395 {
396 'ip': '1.2.3.4', 396 'ip': '1.2.3.4',
397 'country': 'xy', 397 'country': 'xy',
398 'time': datetime(2013, 7, 31, 17, 33, 8), 398 'time': datetime(2013, 7, 31, 17, 33, 8),
399 'day': 31, 399 'day': 31,
400 'weekday': 2, 400 'weekday': 2,
401 'hour': 17, 401 'hour': 17,
402 'month': '201307', 402 'month': '201307',
403 'file': 'devbuilds/abpcustomization/update.rdf', 403 'file': 'devbuilds/abpcustomization/update.rdf',
404 'query': 'reqVersion=2&id=customization@adblockplus.org&vers ion=1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b 0e-13a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&c urrentAppVersion=25.0a1&updateType=97', 404 'query': 'reqVersion=2&id=customization@adblockplus.org&vers ion=1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b 0e-13a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&c urrentAppVersion=25.0a1&updateType=97',
405 'size': 867, 405 'size': 867,
406 'referrer': '-', 406 'referrer': '-',
407 'status': 302, 407 'status': 302,
408 'ua': 'Firefox', 408 'ua': 'Firefox',
409 'uaversion': '25.0', 409 'uaversion': '25.0',
410 'fullua': 'Firefox 25.0', 410 'fullua': 'Firefox 25.0',
411 'clientid': '-', 411 'clientid': '-',
412 'addonName': 'abpcustomization', 412 'addonName': 'abpcustomization',
413 'addonVersion': '1.0.4a.74', 413 'addonVersion': '1.0.4a.74',
414 'fullAddon': 'abpcustomization 1.0.4a.74', 414 'fullAddon': 'abpcustomization 1.0.4a.74',
415 'application': 'firefox', 415 'application': 'firefox',
416 'applicationVersion': '25.0', 416 'applicationVersion': '25.0',
417 'fullApplication': 'firefox 25.0', 417 'fullApplication': 'firefox 25.0',
418 } 418 },
419 ), 419 ),
420 ( 420 (
421 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.unknown?reqVersion=2&id=customization@adblockplus.org&version= 1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-1 3a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&curre ntAppVersion=25.0a1&updateType=97 HTTP/1.1" 200 867 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "down loads.adblockplus.org" "-"', 421 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.unknown?reqVersion=2&id=customization@adblockplus.org&version= 1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-1 3a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&curre ntAppVersion=25.0a1&updateType=97 HTTP/1.1" 200 867 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "down loads.adblockplus.org" "-"',
422 None 422 None,
423 ), 423 ),
424 ( 424 (
425 '1.2.3.4 corrupted', 425 '1.2.3.4 corrupted',
426 None 426 None,
427 ), 427 ),
428 ( 428 (
429 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 200 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"', 429 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/abpcus tomization/update.rdf?reqVersion=2&id=customization@adblockplus.org&version=1.0. 4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b0e-13a3a 9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&currentAp pVersion=25.0a1&updateType=97 HTTP/1.1" 200 867 "-" "Mozilla/5.0 (Windows NT 6.1 ; Win64; x64; rv:25.0) Gecko/20130730 Firefox/25.0" "-" https" "en-US" "download s.adblockplus.org" "-"',
430 { 430 {
431 'ip': '1.2.3.4', 431 'ip': '1.2.3.4',
432 'country': 'xy', 432 'country': 'xy',
433 'time': datetime(2013, 7, 31, 17, 33, 8), 433 'time': datetime(2013, 7, 31, 17, 33, 8),
434 'day': 31, 434 'day': 31,
435 'weekday': 2, 435 'weekday': 2,
436 'hour': 17, 436 'hour': 17,
437 'month': '201307', 437 'month': '201307',
438 'file': 'devbuilds/abpcustomization/update.rdf', 438 'file': 'devbuilds/abpcustomization/update.rdf',
439 'query': 'reqVersion=2&id=customization@adblockplus.org&vers ion=1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b 0e-13a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&c urrentAppVersion=25.0a1&updateType=97', 439 'query': 'reqVersion=2&id=customization@adblockplus.org&vers ion=1.0.4a.74&maxAppVersion=26.0&status=userEnabled&appID={ec8030f7-c20a-464f-9b 0e-13a3a9e97384}&appVersion=25.0a1&appOS=WINNT&appABI=x86_64-msvc&locale=en-US&c urrentAppVersion=25.0a1&updateType=97',
440 'size': 867, 440 'size': 867,
441 'referrer': '-', 441 'referrer': '-',
442 'status': 200, 442 'status': 200,
443 'ua': 'Firefox', 443 'ua': 'Firefox',
444 'uaversion': '25.0', 444 'uaversion': '25.0',
445 'fullua': 'Firefox 25.0', 445 'fullua': 'Firefox 25.0',
446 'clientid': '-', 446 'clientid': '-',
447 'addonName': 'abpcustomization', 447 'addonName': 'abpcustomization',
448 'addonVersion': '1.0.4a.74', 448 'addonVersion': '1.0.4a.74',
449 'fullAddon': 'abpcustomization 1.0.4a.74', 449 'fullAddon': 'abpcustomization 1.0.4a.74',
450 'application': 'firefox', 450 'application': 'firefox',
451 'applicationVersion': '25.0', 451 'applicationVersion': '25.0',
452 'fullApplication': 'firefox 25.0', 452 'fullApplication': 'firefox 25.0',
453 } 453 },
454 ), 454 ),
455 ( 455 (
456 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/adbloc kplusie/update.json?addonName=adblockplusie&addonVersion=2.0&application=msie64& applicationVersion=10.0&platform=libadblockplus&platformVersion=1.0&lastVersion= 0 HTTP/1.1" 200 867 "-" "Adblock Plus" "-" https" "en-US" "downloads.adblockplus .org" "-"', 456 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/adbloc kplusie/update.json?addonName=adblockplusie&addonVersion=2.0&application=msie64& applicationVersion=10.0&platform=libadblockplus&platformVersion=1.0&lastVersion= 0 HTTP/1.1" 200 867 "-" "Adblock Plus" "-" https" "en-US" "downloads.adblockplus .org" "-"',
457 { 457 {
458 'ip': '1.2.3.4', 458 'ip': '1.2.3.4',
459 'country': 'xy', 459 'country': 'xy',
460 'time': datetime(2013, 7, 31, 17, 33, 8), 460 'time': datetime(2013, 7, 31, 17, 33, 8),
461 'day': 31, 461 'day': 31,
462 'weekday': 2, 462 'weekday': 2,
463 'hour': 17, 463 'hour': 17,
(...skipping 12 matching lines...) Expand all
476 'fullAddon': 'adblockplusie 2.0', 476 'fullAddon': 'adblockplusie 2.0',
477 'application': 'msie64', 477 'application': 'msie64',
478 'applicationVersion': '10.0', 478 'applicationVersion': '10.0',
479 'fullApplication': 'msie64 10.0', 479 'fullApplication': 'msie64 10.0',
480 'platform': 'libadblockplus', 480 'platform': 'libadblockplus',
481 'platformVersion': '1.0', 481 'platformVersion': '1.0',
482 'fullPlatform': 'libadblockplus 1.0', 482 'fullPlatform': 'libadblockplus 1.0',
483 'downloadInterval': 'unknown', 483 'downloadInterval': 'unknown',
484 'previousDownload': 'unknown', 484 'previousDownload': 'unknown',
485 'firstDownload': True, 485 'firstDownload': True,
486 } 486 },
487 ), 487 ),
488 ( 488 (
489 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /adblockplusandro id-1.1.2.apk HTTP/1.1" 200 49152 "https://adblockplus.org/en/android-install" "M ozilla/5.0 (Linux; U; Android 4.1.2; es-es; GT-I9100 Build/JZO54K) AppleWebKit/5 34.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30" "-" https "en-US" "d ownloads.adblockplus.org" "-"', 489 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /adblockplusandro id-1.1.2.apk HTTP/1.1" 200 49152 "https://adblockplus.org/en/android-install" "M ozilla/5.0 (Linux; U; Android 4.1.2; es-es; GT-I9100 Build/JZO54K) AppleWebKit/5 34.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30" "-" https "en-US" "d ownloads.adblockplus.org" "-"',
490 { 490 {
491 'ip': '1.2.3.4', 491 'ip': '1.2.3.4',
492 'country': 'xy', 492 'country': 'xy',
493 'time': datetime(2013, 7, 31, 17, 33, 8), 493 'time': datetime(2013, 7, 31, 17, 33, 8),
494 'day': 31, 494 'day': 31,
495 'weekday': 2, 495 'weekday': 2,
496 'hour': 17, 496 'hour': 17,
497 'month': '201307', 497 'month': '201307',
498 'file': 'adblockplusandroid-1.1.2.apk', 498 'file': 'adblockplusandroid-1.1.2.apk',
499 'query': '', 499 'query': '',
500 'size': 49152, 500 'size': 49152,
501 'referrer': 'https://adblockplus.org/en/android-install', 501 'referrer': 'https://adblockplus.org/en/android-install',
502 'status': 200, 502 'status': 200,
503 'ua': 'Mobile Safari', 503 'ua': 'Mobile Safari',
504 'uaversion': '4.0', 504 'uaversion': '4.0',
505 'fullua': 'Mobile Safari 4.0', 505 'fullua': 'Mobile Safari 4.0',
506 'clientid': '-', 506 'clientid': '-',
507 'installType': 'install', 507 'installType': 'install',
508 } 508 },
509 ), 509 ),
510 ( 510 (
511 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/adbloc kplus/adblockplus-2.3.2.3712.xpi?update HTTP/1.1" 200 827261 "-" "Mozilla/5.0 (M acintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/20100101 Firefox/22.0" "-" https', 511 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /devbuilds/adbloc kplus/adblockplus-2.3.2.3712.xpi?update HTTP/1.1" 200 827261 "-" "Mozilla/5.0 (M acintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/20100101 Firefox/22.0" "-" https',
512 { 512 {
513 'ip': '1.2.3.4', 513 'ip': '1.2.3.4',
514 'country': 'xy', 514 'country': 'xy',
515 'time': datetime(2013, 7, 31, 17, 33, 8), 515 'time': datetime(2013, 7, 31, 17, 33, 8),
516 'day': 31, 516 'day': 31,
517 'weekday': 2, 517 'weekday': 2,
518 'hour': 17, 518 'hour': 17,
519 'month': '201307', 519 'month': '201307',
520 'file': 'devbuilds/adblockplus/adblockplus-2.3.2.3712.xpi', 520 'file': 'devbuilds/adblockplus/adblockplus-2.3.2.3712.xpi',
521 'query': 'update', 521 'query': 'update',
522 'size': 827261, 522 'size': 827261,
523 'referrer': '-', 523 'referrer': '-',
524 'status': 200, 524 'status': 200,
525 'ua': 'Firefox', 525 'ua': 'Firefox',
526 'uaversion': '22.0', 526 'uaversion': '22.0',
527 'fullua': 'Firefox 22.0', 527 'fullua': 'Firefox 22.0',
528 'clientid': None, 528 'clientid': None,
529 'installType': 'update', 529 'installType': 'update',
530 } 530 },
531 ), 531 ),
532 ( 532 (
533 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /exceptionrules.t xt?addonName=adblockplus&addonVersion=2.3.2&application=firefox&applicationVersi on=22.0&platform=gecko&platformVersion=22.0&lastVersion=201307311503 HTTP/1.1" 2 00 14303 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/201001 01 Firefox/22.0" "-" https "en-US,en;q=0.5" "easylist-downloads.adblockplus.org" "-"', 533 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /exceptionrules.t xt?addonName=adblockplus&addonVersion=2.3.2&application=firefox&applicationVersi on=22.0&platform=gecko&platformVersion=22.0&lastVersion=201307311503 HTTP/1.1" 2 00 14303 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/201001 01 Firefox/22.0" "-" https "en-US,en;q=0.5" "easylist-downloads.adblockplus.org" "-"',
534 { 534 {
535 'ip': '1.2.3.4', 535 'ip': '1.2.3.4',
536 'country': 'xy', 536 'country': 'xy',
537 'time': datetime(2013, 7, 31, 17, 33, 8), 537 'time': datetime(2013, 7, 31, 17, 33, 8),
538 'day': 31, 538 'day': 31,
539 'weekday': 2, 539 'weekday': 2,
540 'hour': 17, 540 'hour': 17,
(...skipping 11 matching lines...) Expand all
552 'addonVersion': '2.3.2', 552 'addonVersion': '2.3.2',
553 'fullAddon': 'adblockplus 2.3.2', 553 'fullAddon': 'adblockplus 2.3.2',
554 'application': 'firefox', 554 'application': 'firefox',
555 'applicationVersion': '22.0', 555 'applicationVersion': '22.0',
556 'fullApplication': 'firefox 22.0', 556 'fullApplication': 'firefox 22.0',
557 'platform': 'gecko', 557 'platform': 'gecko',
558 'platformVersion': '22.0', 558 'platformVersion': '22.0',
559 'fullPlatform': 'gecko 22.0', 559 'fullPlatform': 'gecko 22.0',
560 'downloadInterval': '2 hour(s)', 560 'downloadInterval': '2 hour(s)',
561 'previousDownload': 'same day', 561 'previousDownload': 'same day',
562 } 562 },
563 ), 563 ),
564 ( 564 (
565 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /easylist.txt?_=1 375446528229 HTTP/1.1" 200 326120 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/ 537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36" "-" https "nl-NL,n l;q=0.8,en-US;q=0.6,en;q=0.4" "easylist-downloads.adblockplus.org" "AdBlock/2.6. 2"', 565 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /easylist.txt?_=1 375446528229 HTTP/1.1" 200 326120 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/ 537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36" "-" https "nl-NL,n l;q=0.8,en-US;q=0.6,en;q=0.4" "easylist-downloads.adblockplus.org" "AdBlock/2.6. 2"',
566 { 566 {
567 'ip': '1.2.3.4', 567 'ip': '1.2.3.4',
568 'country': 'xy', 568 'country': 'xy',
569 'time': datetime(2013, 7, 31, 17, 33, 8), 569 'time': datetime(2013, 7, 31, 17, 33, 8),
570 'day': 31, 570 'day': 31,
571 'weekday': 2, 571 'weekday': 2,
572 'hour': 17, 572 'hour': 17,
(...skipping 11 matching lines...) Expand all
584 'addonVersion': '2.6.2', 584 'addonVersion': '2.6.2',
585 'fullAddon': 'chromeadblock 2.6.2', 585 'fullAddon': 'chromeadblock 2.6.2',
586 'application': 'unknown', 586 'application': 'unknown',
587 'applicationVersion': 'unknown', 587 'applicationVersion': 'unknown',
588 'fullApplication': 'unknown unknown', 588 'fullApplication': 'unknown unknown',
589 'platform': 'unknown', 589 'platform': 'unknown',
590 'platformVersion': 'unknown', 590 'platformVersion': 'unknown',
591 'fullPlatform': 'unknown unknown', 591 'fullPlatform': 'unknown unknown',
592 'downloadInterval': 'unknown', 592 'downloadInterval': 'unknown',
593 'previousDownload': 'unknown', 593 'previousDownload': 'unknown',
594 } 594 },
595 ), 595 ),
596 ( 596 (
597 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /easylistitaly.tx t HTTP/1.1" 200 85879 "-" "-" "-" https "-" "easylist-downloads.adblockplus.org" "-"', 597 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /easylistitaly.tx t HTTP/1.1" 200 85879 "-" "-" "-" https "-" "easylist-downloads.adblockplus.org" "-"',
598 { 598 {
599 'ip': '1.2.3.4', 599 'ip': '1.2.3.4',
600 'country': 'xy', 600 'country': 'xy',
601 'time': datetime(2013, 7, 31, 17, 33, 8), 601 'time': datetime(2013, 7, 31, 17, 33, 8),
602 'day': 31, 602 'day': 31,
603 'weekday': 2, 603 'weekday': 2,
604 'hour': 17, 604 'hour': 17,
(...skipping 11 matching lines...) Expand all
616 'addonVersion': 'unknown', 616 'addonVersion': 'unknown',
617 'fullAddon': 'unknown unknown', 617 'fullAddon': 'unknown unknown',
618 'application': 'unknown', 618 'application': 'unknown',
619 'applicationVersion': 'unknown', 619 'applicationVersion': 'unknown',
620 'fullApplication': 'unknown unknown', 620 'fullApplication': 'unknown unknown',
621 'platform': 'unknown', 621 'platform': 'unknown',
622 'platformVersion': 'unknown', 622 'platformVersion': 'unknown',
623 'fullPlatform': 'unknown unknown', 623 'fullPlatform': 'unknown unknown',
624 'downloadInterval': 'unknown', 624 'downloadInterval': 'unknown',
625 'previousDownload': 'unknown', 625 'previousDownload': 'unknown',
626 } 626 },
627 ), 627 ),
628 ( 628 (
629 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /easylistitaly.tp l HTTP/1.1" 200 85879 "-" "-" "-" https "-" "easylist-downloads.adblockplus.org" "-"', 629 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /easylistitaly.tp l HTTP/1.1" 200 85879 "-" "-" "-" https "-" "easylist-downloads.adblockplus.org" "-"',
630 { 630 {
631 'ip': '1.2.3.4', 631 'ip': '1.2.3.4',
632 'country': 'xy', 632 'country': 'xy',
633 'time': datetime(2013, 7, 31, 17, 33, 8), 633 'time': datetime(2013, 7, 31, 17, 33, 8),
634 'day': 31, 634 'day': 31,
635 'weekday': 2, 635 'weekday': 2,
636 'hour': 17, 636 'hour': 17,
637 'month': '201307', 637 'month': '201307',
638 'file': 'easylistitaly.tpl', 638 'file': 'easylistitaly.tpl',
639 'query': '', 639 'query': '',
640 'size': 85879, 640 'size': 85879,
641 'referrer': '-', 641 'referrer': '-',
642 'status': 200, 642 'status': 200,
643 'ua': 'Other', 643 'ua': 'Other',
644 'uaversion': '', 644 'uaversion': '',
645 'fullua': 'Other ', 645 'fullua': 'Other ',
646 'clientid': '-', 646 'clientid': '-',
647 } 647 },
648 ), 648 ),
649 ( 649 (
650 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /notification.jso n?addonName=adblockpluschrome&addonVersion=1.5.3&application=chrome&applicationV ersion=28.0.1500.72&platform=chromium&platformVersion=28.0.1500.72&lastVersion=2 01307292310 HTTP/1.1" 200 299 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36" "-" https', 650 '1.2.3.4 - - [31/Jul/2013:12:03:08 -0530] "GET /notification.jso n?addonName=adblockpluschrome&addonVersion=1.5.3&application=chrome&applicationV ersion=28.0.1500.72&platform=chromium&platformVersion=28.0.1500.72&lastVersion=2 01307292310 HTTP/1.1" 200 299 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36" "-" https',
651 { 651 {
652 'ip': '1.2.3.4', 652 'ip': '1.2.3.4',
653 'country': 'xy', 653 'country': 'xy',
654 'time': datetime(2013, 7, 31, 17, 33, 8), 654 'time': datetime(2013, 7, 31, 17, 33, 8),
655 'day': 31, 655 'day': 31,
656 'weekday': 2, 656 'weekday': 2,
657 'hour': 17, 657 'hour': 17,
(...skipping 12 matching lines...) Expand all
670 'fullAddon': 'adblockpluschrome 1.5.3', 670 'fullAddon': 'adblockpluschrome 1.5.3',
671 'application': 'chrome', 671 'application': 'chrome',
672 'applicationVersion': '28.0', 672 'applicationVersion': '28.0',
673 'fullApplication': 'chrome 28.0', 673 'fullApplication': 'chrome 28.0',
674 'platform': 'chromium', 674 'platform': 'chromium',
675 'platformVersion': '28.0', 675 'platformVersion': '28.0',
676 'fullPlatform': 'chromium 28.0', 676 'fullPlatform': 'chromium 28.0',
677 'downloadInterval': '1 day(s)', 677 'downloadInterval': '1 day(s)',
678 'previousDownload': '2 day(s)', 678 'previousDownload': '2 day(s)',
679 'firstInDay': True, 679 'firstInDay': True,
680 } 680 },
681 ), 681 ),
682 ] 682 ]
683 for line, expected_record in tests: 683 for line, expected_record in tests:
684 self.assertEqual(logprocessor.parse_record(line, set(), FakeGeo(), F akeGeo()), expected_record, "Parsing log line '%s'" % line) 684 self.assertEqual(logprocessor.parse_record(line, set(), FakeGeo(), F akeGeo()), expected_record, "Parsing log line '%s'" % line)
685 685
686 def test_record_adding(self): 686 def test_record_adding(self):
687 tests = [ 687 tests = [
688 ( 688 (
689 {'size': 200}, 689 {'size': 200},
690 {}, 690 {},
(...skipping 24 matching lines...) Expand all
715 (), 715 (),
716 {'hits': 13, 'bandwidth': 230, 'ua': {'Foo': {'hits': 22, 'bandw idth': 1400}}}, 716 {'hits': 13, 'bandwidth': 230, 'ua': {'Foo': {'hits': 22, 'bandw idth': 1400}}},
717 ), 717 ),
718 ( 718 (
719 {'size': 200, 'ua': 'Foo', 'addonName': 'bar'}, 719 {'size': 200, 'ua': 'Foo', 'addonName': 'bar'},
720 {}, 720 {},
721 (), 721 (),
722 { 722 {
723 'hits': 1, 'bandwidth': 200, 723 'hits': 1, 'bandwidth': 200,
724 'ua': {'Foo': {'hits': 1, 'bandwidth': 200, 'addonName': {'b ar': {'hits': 1, 'bandwidth': 200}}}}, 724 'ua': {'Foo': {'hits': 1, 'bandwidth': 200, 'addonName': {'b ar': {'hits': 1, 'bandwidth': 200}}}},
725 'addonName': {'bar': {'hits': 1, 'bandwidth': 200, 'ua': {'F oo': {'hits': 1, 'bandwidth': 200}}}} 725 'addonName': {'bar': {'hits': 1, 'bandwidth': 200, 'ua': {'F oo': {'hits': 1, 'bandwidth': 200}}}},
726 }, 726 },
727 ), 727 ),
728 ( 728 (
729 {'size': 200, 'ua': 'Foo', 'addonName': 'bar', 'platform': 'xyz' }, 729 {'size': 200, 'ua': 'Foo', 'addonName': 'bar', 'platform': 'xyz' },
730 {}, 730 {},
731 ('platform',), 731 ('platform',),
732 { 732 {
733 'hits': 1, 'bandwidth': 200, 733 'hits': 1, 'bandwidth': 200,
734 'ua': {'Foo': {'hits': 1, 'bandwidth': 200}}, 734 'ua': {'Foo': {'hits': 1, 'bandwidth': 200}},
735 'addonName': {'bar': {'hits': 1, 'bandwidth': 200}} 735 'addonName': {'bar': {'hits': 1, 'bandwidth': 200}},
736 }, 736 },
737 ), 737 ),
738 ] 738 ]
739 for info, section, ignored_fields, expected_result in tests: 739 for info, section, ignored_fields, expected_result in tests:
740 logprocessor.add_record(info, section, ignored_fields) 740 logprocessor.add_record(info, section, ignored_fields)
741 self.assertEqual(section, expected_result) 741 self.assertEqual(section, expected_result)
742 742
743 743
744 if __name__ == '__main__': 744 if __name__ == '__main__':
745 unittest.main() 745 unittest.main()
OLDNEW
« no previous file with comments | « sitescripts/stats/test/common.py ('k') | sitescripts/submit_email/web/submit_email.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld